次の方法で共有


IWiaDevMgr::RegisterEventCallbackCLSID メソッド (wia_xp.h)

IWiaDevMgr::RegisterEventCallbackCLSID メソッドは、アプリケーションが実行されていない可能性がある場合でも、イベントを受信するようにアプリケーションを登録します。

構文

HRESULT RegisterEventCallbackCLSID(
  [in] LONG       lFlags,
  [in] BSTR       bstrDeviceID,
  [in] const GUID *pEventGUID,
  [in] const GUID *pClsID,
  [in] BSTR       bstrName,
  [in] BSTR       bstrDescription,
  [in] BSTR       bstrIcon
);

パラメーター

[in] lFlags

型: LONG

登録フラグを指定します。 次の値に設定できます。

登録フラグ 意味
WIA_REGISTER_EVENT_CALLBACK イベントに登録します。
WIA_UNREGISTER_EVENT_CALLBACK イベントの登録を削除します。
WIA_SET_DEFAULT_HANDLER アプリケーションを既定のイベント ハンドラーとして設定します。

[in] bstrDeviceID

種類: BSTR

デバイス識別子を指定します。 NULL を渡して、すべての WIA デバイスでイベントを登録します。

[in] pEventGUID

型: const GUID*

アプリケーションが登録するイベントを指定します。 標準イベントの一覧については、「 WIA イベント識別子」を参照してください。

[in] pClsID

型: const GUID*

アプリケーションのクラス ID (CLSID) へのポインター。 WIA ランタイム システムは、アプリケーションの CLSID を使用して、登録されているイベントが発生したときにアプリケーションを起動します。

[in] bstrName

種類: BSTR

イベントに登録するアプリケーションの名前を指定します。

[in] bstrDescription

種類: BSTR

イベントに登録するアプリケーションのテキスト説明を指定します。

[in] bstrIcon

種類: BSTR

イベントに登録するアプリケーションのアイコンに使用するイメージ ファイルの名前を指定します。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

WIA アプリケーションでは、このメソッドを使用して、WIA_ACTION_EVENTの種類のハードウェア デバイス イベントを受信するために登録します。 プログラムが IWiaDevMgr::RegisterEventCallbackCLSID を呼び出すと、WIA デバイス イベントが実行されていない場合でも、WIA デバイス イベントを受信するように登録されます。

イベントが発生すると、WIA システムは、イベントを受信するために登録されているアプリケーションを決定します。 CoCreateInstance 関数と pClsID パラメーターで指定されたクラス ID を使用して、アプリケーションのインスタンスを作成します。 次に、アプリケーションの ImageEventCallback メソッドを呼び出して、イベント情報を送信します。

アプリケーションは EnumRegisterEventInfo メソッドを呼び出して、イベント登録情報を列挙できます。

アプリケーションは、イベント列挙によって返されるWIA_DEV_CAP構造体の ulFlags 値を調べることで、イベントがアクションの種類または通知の種類 (またはその両方) イベントであるかどうかを調べます。

アプリケーションが登録済みのコンポーネント オブジェクト モデル (COM) コンポーネントではなく、WIA アーキテクチャと互換性がない場合、開発者はこのメソッドの代わりに IWiaDevMgr::RegisterEventCallbackProgram を使用する必要があります。

メモ マルチスレッド アプリケーションでは、コールバックを登録したのと同じスレッドでイベント通知コールバックが入ってくるという保証はありません。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wia_xp.h (Wia.h を含む)
Library Wiaguid.lib
[DLL] Wiaservc.dll