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