IVdsVDisk::Open 方法 (vds.h)
[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]
打开指定虚拟磁盘文件的句柄,并返回指向对象(表示打开的句柄)的 IVdsOpenVDisk 接口指针。
语法
HRESULT Open(
[in] VIRTUAL_DISK_ACCESS_MASK AccessMask,
[in] OPEN_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ReadWriteDepth,
[out] IVdsOpenVDisk **ppOpenVDisk
);
参数
[in] AccessMask
VIRTUAL_DISK_ACCESS_MASK标志的位掩码,指定要应用于打开的虚拟磁盘的访问权限。
[in] Flags
OPEN_VIRTUAL_DISK_FLAG标志的位掩码,指定虚拟磁盘的打开方式。
[in] ReadWriteDepth
(支持文件) ,从子级开始,支持存储链的存储数以打开读/写。 差异链中的剩余存储将以只读的方式打开。 (这是合并操作成功所必需的。)
[out] ppOpenVDisk
指向变量的指针,该变量接收 IVdsOpenVDisk 接口指针,该指针指向表示对虚拟磁盘对象打开的句柄的新创建的对象。 当不再需要接口指针时,调用方必须通过调用 IUnknown::Release 方法释放接口指针。
返回值
此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
备注
应用程序必须通过调用 CoInitializeSecurity 函数来初始化进程范围的安全性。 dwImpLevel 参数应设置为 RPC_C_IMP_LEVEL_IMPERSONATE。
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 |