Platform SDK: Hardware

RETRIEVAL_POINTERS_BUFFER

The RETRIEVAL_POINTERS_BUFFER structure is the output for the DeviceIoControl FSCTL_GET_RETRIEVAL_POINTERS operation.

typedef struct RETRIEVAL_POINTERS_BUFFER {
  DWORD ExtentCount;
  LARGE_INTEGER StartingVcn;
  struct {
      LARGE_INTEGER NextVcn;
      LARGE_INTEGER Lcn;
  } Extents[1];
} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;

Members

ExtentCount
The count of Extents structure elements in the present RETRIEVAL_POINTERS_BUFFER structure.
StartingVcn
The starting VCN returned by the function call. This is not necessarily the VCN requested by the function call, as the file system driver may round down to the first VCN of the extent in which the requested starting VCN is found.
Extents
An array of Extents structures. For the number of members in the array, see ExtentCount. Each member of the array has the following members:
Member Meaning
NextVcn The VCN at which the next extent begins. This value minus either StartingVcn (for the first Extents array member) or the NextVcn of the previous member of the array (for all other Extents array members) is the length, in clusters, of the current extent. The length is an input to the DeviceIoControl FSCTL_MOVE_FILE operation.
Lcn The LCN at which the current extent begins on the volume. This value is an input to the DeviceIoControl FSCTL_MOVE_FILE operation. On NTFS, the value (LONGLONG) –1 indicates either a compression unit which is partially allocated, or an unallocated region of a sparse file.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Unsupported.
  Header: Declared in Winioctl.h.

See Also

Device Input and Output Overview, Device Input and Output Structures, Defragmentation, DeviceIoControl, FSCTL_GET_RETRIEVAL_POINTERS, FSCTL_MOVE_FILE