IVdsHwProviderStoragePools::QueryStoragePools 方法 (vds.h)

[从 Windows 8 和 Windows Server 2012 开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]

返回包含由硬件提供程序管理的存储池列表的 IEnumVdsObject 枚举对象。

语法

HRESULT QueryStoragePools(
  [in]  ULONG               ulFlags,
  [in]  ULONGLONG           ullRemainingFreeSpace,
  [in]  VDS_POOL_ATTRIBUTES *pPoolAttributes,
  [out] IEnumVdsObject      **ppEnum
);

参数

[in] ulFlags

一个或多个 VDS_STORAGE_POOL_TYPE 标志的位掩码,这些标志指定要查询的存储池的类型。 其中一个标志必须是VDS_SPT_CONCRETE或VDS_SPT_PRIMORDIAL。 此参数的默认值为零。 值为零表示应查询所有存储池。

[in] ullRemainingFreeSpace

每个存储池必须包含的最小可用空间量(以字节为单位)。 此参数的默认值为零。 值为零表示存储池可以包含任意数量的可用空间。

[in] pPoolAttributes

指向 VDS_POOL_ATTRIBUTES 结构的指针,该结构指定返回的存储池必须具有的属性值。 此参数的默认值为 NULL。 NULL 值表示 存储池可以具有任何属性值。

[out] ppEnum

可用于枚举存储池的 IEnumVdsObject 接口指针的地址。 有关详细信息,请参阅 使用枚举对象。 当不再需要接口和每个存储池对象时,调用方必须通过调用 IUnknown::Release 方法释放这些对象。 此参数是必需的,不能为 NULL

返回值

此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。

返回代码 说明
S_OK
该方法已成功完成。

备注

如果硬件提供程序不管理任何存储池,此方法将返回空枚举对象。

如果在 pPoolAttributes 参数中指定了非 NULL 值,则此方法仅返回满足VDS_POOL_ATTRIBUTES结构中指定的所有属性的存储池。 如果指定了任何最小和最大属性,则返回的存储池必须与这些属性完全匹配。 提示属性用作进一步筛选满足所有指定属性的存储池的提示。 如果指定的属性不适用于任何存储池,此方法将返回具有空枚举对象的S_OK。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 vds.h
Library Uuid.lib

另请参阅

IVdsHwProviderStoragePools