FS_FileAttributes(
PIOREQ pir
)
File attributes are set and retrieved and file system information is returned through FS_FileAttributes. This routine handles the Win32 functions: GetAttributesFile(), SetAttributesFile() and GetVolumeInfo(); and INT 21h function: 43h.
Command Type Values:
One of the following types will be specified. |
|
Value | Meaning |
---|---|
GET_ATTRIBUTES | Get the file attributes. |
SET_ATTRIBUTES | Set the file attributes. |
GET_ATTRIB_COMP_FILESIZE | Return the uncompressed size in bytes for the specified file or directory. Note that the root directory also has a valid physical size. |
SET_ATTRIB_MODIFY_DATETIME | Set the last modification date for the file. |
GET_ATTRIB_MODIFY_DATETIME | Get the last modification date for the file. |
SET_ATTRIB_LAST_ACCESS_DATETIME | Set the last access date for the file. |
GET_ATTRIB_LAST_ACCESS_DATETIME | Get the last access date for the file. |
SET_ATTRIB_CREATION_DATETIME | Set the creation date for the file. |
GET_ATTRIB_CREATION_DATETIME | Get the creation date for the file. |
Attribute Values:
Any combination of the following attributes may be specified on the SET_ATTRIBUTES command. |
|
Value | Meaning |
---|---|
FILE_ATTRIBUTE_READONLY | Read-Only file. |
FILE_ATTRIBUTE_HIDDEN | Hidden file. |
FILE_ATTRIBUTE_SYSTEM | System file. |
FILE_ATTRIBUTE_ARCHIVE | Archive file. |
Path Parsing Flags:
The following path parsing flags are passed in. |
|
FILE_FLAG_LONG_PATH | Path has a longname component. |
FILE_FLAG_KEEP_CASE | Preserve the case of the filename passed in when storing on disk. This also implies that this call should use longname semantics for its processing. |
FILE_FLAG_HAS_DOT | Filename component has a dot in its name. |
FILE_FLAG_IS_LFN | Filename component is a longname. |
ir_error | Returns status of the operation ( 0 if no error, errorcode otherwise ). |
Operation Type GET_ATTRIBUTES: | |
Value | Meaning |
---|---|
ir_attr | Returns current attributes of the file on a GET_ATTRIBUTES command. |
Operation Type GET_ATTRIBUTES or GET_ATTRIB_COMP_FILESIZE: | |
ir_size | Returns the physical (uncompressed) size in bytes of the file or directory specified. |
Operation Type GET_ATTRIB_*: | |
ir_dostime | Returns the current file date and time on all the get commands. The date and time is in DOS format. For SET_LAST_ACCESS_DATETIME, if only the date is supported, the time field should be set to 0. |
ir_options | Returns the 10 millisecond interval on the SET_ATTRIB_CREATION_DATETIME function. |
If an FSD does not support long filenames on a volume and it gets a LFN API call on that volume, it should fail the call. The function should not be failed if any of the date and time fields are not supported by a particular file system. A value of 0 should be returned in those date and time fields that are not supported.