2.3.30 FSCTL_GET_RETRIEVAL_POINTER_COUNT Reply
The FSCTL_GET_RETRIEVAL_POINTER_COUNT reply message returns the results of the FSCTL_GET_RETRIEVAL_POINTER_COUNT request as a fixed size data element, RETRIEVAL_POINTER_COUNT, that specifies the number of extents on disk of a specific file.
The FSCTL_GET_RETRIEVAL_POINTER_COUNT reply returns the number of extents of nonresident data. A file system MAY allow resident data, which is data that can be written to disk within the file's directory record. Because resident data requires no additional disk space allocation, no extent locations are associated with resident data.<30>
The RETRIEVAL_POINTER_COUNT data element is as follows.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ExtentCount |
ExtentCount (4 bytes): A 32-bit unsigned integer that contains the number of extents. This number can be zero if there are no clusters allocated at (or beyond) the specified StartingVcn.
This message also returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this FSCTL is STATUS_SUCCESS. The most common error codes are listed in the following table.
Error code |
Meaning |
---|---|
STATUS_BUFFER_TOO_SMALL 0xC0000023 |
The output buffer is too small to contain a RETRIEVAL_POINTER_COUNT structure. |
STATUS_INVALID_PARAMETER 0xC000000D |
The input buffer is too small to contain a STARTING_VCN_INPUT_BUFFER, or the StartingVcn given is negative, or the handle is not to a file or directory. |
STATUS_END_OF_FILE 0xC0000011 |
The stream is resident in the MFT and has no clusters allocated, or the starting VCN is beyond the end of the file. |