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 提供程序 。 可能的返回值包括以下内容。

返回代码 说明
S_OK
该方法已成功完成。

备注

应用程序必须通过调用 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

另请参阅

IVdsVDisk