IOCTL_VOLUME_IS_CLUSTERED IOCTL (winioctl.h)

指定したボリュームがクラスター化されているかどうかを判断します。

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

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

注釈

IOCTL_VOLUME_IS_CLUSTERED制御コードは、クラスター サービスが実行されている場合にのみ有効です。

ERROR_GEN_FAILURE エラーは、ボリュームが存在するディスクを現在所有しているコンピューターがサーバー クラスター ノードですが、ディスクが現在オフライン状態の物理ディスク リソースであるか、ディスクが物理ディスク リソースではないことを示します。 これらの状況のうちどれが存在するかを判断するには、次の手順を使用します。

  1. ClusterEnum 関数を呼び出して、クラスター内のすべての物理ディスク リソースを列挙します。
  2. clusterResourceControl 関数をCLUSCTL_RESOURCE_STORAGE_GET_DISK_INFOで呼び出して、列挙された物理ディスク リソースごとにボリュームを検索します。 クラスター内の物理ディスク リソース間でボリュームが見つからない場合、ボリュームは物理ディスク リソースに存在しません。

ERROR_INVALID_FUNCTION エラーは、ボリュームが存在するディスクを現在所有しているコンピューターがサーバー クラスター ノードではないか、ディスクが物理ディスク リソースではないことを示します。 コンピューターがサーバー クラスター ノードかどうかを確認するには、 GetNodeClusterState 関数を呼び出します。

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

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

必要条件

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

こちらもご覧ください