次の方法で共有


FSCTL_READ_FILE_USN_DATA IOCTL (winioctl.h)

指定したファイルまたはディレクトリの更新シーケンス番号 (USN) 変更履歴情報を取得します。

この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。

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

備考

呼び出しが成功した場合、返された USN_RECORD_V2 または USN_RECORD_V3 構造体のメンバーは、TimeStamp、Reason、および sourceInfoメンバーを除いて有効です。 Usn メンバーは、このファイルまたはディレクトリのジャーナルに書き込まれた最後の USN を表します。

詳細については、「変更履歴の作成、変更、および削除の を参照してください。

ボリュームへのハンドルを取得するには、lpFileName パラメーターを次の形式の文字列に設定して CreateFile を呼び出します。

\\.\X:

上記の文字列では、X は、ボリュームが表示されるドライブを識別する文字です。 ボリュームは ReFS または NTFS 3.0 以降である必要があります。 ボリュームの NTFS バージョンを取得するには、管理者アクセス権を持つコマンド プロンプトを開き、次のコマンドを実行します。

FSUtil.exe FSInfo NTFSInfo X:

ここで、X はボリュームのドライブ文字です。

Windows 8 および Windows Server 2012 では、このコードは次のテクノロジでサポートされています。

テクノロジー サポート
サーバー メッセージ ブロック (SMB) 3.0 プロトコル いいえ
SMB 3.0 透過的フェールオーバー (TFO) いいえ
SMB 3.0 とスケールアウト ファイル共有 (SO) いいえ
クラスター共有ボリューム ファイル システム (CsvFS) はい

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー winioctl.h (Windows.h を含む)

関連項目

CreateFile の

DeviceIoControl の

USN_RECORD

ボリューム管理コントロール コード を する