IVdsService::Advise 方法 (vds.h)

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

向 VDS 注册调用方 IVdsAdviseSink 接口,以便调用方从 VDS 服务接收通知。

语法

HRESULT Advise(
  [in]  IVdsAdviseSink *pSink,
  [out] DWORD          *pdwCookie
);

参数

[in] pSink

指向 IVdsAdviseSink 接口的 指针。

[out] pdwCookie

指向 Cookie 的指针,稍后可用于注销接口。

返回值

此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。

返回代码/值 说明
S_OK
注册已成功完成。
VDS_E_INITIALIZED_FAILED
0x80042401L
VDS 初始化失败。 如果应用程序在服务完成初始化之前调用此方法,则会阻止该方法,直到初始化完成。 如果初始化失败,则返回此错误。

注解

若要从 VDS 服务接收通知,应用程序必须实现 IVdsAdviseSink 接口,并使用 Advise 方法注册接口。

若要停止接收来自 VDS 服务的通知,请使用 IVdsService::Unadvise 方法取消注册 IVdsAdviseSink 接口。

注意 调用 建议 的应用程序最终必须调用 Unadvise。 理想情况下,它应该在不再需要接收通知时立即调用 Unadvise
 
为了接收来自基础软件和硬件提供程序的通知,VDS 将通知回调函数作为 IVdsProviderPrivate::OnLoad 方法的参数传递给每个提供程序。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vds.h
Library Uuid.lib

另请参阅

IVdsAdviseSink

IVdsProviderPrivate::OnLoad

IVdsService

VDS 通知