Condividi tramite


FSCTL_GET_RETRIEVAL_POINTERS IOCTL (winioctl.h)

Dato un handle di file, recupera una struttura di dati che descrive l'allocazione e la posizione su disco di un file specifico oppure, dato un handle di volume, i percorsi dei cluster non valido in un volume.

Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.

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

Commenti

L'operazione di FSCTL_GET_RETRIEVAL_POINTERS recupera una struttura di dati di dimensioni variabili che descrive l'allocazione e il percorso su disco di un file specifico. La struttura descrive il mapping tra i numeri del cluster virtuale (offset VCN all'interno dello spazio di file o flusso) e i numeri di cluster logici (offset LCN all'interno dello spazio del volume).

Il codice di controllo FSCTL_GET_RETRIEVAL_POINTERS è supportato per le operazioni di file o directory nei file system NTFS, FAT, exFAT, UDF e ReFS.

Nei file system supportati, l'operazione di FSCTL_GET_RETRIEVAL_POINTERS restituisce i percorsi extent dei dati non rientri. I dati residenti non hanno mai posizioni extent.

Il codice di controllo FSCTL_GET_RETRIEVAL_POINTERS supporta anche la funzionalità alternativa di individuazione di cluster non valido. Per eseguire una query per i percorsi dei cluster non corretti in un volume formattato con NTFS, FAT o exFAT, usare un handle di volume come parametro hDevice . Questa funzionalità è supportata solo in NTFS, FAT e exFAT e il chiamante deve avere MANAGE_VOLUME_ACCESS l'autorizzazione per il volume.

Per le implicazioni dell'I/O sovrapposto in questa operazione, vedere la sezione Osservazioni dell'argomento DeviceIoControl .

In Windows 8 e Windows Server 2012 questo codice è supportato dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0 No
Failover trasparente SMB 3.0 (TFO) No
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) No
File system del volume condiviso cluster (CsvFS)

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winioctl.h (include Windows.h)

Vedi anche