FS_FileDateTime

FS_FileDateTime(
 PIOREQ pir
 )
 

The file modification date and time is set and retrieved through FS_FileDateTime. This routine handles the INT 21h function: 57h.

ir_rh
Supplies handle to disk volume or network resource that contains the file.
ir_fh
Supplies FSD file handle.
ir_sfn
Supplies system file number.
ir_flags
Supplies desired command type to perform.
Command Type Values:

One of the following types will be specified.

 
Value Meaning
GET_MODIFY_DATETIME Get the file modification date and time.
SET_MODIFY_DATETIME Set the file modification date and time.
GET_LAST_ACCESS_DATETIME Get the last access date and time for the file.
SET_LAST_ACCESS_DATETIME Set the last access date and time for the file.
GET_CREATION_DATE_TIME Get the creation date and time for the file.
SET_CREATION_DATE_TIME Set the creation date and time for the file.

ir_dostime
Supplies new date and time for file on all the set commands. The date and time is in DOS format. For SET_LAST_ACCESS_DATETIME, the time field may be 0 indicating that last access time is not supported.
ir_options
Supplies the 10 millisecond intervals for additional precision for the creation time. This field is valid only on the SET_CREATION_DATE_TIME command.
ir_user
Supplies user ID for this request.
ir_pid
Supplies process ID for this request.
ir_error Returns status of the operation ( 0 if no error, errorcode otherwise ).
ir_dostime Returns current file date and time on all the get commands. The date and time is in DOS format. For GET_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 GET_CREATION_DATE_TIME.

Any fields that are not supported will have an input value if zero. If the FSD does not support any of the date and time fields it should return 0 and not fail the call. The creation time has additional precision over the normal DOS time of 2-second intervals - it gives a precision up to 10 milliseconds, the new parameter specifying the number of 10 millisecond intervals beyond the 2 second precision already stored in the DOS time.