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 which 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 upto 10milliseconds, the new parameter specifying the number of 10 millisecond intervals beyond the 2 second precision already stored in the DOS time.