Provider 对象

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

提供程序对象对负责存储管理的程序进行建模。 此对象提供对软件提供程序和硬件提供程序功能的访问权限。 提供程序程序在软件设备上执行操作 (卷和磁盘) 和硬件设备 (存储子系统和 RAID 控制器后面的驱动器阵列) 。

VDS 将提供程序对象注册为 Windows 注册表中的 COM 对象,并使用包含的接口 (非聚合) 来实现剩余的对象、包装所有接口和方法并有条件地添加功能。 提供程序对象包装的对象和接口因提供程序类型而异。

不能直接从你的应用程序实例化提供程序对象。 相反,你必须启动 VDS,获取指向服务对象的指针,并使用服务对象查询主机已知的提供程序。 有关加载 VDS 的说明,请参阅 启动和服务对象

使用 IVdsService:: QueryProviders 方法枚举主机上已注册的提供程序。 方法的第一个参数使你能够仅指定软件提供程序和/或硬件提供程序。 利用提供程序对象,您可以对该提供程序管理的对象执行操作。 如下图所示,你可以使用 IVdsSwProvider 接口公开的方法来创建和查询与软件提供程序关联的包对象。 同样,可以使用 IVdsHwProvider 接口上的方法与硬件提供程序相关联的子系统对象进行交互。

显示 "应用程序" 分支到 "提供程序"、"包" 或 "子系统",然后是 "主轴" 的关系图。

对象属性包括表示特定提供程序的永久 GUID 对象标识符,以及表示提供程序版本的第二个 GUID。 请注意,VDS 对象模型中的其他对象标识符是非持久的。 此对象的其他属性包括提供程序名称、其他版本信息、提供程序类型的软件或硬件) 、各种标志和仅适用于软件提供程序的重建优先级设置。

下表列出了相关的接口、枚举和结构

类型 元素
始终由此对象公开的接口 IVdsProvider
始终由软件提供程序公开的接口 IVdsSwProvider
始终由硬件提供程序公开的接口 IVdsHwProvider
可能由此对象公开的接口 IVdsProviderSupport
仅可由硬件提供程序公开的接口 IVdsHwProviderTypeIVdsHwProviderStoragePoolsWindows server 2008、Windows Vista 和 Windows Server 2003: IVdsHwProviderStoragePools接口不受支持。
始终实现但不向应用程序公开的接口 IVdsProviderPrivate
始终由硬件提供程序实现但不会向应用程序公开的接口 IVdsHwProviderPrivate
可能由硬件提供程序实现但不会向应用程序公开的接口 IVdsHwProviderPrivateMpio
关联枚举 VDS _提供程序 _ 标志vds _ 查询 _ 提供程序 _ 标志VDS _ 提供程序 _ 类型
关联结构 无。

VDS 对象模型

启动和服务对象

IVdsService::QueryProviders

IVdsSwProvider

IVdsHwProvider