2.1.5.10.23 FSCTL_QUERY_FAT_BPB

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

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 the first 0x24 bytes of sector zero, on a FAT volume.

  • BytesReturned: The number of bytes returned in OutputBuffer.

Pseudocode for the operation is as follows:

  • If OutputBufferSize is less than 0x24, the operation MUST be failed with STATUS_BUFFER_TOO_SMALL.

  • The operation will now copy the first 0x24 bytes of sector 0 of the storage device associated with Open.File.Volume into OutputBuffer.

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

    • BytesReturned set to 0x24.

    • Status set to STATUS_SUCCESS.