Condividi tramite


Metodo IWiaDevMgr::RegisterEventCallbackCLSID (wia_xp.h)

Il metodo IWiaDevMgr::RegisterEventCallbackCLSID registra un'applicazione per ricevere eventi anche se l'applicazione potrebbe non essere in esecuzione.

Sintassi

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
);

Parametri

[in] lFlags

Tipo: LONG

Specifica i flag di registrazione. Può essere impostato sui valori seguenti:

Flag di registrazione Significato
WIA_REGISTER_EVENT_CALLBACK Registrare l'evento.
WIA_UNREGISTER_EVENT_CALLBACK Eliminare la registrazione per l'evento.
WIA_SET_DEFAULT_HANDLER Impostare l'applicazione come gestore eventi predefinito.

[in] bstrDeviceID

Tipo: BSTR

Specifica un identificatore di dispositivo. Passare NULL per registrare l'evento in tutti i dispositivi WIA.

[in] pEventGUID

Tipo: GUID const*

Specifica l'evento per il quale l'applicazione sta registrando. Per un elenco di eventi standard, vedere Identificatori eventi WIA.

[in] pClsID

Tipo: GUID const*

Puntatore all'ID classe dell'applicazione (CLSID). Il sistema di runtime WIA usa CLSID dell'applicazione per avviare l'applicazione quando si verifica un evento per il quale viene registrato.

[in] bstrName

Tipo: BSTR

Specifica il nome dell'applicazione che registra per l'evento.

[in] bstrDescription

Tipo: BSTR

Specifica una descrizione di testo dell'applicazione che registra per l'evento.

[in] bstrIcon

Tipo: BSTR

Specifica il nome di un file di immagine da usare per l'icona per l'applicazione che registra per l'evento.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Le applicazioni WIA usano questo metodo per registrare per ricevere eventi del dispositivo hardware del tipo WIA_ACTION_EVENT. Una volta che i programmi chiamano IWiaDevMgr::RegisterEventCallbackCLSID, vengono registrati per ricevere eventi del dispositivo WIA anche se non sono in esecuzione.

Quando si verifica l'evento, il sistema WIA determina quale applicazione è registrata per ricevere l'evento. Usa la funzione CoCreateInstance e l'ID classe specificato nel parametro pClsID per creare un'istanza dell'applicazione. Chiama quindi il metodo ImageEventCallback dell'applicazione per trasmettere le informazioni sull'evento.

Un'applicazione può richiamare il metodo EnumRegisterEventInfo per enumerare le informazioni di registrazione degli eventi.

Un'applicazione può trovare se un evento è un tipo di azione o un tipo di notifica (o entrambi) esaminando il valore ulFlags di una struttura WIA_DEV_CAP restituita dall'enumerazione evento.

Se l'applicazione non è un componente Component Object Model (COM) registrato e non è compatibile con l'architettura WIA, gli sviluppatori devono usare IWiaDevMgr::RegisterEventCallbackProgram anziché questo metodo.

Nota In un'applicazione multi thread non è garantito che il callback della notifica evento venga inserito nello stesso thread che ha registrato il callback.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wia_xp.h (includere Wia.h)
Libreria Wiaguid.lib
DLL Wiaservc.dll