FSCTL_GET_RETRIEVAL_POINTERS IOCTL (winioctl.h)

指定檔句柄時,擷取數據結構來描述特定檔案磁碟上的配置和位置,或指定磁碟區句柄、磁碟區上不正確的叢集位置。

若要執行這項作業,請使用下列參數呼叫 DeviceIoControl 函 式。

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

備註

FSCTL_GET_RETRIEVAL_POINTERS作業會擷取可描述特定檔案磁碟上配置和位置的可變大小數據結構。 結構描述檔案或數據流空間) 內虛擬叢集編號 (VCN 位移與磁碟區空間內 LCN 位移 (LCN 位移之間的對應) 。

NTFS、FAT、exFAT、UDF 和 ReFS 檔案系統上的檔案或目錄作業支援 FSCTL_GET_RETRIEVAL_POINTERS 控件程式代碼。

在支援的文件系統上, FSCTL_GET_RETRIEVAL_POINTERS 作業會傳回非其他數據的範圍位置。 常駐數據永遠不會有範圍位置。

FSCTL_GET_RETRIEVAL_POINTERS控件程式代碼也支持尋找不正確的叢集的替代功能。 若要查詢格式化為NTFS、FAT或exFAT的磁碟區上不正確的叢集位置,請使用磁碟區句柄作為 hDevice 參數。 此功能僅在NTFS、FAT和exFAT上受到支援,而且呼叫端必須具有 磁碟區MANAGE_VOLUME_ACCESS 許可權。

如需此作業上重疊 I/O 的影響,請參閱 DeviceIoControl 主題的一節。

在 Windows 8 和 Windows Server 2012 中,下列技術支援此程序代碼。

技術 支援
伺服器消息塊 (SMB) 3.0 通訊協定 No
SMB 3.0 透明故障轉移 (TFO) No
具有向外延展檔案共用的SMB 3.0 (SO) No
叢集共用磁碟區文件系統 (CsvFS) Yes

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 winioctl.h (包含 Windows.h)

另請參閱