FSCTL_GET_OBJECT_ID IOCTL (winioctl.h)

指定したファイルまたはディレクトリのオブジェクト識別子を取得します。

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

BOOL DeviceIoControl(
  (HANDLE) hDevice,           // handle to device
  FSCTL_GET_OBJECT_ID,        // dwIoControlCode
  NULL,                       // lpInBuffer
  0,                          // nInBufferSize
  (LPVOID) lpOutBuffer,       // output buffer
  (DWORD) nOutBufferSize,     // size of output buffer
  (LPDWORD) lpBytesReturned,  // number of bytes returned
  (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);

注釈

オブジェクト識別子は、ファイルとディレクトリを追跡するために使用されます。 ほとんどのアプリケーションでは見えなくなり、アプリケーションによって変更されるべきではありません。 オブジェクト識別子を変更すると、ファイルの一部から、データのボリューム全体までのデータが失われる可能性があります。

指定したハンドルに関連付けられているオブジェクト識別子がない場合は、何も作成されません。エラーが返されます。 オブジェクト識別子を作成するには、 FSCTL_SET_OBJECT_IDを使用します。 既存のオブジェクト識別子を取得するか、1 つのステップで既存のオブジェクト識別子がない場合に生成するには、FSCTL_CREATE_OR_GET_OBJECT_IDを使用 します

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

テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル はい
SMB 3.0 Transparent Failover (TFO) はい
スケールアウト ファイル共有 (SO) を使う SMB 3.0 はい
クラスターの共有ボリューム ファイル システム (CsvFS) はい
Resilient File System (ReFS) いいえ

要件

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

こちらもご覧ください