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 提供程序 。 可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
备注
如果硬件提供程序不管理任何存储池,此方法将返回空枚举对象。
如果在 pPoolAttributes 参数中指定了非 NULL 值,则此方法仅返回满足VDS_POOL_ATTRIBUTES结构中指定的所有属性的存储池。 如果指定了任何最小和最大属性,则返回的存储池必须与这些属性完全匹配。 提示属性用作进一步筛选满足所有指定属性的存储池的提示。 如果指定的属性不适用于任何存储池,此方法将返回具有空枚举对象的S_OK。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | vds.h |
Library | Uuid.lib |