Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic

2.1.5.9.30 FSCTL_SET_OBJECT_ID

The server provides:

  • Open: An Open of a DataFile or DirectoryFile.

  • InputBuffer: An array of bytes containing a FILE_OBJECTID_BUFFER structure as specified in [MS-FSCC] section 2.1.3.

  • InputBufferSize: The number of bytes in InputBuffer.

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.<89>

Pseudocode for the operation is as follows:

  • If InputBufferSize is not equal to sizeof(FILE_OBJECTID_BUFFER), the operation MUST be failed with STATUS_INVALID_PARAMETER.

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

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

  • If Open.HasRestoreAccess is FALSE, the operation MUST be failed with STATUS_ACCESS_DENIED.

  • If Open.File.ObjectId is not empty, the operation MUST be failed with STATUS_OBJECT_NAME_COLLISION.

  • If InputBuffer.ObjectId is not unique on Open.File.Volume, the operation MUST be failed with STATUS_DUPLICATE_NAME.

  • Before completing the operation successfully, the object store MUST set:

    • Open.File.LastChangeTime to the current time.<90>

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

    • Open.File.ObjectId to InputBuffer.ObjectId.

    • Open.File.BirthVolumeId to InputBuffer.BirthVolumeId.

    • Open.File.BirthObjectId to InputBuffer.BirthObjectId.

    • Open.File.DomainId to InputBuffer.DomainId.

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

  • Status set to STATUS_SUCCESS.

 
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.