2.2.4.57 SMB_COM_QUERY_INFORMATION_DISK (0x80)

This is an original Core Protocol command. This command is deprecated. New client implementations SHOULD use the SMB_COM_TRANSACTION2 command along with a subcommand of TRANS2_QUERY_FS_INFORMATION.

This command MAY be sent by a client to obtain the capacity and remaining free space on the volume hosting the subtree indicated by the TID in the SMB Header (section 2.2.3.1). The client MUST provide a valid TID in the SMB Header. The TID SHOULD have been acquired through a previously successful use of one of the SMB commands for connecting to a subtree.

The block or allocation units used in the response MAY be independent of the actual physical or logical allocation algorithm(s) used internally by the server. However, they MUST accurately reflect the amount of space on the server.

The response returns only 16 bits of information for each field. It is possible that some system require more than this amount of information. TotalUnits is commonly much larger than 65,535. However, the typical client relies on total disk size in bytes, and the free space in bytes. Hence the server SHOULD adjust the relative values of BlocksPerUnit and BlockSize to achieve the most accurate representation possible, given the 16-bit restriction. If after all adjustment, the values still exceed a 16-bit representation, the largest possible values for TotalUnits or FreeUnits (0xFFFF) SHOULD be returned.