2.1.5.10.25 FSCTL_QUERY_ON_DISK_VOLUME_INFO

The server provides:

  • Open: An Open of a DataFile.

  • 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_QUERY_ON_DISK_VOL_INFO_BUFFER structure as defined in [MS-FSCC] section 2.3.58.

  • 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.<108>

Pseudocode for the operation is as follows:

  • If OutputBufferSize is less than sizeof(FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), the operation MUST be failed with STATUS_BUFFER_TOO_SMALL.

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

    • OutputBuffer.DirectoryCount set to Open.File.Volume.DirectoryCount.

    • OutputBuffer.FileCount set to Open.File.Volume.FileCount.

    • OutputBuffer.FsFormatMajVersion set to Open.File.Volume.FsFormatMajVersion.

    • OutputBuffer.FsFormatMinVersion set to Open.File.Volume.FsFormatMinVersion.

    • OutputBuffer.FsFormatName set to the Unicode string "UDF".

    • OutputBuffer.FormatTime set to Open.File.Volume.FormatTime.

    • OutputBuffer.LastUpdateTime set to Open.File.Volume.LastUpdateTime.

    • OutputBuffer.CopyrightInfo set to Open.File.Volume.CopyrightInfo.

    • OutputBuffer.AbstractInfo set to Open.File.Volume.AbstractInfo.

    • OutputBuffer.FormattingImplementationInfo set to Open.File.Volume.FormattingImplementationInfo.

    • OutputBuffer.LastModifyingImplementationInfo set to Open.File.Volume.LastModifyingImplementationInfo.

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

    • BytesReturned set to sizeof(FILE_QUERY_ON_DISK_VOL_INFO_BUFFER).

    • Status set to STATUS_SUCCESS.