次の方法で共有


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 値を呼び出し元に返す必要があります。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
E_INVALIDARG
入力パラメーターの 1 つの値が無効です。

注釈

通常、クライアントは非同期エラーが致命的であり、クエリが結果の返しを停止することを想定しますが、カスタム プロバイダーのドキュメントは、特定のエラー コードに対してそれ以外の場合を示す可能性があります。

このメソッドからクエリ オブジェクトに対して Release を呼び出さないでください。 これにより、デッドロックが発生する可能性があります。 コールバックの処理中に別のスレッドからクエリ オブジェクトに 対して Release が呼び出された場合、コールバックが完了するまでオブジェクトは解放されません。

プロバイダーによって Function Discovery に渡されるすべての通知がキューに登録され、クライアントに 1 つずつ返されます。 コールバックは、クライアントが一度に 1 つの通知のみを受信するように同期されます。

の IFunctionDiscoveryNotification メソッド呼び出しは他のスレッドで行われる可能性があるため、呼び出し中にスレッドの状態に加えられた変更は、メソッドを終了する前に復元する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー functiondiscoveryapi.h

こちらもご覧ください

IFunctionDiscoveryNotification