Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

2.1.5.9.12 FSCTL_GET_OBJECT_ID

The server provides:

  • Open: An Open of a DataFile or DirectoryFile.

  • OutputBufferSize: The maximum number of bytes to return in OutputBuffer.

On completion, the object store MUST return:

  • Status: An NTSTATUS code that specifies the result.

  • OutputBuffer: An array of bytes that will return a FILE_OBJECTID_BUFFER structure as specified in [MS-FSCC] section 2.1.3.

  • BytesReturned: The number of bytes returned in OutputBuffer.

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

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 OutputBufferSize is less than sizeof(FILE_OBJECTID_BUFFER), the operation MUST be failed with STATUS_INVALID_PARAMETER.

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

  • The object store MUST populate the fields of OutputBuffer as follows:

    • OutputBuffer.ObjectId set to Open.File.ObjectId.

    • OutputBuffer.BirthVolumeId set to Open.File.BirthVolumeId.

    • OutputBuffer.BirthObjectId set to Open.File.BirthObjectId.

    • OutputBuffer.DomainId set to empty.

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

    • BytesReturned set to sizeof (FILE_OBJECTID_BUFFER).

    • Status set to STATUS_SUCCESS.

Show:
© 2015 Microsoft