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. 使用 CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO调用 ClusterResourceControl 函数,在每个枚举的物理磁盘资源 搜索卷。 如果在群集中的物理磁盘资源中找不到该卷,则表示该卷不驻留在物理磁盘资源上。

ERROR_INVALID_FUNCTION错误指示当前拥有卷所在的磁盘的计算机不是服务器群集节点,或者该磁盘不是物理磁盘资源。 若要确定计算机是否为服务器群集节点,请调用 GetNodeClusterState 函数。

在 Windows 8 和 Windows Server 2012 中,以下技术支持此代码。

技术 支持
服务器消息块 (SMB) 3.0 协议
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CSV)

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅