2.2.1.2.3 SMB_EXT_FILE_ATTR
A 32-bit field containing encoded file attribute values and file access behavior flag values. The attribute and flag value names are for reference purposes only. If ATTR_NORMAL (see following) is set as the requested attribute value, it MUST be the only attribute value set. Including any other attribute value causes the ATTR_NORMAL value to be ignored. Any combination of the flag values (see following) is acceptable.<14>
This type is declared as follows:
-
typedef DWORD SMB_EXT_FILE_ATTR;
Name and bitmask |
Meaning |
---|---|
ATTR_READONLY 0x00000001 |
The file is read only. Applications can read the file but cannot write to it or delete it. |
ATTR_HIDDEN 0x00000002 |
The file is hidden. It is not to be included in an ordinary directory listing. |
ATTR_SYSTEM 0x00000004 |
The file is part of or is used exclusively by the operating system. |
ATTR_DIRECTORY 0x00000010 |
The file is a directory. |
ATTR_ARCHIVE 0x00000020 |
The file has not been archived since it was last modified. |
ATTR_NORMAL 0x00000080 |
The file has no other attributes set. This attribute is valid only if used alone. |
ATTR_TEMPORARY 0x00000100 |
The file is temporary. This is a hint to the cache manager that it does not need to flush the file to backing storage. |
ATTR_COMPRESSED 0x00000800 |
The file or directory is compressed. For a file, this means that all of the data in the file is compressed. For a directory, this means that compression is the default for newly created files and subdirectories. |
POSIX_SEMANTICS 0x01000000 |
Indicates that the file is to be accessed according to POSIX rules. This includes allowing multiple files with names differing only in case, for file systems that support such naming.<15> |
BACKUP_SEMANTICS 0x02000000 |
Indicates that the file is being opened or created for a backup or restore operation. The server SHOULD allow the client to override normal file security checks, provided it has the necessary permission to do so. |
DELETE_ON_CLOSE 0x04000000 |
Requests that the server delete the file immediately after all of its handles have been closed. |
SEQUENTIAL_SCAN 0x08000000 |
Indicates that the file is to be accessed sequentially from beginning to end.<16> |
RANDOM_ACCESS 0x10000000 |
Indicates that the application is designed to access the file randomly. The server can use this flag to optimize file caching. |
NO_BUFFERING 0x20000000 |
Requests that the server open the file with no intermediate buffering or caching; the server might not honor the request. The application MUST meet certain requirements when working with files opened with FILE_FLAG_NO_BUFFERING. File access MUST begin at offsets within the file that are integer multiples of the volume's sector size and MUST be for numbers of bytes that are integer multiples of the volume's sector size. For example, if the sector size is 512 bytes, an application can request reads and writes of 512, 1024, or 2048 bytes, but not of 335, 981, or 7171 bytes. |
WRITE_THROUGH 0x80000000 |
Instructs the operating system to write through any intermediate cache and go directly to the file. The operating system can still cache write operations, but cannot lazily flush them. |