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 |
硬件提供程序可能仅公开的接口 |
IVdsHwProviderType、IVdsHwProviderStoragePoolsWindows Server 2008、Windows Vista 和 Windows Server 2003: 不支持 IVdsHwProviderStoragePools 接口。 |
始终实现但不向应用程序公开的接口 | IVdsProviderPrivate |
始终由硬件提供程序实现但未向应用程序公开的接口 | IVdsHwProviderPrivate |
可由硬件提供程序实现但未向应用程序公开的接口 | IVdsHwProviderPrivateMpio |
关联的枚举 | VDS_PROVIDER_FLAG、VDS_QUERY_PROVIDER_FLAG和 VDS_PROVIDER_TYPE。 |
关联的结构 | 没有。 |