イベントの登録
次の例では、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::RegisterEventCallbackCLSID、 IWiaDevMgr2::RegisterEventCallbackInterface、または IWiaDevMgr2::RegisterEventCallbackProgram メソッドを使用してイベントに登録できます。
この例は、コンポーネント オブジェクト モデル (COM) アウトプロセス サーバー オブジェクトとして登録されているアプリケーションから取得されたものと見なされます。
IWiaDevMgr::RegisterEventCallbackCLSID (または IWiaDevMgr2::RegisterEventCallbackCLSID) の呼び出しは次のとおりです。
pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
NULL,
WIA_EVENT_DEVICE_CONNECTED,
pCLSID,
bstrName,
bstrDescription,
bstrIcon
);
前のコードでは、pWiaDevMgr は IWiaDevMgr (または IWiaDevMgr2) インターフェイスへの有効なポインターです。WIA_REGISTER_EVENT_CALLBACKは、この呼び出しがイベントの登録解除ではなく、イベントに登録することを指定する定数です。WIA_EVENT_DEVICE_CONNECTEDは、デバイスがユーザーのコンピューターに接続されるたびに通知されるようにアプリケーションが登録されていることを示す定数です。pCLSID はアプリケーションの登録済み CLSID へのポインター、bstrName はアプリケーションの名前、bstrDescription はアプリケーションのテキスト説明、bstrIcon はイベントに登録するアプリケーションのアイコンに使用されるイメージ ファイルの名前です。
その後、アプリケーションは、アプリケーションが登録されているイベントが発生するたびに呼び出される IWiaEventCallback::ImageEventCallback メソッドを実装する必要があります。
アプリケーションでは 、IWiaItem::EnumRegisterEventInfo (または IWiaItem2::EnumRegisterEventInfo) メソッドを使用して、登録されているイベントに関する情報を列挙できます。