次の方法で共有


イベントの登録

次の例では、Windows イメージ取得 (WIA) 1.0 IWiaDevMgr::RegisterEventCallbackCLSID メソッドを使用して、Windows イメージ取得 (WIA) デバイスがシステムに接続されたときに通知を登録します。 アプリケーションでは、WIA 1.0 IWiaDevMgr::RegisterEventCallbackInterface と WIA 1.0 IWiaDevMgr::RegisterEventCallbackProgram を使用してイベントを登録することもできます。 Windows Vista 以降では、Windows イメージ取得 (WIA) 2.0 IWiaDevMgr2::RegisterEventCallbackCLSIDIWiaDevMgr2::RegisterEventCallbackInterface、または IWiaDevMgr2::RegisterEventCallbackProgram メソッドを使用してイベントに登録できます。

この例は、コンポーネント オブジェクト モデル (COM) アウトプロセス サーバー オブジェクトとして登録されているアプリケーションから取得されたものと見なされます。

IWiaDevMgr::RegisterEventCallbackCLSID (または IWiaDevMgr2::RegisterEventCallbackCLSID) の呼び出しは次のとおりです。

    pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
                                            NULL,
                                            WIA_EVENT_DEVICE_CONNECTED,
                                            pCLSID,
                                            bstrName,
                                            bstrDescription,
                                            bstrIcon
                                            );

前のコードでは、pWiaDevMgrIWiaDevMgr (または IWiaDevMgr2) インターフェイスへの有効なポインターです。WIA_REGISTER_EVENT_CALLBACKは、この呼び出しがイベントの登録解除ではなく、イベントに登録することを指定する定数です。WIA_EVENT_DEVICE_CONNECTEDは、デバイスがユーザーのコンピューターに接続されるたびに通知されるようにアプリケーションが登録されていることを示す定数です。pCLSID はアプリケーションの登録済み CLSID へのポインター、bstrName はアプリケーションの名前、bstrDescription はアプリケーションのテキスト説明、bstrIcon はイベントに登録するアプリケーションのアイコンに使用されるイメージ ファイルの名前です。

その後、アプリケーションは、アプリケーションが登録されているイベントが発生するたびに呼び出される IWiaEventCallback::ImageEventCallback メソッドを実装する必要があります。

アプリケーションでは 、IWiaItem::EnumRegisterEventInfo (または IWiaItem2::EnumRegisterEventInfo) メソッドを使用して、登録されているイベントに関する情報を列挙できます。