IWiaDevMgr::RegisterEventCallbackInterface-Methode (wia_xp.h)

Die IWiaDevMgr::RegisterEventCallbackInterface-Methode registriert eine ausgeführte WiA-Ereignisbenachrichtigung (Windows Image Acquisition).

Syntax

HRESULT RegisterEventCallbackInterface(
  [in]  LONG              lFlags,
  [in]  BSTR              bstrDeviceID,
  [in]  const GUID        *pEventGUID,
  [in]  IWiaEventCallback *pIWiaEventCallback,
  [out] IUnknown          **pEventObject
);

Parameter

[in] lFlags

Typ: LONG

Derzeit nicht verwendet. Sollte auf Null festgelegt werden.

[in] bstrDeviceID

Typ: BSTR

Gibt einen Gerätebezeichner an. Übergeben Sie NULL , um sich für das Ereignis auf allen WIA-Geräten zu registrieren.

[in] pEventGUID

Typ: const GUID*

Gibt das Ereignis an, für das die Anwendung registriert wird. Eine Liste der Standardereignisse finden Sie unter WIA-Ereignisbezeichner.

[in] pIWiaEventCallback

Typ: IWiaEventCallback*

Zeiger auf die IWiaEventCallback-Schnittstelle , die das WIA-System zum Senden der Ereignisbenachrichtigung verwendet hat.

[out] pEventObject

Typ: IUnknown**

Empfängt die Adresse eines Zeigers auf die IUnknown-Schnittstelle .

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Warnung Die Verwendung der Methoden IWiaDevMgr::RegisterEventCallbackInterface, IWiaDevMgr2::RegisterEventCallbackInterface und DeviceManager.RegisterEvent aus demselben Prozess nach dem Neustart des Still Image Service kann zu einer Zugriffsverletzung führen, wenn die Funktionen vor dem Beenden des Diensts verwendet wurden.
 
Wenn sie mit der Ausführung beginnen, verwenden WIA-Anwendungen diese Methode, um sich zu registrieren, um Hardwaregeräteereignisse des Typs WIA_NOTIFICATION_EVENT zu empfangen. Dadurch wird verhindert, dass die Anwendung neu gestartet wird, wenn ein anderes Ereignis auftritt, für das sie registriert ist. Sobald ein Programm IWiaDevMgr::RegisterEventCallbackInterface aufruft, um sich für den Empfang von WIA-Ereignissen von einem Gerät zu registrieren, werden die registrierten Ereignisse vom WIA-System an das Programm weitergeleitet.

Anwendungen verwenden die EnumRegisterEventInfo-Methode , um einen Zeiger auf ein Enumeratorobjekt für Ereignisregistrierungseigenschaften abzurufen.

Eine Anwendung kann ermitteln, ob ein Ereignis ein Aktionstyp- oder Benachrichtigungstypereignis (oder beides) ist, indem sie den ulFlags-Wert einer WIA_DEV_CAP Struktur untersucht, die von der Ereignisenumeration zurückgegeben wird.

Anwendungen können die Registrierung für Ereignisse aufheben, indem sie den IUnknown-Zeiger verwenden, der über den pEventObject-Parameter zurückgegeben wird, um die IUnknown::Release-Methode aufzurufen.

Hinweis In einer Multithreadanwendung gibt es keine Garantie dafür, dass der Ereignisbenachrichtigungsrückruf in dem thread erfolgt, der den Rückruf registriert hat.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wia_xp.h (wia.h einschließen)
Bibliothek Wiaguid.lib
DLL Wiaservc.dll