Share via


FSCTL_GET_RETRIEVAL_POINTERS IOCTL (winioctl.h)

Dado un identificador de archivo, recupera una estructura de datos que describe la asignación y la ubicación en el disco de un archivo específico, o bien, dado un identificador de volumen, las ubicaciones de clústeres incorrectos en un volumen.

Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.

DeviceIoControl(
  (HANDLE) hDevice,                 // handle to file, directory, or volume
  FSCTL_GET_RETRIEVAL_POINTERS,     // dwIoControlCode
  (LPVOID) lpInBuffer,              // input buffer
  (DWORD) nInBufferSize,            // size of input buffer
  (LPVOID) lpOutBuffer,             // output buffer
  (DWORD) nOutBufferSize,           // size of output buffer
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

Comentarios

La operación de FSCTL_GET_RETRIEVAL_POINTERS recupera una estructura de datos de tamaño variable que describe la asignación y la ubicación en el disco de un archivo específico. La estructura describe la asignación entre números de clúster virtual (desplazamientos de VCN dentro del espacio de secuencia o archivo) y números de clúster lógicos (desplazamientos de LCN dentro del espacio de volumen).

El código de control de FSCTL_GET_RETRIEVAL_POINTERS es compatible con las operaciones de archivos o directorios en sistemas de archivos NTFS, FAT, exFAT, UDF y ReFS.

En los sistemas de archivos admitidos, la operación FSCTL_GET_RETRIEVAL_POINTERS devuelve las ubicaciones de extensión de los datos noident. Los datos residentes nunca tienen ubicaciones de extensión.

El código de control FSCTL_GET_RETRIEVAL_POINTERS también admite la funcionalidad alternativa de buscar clústeres incorrectos. Para consultar las ubicaciones de clústeres incorrectos en un volumen con formato NTFS, FAT o exFAT, use un identificador de volumen como parámetro hDevice . Esta funcionalidad solo se admite en NTFS, FAT y exFAT, y el autor de la llamada debe tener MANAGE_VOLUME_ACCESS permiso para el volumen.

Para conocer las implicaciones de la E/S superpuesta en esta operación, consulte la sección Comentarios del tema DeviceIoControl .

En Windows 8 y Windows Server 2012, este código es compatible con las siguientes tecnologías.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0 No
Conmutación por error transparente (TFO) de SMB 3.0 No
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) No
Sistema de archivos de Volumen compartido de clúster (CsvFS)

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winioctl.h (incluye Windows.h)

Consulte también