启动和服务对象

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

VDS 提供用于执行服务相关活动的对象。 本主题介绍每个对象。

服务加载程序对象

服务加载程序对象提供应用程序用来加载和初始化 VDS 的方法。 若要准备 VDS 以供使用,应用程序必须执行以下操作:

有关代码示例,请参阅 加载 VDS

始终允许服务在调用服务对象公开的方法之前完全初始化。 使用 IVdsService::IsServiceReady 方法确定加载过程的状态。 使用 IVdsService::WaitForServiceReady 方法阻止对 VDS 对象的调用,直到初始化完成。

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

类型 元素
此对象始终公开的接口 IVdsServiceLoader
关联的枚举 无。
关联的结构 无。

 

服务对象

服务对象是一个多功能对象,它是所有 VDS 应用程序的核心对象。 使用此对象,调用方可以执行以下操作:

  • 确定服务初始化的状态。
  • 检索注册到 VDS 的所有硬件或软件提供程序。
  • 报告未分配的磁盘。
  • 返回与磁盘上的卷关联的文件系统类型和驱动器号。
  • 从注册表中删除未使用的用户模式路径和装载的文件夹,并刷新磁盘。
  • 接收 VDS 通知。
  • 重新启动主机。
  • 在本地计算机上检索光纤通道 HBA 端口或 iSCSI 发起程序适配器。
  • 安全地准备在本地计算机上作为磁盘公开的 LUN,以便将其删除。

VDS 通知结构将对象 GUID 传递给注册到 VDS 的所有应用程序,以接收通知。 使用 IVdsService::GetObject 方法可将对象 GUID 转换为对象指针。 有关通知模型的更完整说明,请参阅 VDS 通知

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

类型 元素
此对象始终公开的接口 IVdsServiceIVdsServiceHba*、 IVdsServiceIscsi*、 IVdsServiceUninstallDisk*。
始终实现但不向应用程序公开的接口 IVdsAdmin
关联的枚举 VDS_QUERY_PROVIDER_FLAGVDS_OBJECT_TYPEVDS_SERVICE_FLAGVDS_DRIVE_LETTER_FLAGVDS_FILE_SYSTEM_FLAG、VDS_FILE_SYSTEM_PROP_FLAG
关联的结构 VDS_SERVICE_PROPVDS_FILE_SYSTEM_PROPVDS_FILE_SYSTEM_TYPE_PROPVDS_DRIVE_LETTER_NOTIFICATIONVDS_FILE_SYSTEM_NOTIFICATION、VDS_MOUNT_POINT_NOTIFICATION

 

*Windows Server 2003: 在 Windows Server 2003 R2 之前不支持这些接口。

发起方适配器对象

发起方适配器对象为 VDS 服务的主机上的 iSCSI 发起程序适配器建模。 VDS 服务只能查看本地计算机上的发起程序适配器。 发起方适配器对象的角色用于管理从本地计算机到 iSCSI 目标的登录会话。

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

类型 元素
此对象始终公开的接口 IVdsIscsiInitiatorAdapter*。
关联的枚举 VDS_ISCSI_LOGIN_TYPEVDS_ISCSI_LOGIN_FLAGVDS_ISCSI_AUTH_TYPE
关联的结构 VDS_ISCSI_INITIATOR_ADAPTER_PROP

 

*Windows Server 2003: 在 Windows Server 2003 R2 之前不支持此接口。

发起方门户对象

发起程序门户对象为 iSCSI 发起程序上的 iSCSI 发起程序门户建模。 发起程序门户是 IP 地址和端口的组合,主机通过该端口连接到 iSCSI 子系统上的门户。 发起方门户对象的角色是充当 MPIO 路径的终结点之一,并配置 IPSEC 安全设置。

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

类型 元素
此对象始终公开的接口 IVdsIscsiInitiatorPortal*。
关联的枚举 VDS_ISCSI_IPSEC_FLAG
关联的结构 VDS_ISCSI_INITIATOR_PORTAL_PROPVDS_ISCSI_IPSEC_KEY、VDS_IPADDRESS

 

*Windows Server 2003: 在 Windows Server 2003 R2 之前不支持此接口。

HBA 端口对象

HBA 端口对象为 HBA) 端口 (光纤通道主机总线适配器建模。

使用 IVdsServiceHba::QueryHbaPorts 方法确定本地计算机上的 VDS 已知的 HBA 端口。

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

类型 元素
此对象始终公开的接口 IVdsHbaPort*。
关联的枚举 VDS_HBAPORT_TYPEVDS_HBAPORT_STATUS、VDS_HBAPORT_SPEED_FLAG
关联的结构 VDS_HBAPORT_PROP

 

*Windows Server 2003: 在 Windows Server 2003 R2 之前不支持此接口。

VDS 对象模型

IVdsServiceLoader::LoadService

加载 VDS

IVdsService::GetObject

VDS 通知