IVdsOpenVDisk::Attach 方法 (vds.h)
[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]
附加虚拟磁盘。
语法
HRESULT Attach(
[in] LPWSTR pStringSecurityDescriptor,
[in] ATTACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] ULONG TimeoutInMs,
[out] IVdsAsync **ppAsync
);
参数
[in] pStringSecurityDescriptor
包含虚拟磁盘的安全描述符的字符串。 如果未指定,则使用的安全描述符为:“D:P (A;;Ga;;;Windows 7 上的 WD) “和”D:P (A;;Ga;;;WD) (A;;Ga;;;Windows 8.1 及更高版本上的 AC) ”。
[in] Flags
ATTACH_VIRTUAL_DISK_FLAG枚举值的位掩码,用于指定虚拟磁盘的附加方式。 可能的值包括以下值。
值 | 含义 |
---|---|
|
未指定任何标志。 |
|
将虚拟磁盘附加为只读。 |
|
在附加的虚拟磁盘上装载所有卷,而无需为其分配驱动器号。 |
|
VDS 服务会自动设置此标志,以便 VHD 保持附加状态,直到调用 IVdsOpenVDisk::D etach 方法来分离它。 |
|
保留。 请勿使用。 |
[in] ProviderSpecificFlags
特定于所附加虚拟磁盘类型的标志的位掩码。 这些标志特定于提供程序。 对于 Microsoft 虚拟磁盘提供程序,此参数必须为零。
[in] TimeoutInMs
此参数留待将来使用。
[out] ppAsync
指向 IVdsAsync 接口的指针,该接口在成功完成后接收 IVdsAsync 接口以监视和控制此操作。 调用方必须在使用完接口后释放收到的接口。 如果在接口上调用 IVdsAsync::Wait 方法并返回成功 HRESULT 值,则必须通过在每个接口指针上调用 IUnknown::Release 方法释放VDS_ASYNC_OUTPUT结构中返回的接口。 但是,如果 Wait 返回失败的 HRESULT 值,或者如果 Wait 的 pHrResult 参数收到失败的 HRESULT 值,则 VDS_ASYNC_OUTPUT 结构中的接口指针为 NULL,不需要释放。 可以使用 Winerror.h 中定义的 SUCCEEDED 和 FAILED 宏测试成功或失败的 HRESULT 值。
返回值
此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
备注
附加虚拟磁盘后,调用方可以收到以下一条或所有通知:
- 如果呼叫者已注册 VDS 通知,则调用方将收到磁盘到达通知。 有关详细信息,请参阅 VDS 通知。
- 如果呼叫者已注册 PnP 通知,则调用方将收到 PnP 磁盘到达通知。 有关详细信息,请参阅 RegisterDeviceNotification。
Windows Server 2008、Windows Vista 和 Windows Server 2003: 在 Windows 7 和 Windows Server 2008 R2 之前,不需要执行这些操作。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | vds.h |
Library | Uuid.lib |