FSCTL_GET_RETRIEVAL_POINTERS IOCTL (winioctl.h)

Ruft bei Verwendung eines Dateihandles eine Datenstruktur ab, die die Zuordnung und den Speicherort einer bestimmten Datei auf dem Datenträger oder bei einem Volumehandle die Speicherorte fehlerhafter Cluster auf einem Volume beschreibt.

Um diesen Vorgang auszuführen, rufen Sie die Funktion DeviceIoControl mit den folgenden Parametern auf.

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
);

Hinweise

Der vorgang FSCTL_GET_RETRIEVAL_POINTERS ruft eine Datenstruktur mit unterschiedlicher Größe ab, die die Zuordnung und den Speicherort einer bestimmten Datei auf dem Datenträger beschreibt. Die -Struktur beschreibt die Zuordnung zwischen virtuellen Clusternummern (VCN-Offsets innerhalb des Datei- oder Streambereichs) und logischen Clusternummern (LCN-Offsets innerhalb des Volumebereichs).

Der FSCTL_GET_RETRIEVAL_POINTERS-Steuerungscode wird für Datei- oder Verzeichnisvorgänge auf NTFS-, FAT-, exFAT-, UDF- und ReFS-Dateisystemen unterstützt.

Auf unterstützten Dateisystemen gibt der vorgang FSCTL_GET_RETRIEVAL_POINTERS die Ausdehnungsspeicherorte von Nichtidentdaten zurück. Gebietsansässige Daten verfügen nie über Ausdehnungsspeicherorte.

Der FSCTL_GET_RETRIEVAL_POINTERS-Steuerelementcode unterstützt auch die alternative Funktionalität zum Auffinden fehlerhafter Cluster. Um die Speicherorte fehlerhafter Cluster auf einem Volume abzufragen, das mit NTFS, FAT oder exFAT formatiert ist, verwenden Sie ein Volumehandle als hDevice-Parameter . Diese Funktionalität wird nur unter NTFS, FAT und exFAT unterstützt, und der Aufrufer muss über MANAGE_VOLUME_ACCESS Berechtigung für das Volume verfügen.

Die Auswirkungen von überlappenden E/A-Vorgängen auf diesen Vorgang finden Sie im Abschnitt Hinweise des Themas DeviceIoControl .

In Windows 8 und Windows Server 2012 wird dieser Code von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) No
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) No
Dateisystem mit freigegebenen Clustervolumes (CsvFS) Ja

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winioctl.h (windows.h einschließen)

Weitere Informationen