Export (0) Print
Expand All

The server provides:

  • Open: An Open of a DataFile or DirectoryFile.

On completion, the object store MUST return:

  • Status: An NTSTATUS code that specifies the result.

Support for this operation is optional. If the object store does not implement this functionality, the operation MUST be failed with STATUS_INVALID_DEVICE_REQUEST.<55>

Pseudocode for the operation is as follows:

  • If Open.File.Volume.IsObjectIDsSupported is FALSE, the operation MUST be failed with STATUS_VOLUME_NOT_UPGRADED.

  • If Volume.IsReadOnly is TRUE, the operation MUST be failed with STATUS_MEDIA_WRITE_PROTECTED.

  • If Open.File.ObjectId is empty, the operation MUST be completed with STATUS_SUCCESS.

  • Update Open.File.LastChangeTime to the current time.<56>

  • Post a USN change as per section with File equal to File, Reason equal to USN_REASON_OBJECT_ID_CHANGE, and FileName equal to Open.Link.Name.

  • Set Open.File.ObjectId to empty.

  • Upon successful completion of the operation, the object store MUST return:

    • Status set to STATUS_SUCCESS.

© 2014 Microsoft