[函数发现可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]
接收异步查询处理期间发生的错误。
语法
HRESULT OnError(
[in] HRESULT hr,
[in] FDQUERYCONTEXT fdqcQueryContext,
[in] const WCHAR *pszProvider
);
参数
[in] hr
正在报告的查询错误。
[in] fdqcQueryContext
为更改通知注册的上下文。 类型 FDQUERYCONTEXT 定义为 DWORDLONG。
[in] pszProvider
提供程序的名称。
返回值
客户端程序的 OnError 方法实现应将以下 HRESULT 值之一返回给调用方。
| 返回代码 | 说明 |
|---|---|
|
该方法已成功完成。 |
|
其中一个输入参数的值无效。 |
注解
通常,客户端预期任何异步错误都是致命错误,并且查询将停止返回结果,但自定义提供程序文档可能会针对特定错误代码指示其他错误。
不要从此方法对查询对象调用 Release 。 这样做可能会导致死锁。 如果在回调处理过程中从另一个线程对查询对象调用 Release ,则在回调完成之前不会释放该对象。
提供程序传递给函数发现的所有通知都会排队,并逐个返回给客户端。 回调是同步的,以便客户端一次只收到一个通知。
由于其他 IFunctionDiscoveryNotification 方法调用可能在其他线程中进行,因此在退出方法之前,必须在调用期间还原对线程状态所做的任何更改。
要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | Windows Vista [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
| 目标平台 | Windows |
| 标头 | functiondiscoveryapi.h |