IFunctionDiscoveryNotification::OnError メソッド (functiondiscoveryapi.h)
[関数検出は、[要件] セクションで指定したオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]
非同期クエリ処理中に発生したエラーを受信します。
構文
HRESULT OnError(
[in] HRESULT hr,
[in] FDQUERYCONTEXT fdqcQueryContext,
[in] const WCHAR *pszProvider
);
パラメーター
[in] hr
報告されているクエリ エラー。
[in] fdqcQueryContext
変更通知用に登録されたコンテキスト。 FDQUERYCONTEXT 型は DWORDLONG として定義されます。
[in] pszProvider
プロバイダーの名前。
戻り値
OnError メソッドのクライアント プログラムの実装では、次のいずれかの HRESULT 値を呼び出し元に返す必要があります。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
入力パラメーターの 1 つの値が無効です。 |
注釈
通常、クライアントは非同期エラーが致命的であり、クエリが結果の返しを停止することを想定しますが、カスタム プロバイダーのドキュメントは、特定のエラー コードに対してそれ以外の場合を示す可能性があります。
このメソッドからクエリ オブジェクトに対して Release を呼び出さないでください。 これにより、デッドロックが発生する可能性があります。 コールバックの処理中に別のスレッドからクエリ オブジェクトに 対して Release が呼び出された場合、コールバックが完了するまでオブジェクトは解放されません。
プロバイダーによって Function Discovery に渡されるすべての通知がキューに登録され、クライアントに 1 つずつ返されます。 コールバックは、クライアントが一度に 1 つの通知のみを受信するように同期されます。
他 の IFunctionDiscoveryNotification メソッド呼び出しは他のスレッドで行われる可能性があるため、呼び出し中にスレッドの状態に加えられた変更は、メソッドを終了する前に復元する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | functiondiscoveryapi.h |