FSCTL_ENUM_USN_DATA IOCTL (winioctl.h)

列舉兩個指定界限之間的更新序號 (USN) 資料,以取得主要檔案資料表 (MFT) 記錄。

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

C++
BOOL 
WINAPI 
DeviceIoControl( (HANDLE) hDevice,              // handle to volume
                 (DWORD) FSCTL_ENUM_USN_DATA,   // 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);

備註

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

若要列舉磁片區上的檔案,請使用 FSCTL_ENUM_USN_DATA 作業一或多次。 在第一次呼叫時,將MFT_ENUM_DATA結構的 (DWORDLONG)0StartFileReferenceNumber成員設定為 。 每次呼叫 FSCTL_ENUM_USN_DATA 擷取後續呼叫的起點做為輸出緩衝區中的第一個專案。

藉由比較 若要識別磁片區最近的變更,請使用 FSCTL_READ_USN_JOURNAL 控制程式代碼。

若要擷取磁片區的控制碼,請使用下列格式的lpFileName參數來呼叫CreateFile

\\.\X

在上述字串中, X 是識別磁片區出現所在磁片磁碟機的字母。 磁片區必須是 NTFS。

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

另請參閱

CreateFile

DeviceIoControl

FSCTL_READ_USN_JOURNAL

GetOverlappedResult

MFT_ENUM_DATA

重疊

USN_RECORD

磁碟區管理控制碼