Compartilhar via


Método IWiaDevMgr::RegisterEventCallbackCLSID (wia_xp.h)

O método IWiaDevMgr::RegisterEventCallbackCLSID registra um aplicativo para receber eventos mesmo que o aplicativo não esteja em execução.

Sintaxe

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

Parâmetros

[in] lFlags

Tipo: LONG

Especifica sinalizadores de registro. Pode ser definido com os seguintes valores:

Sinalizador de registro Significado
WIA_REGISTER_EVENT_CALLBACK Registrar-se para o evento.
WIA_UNREGISTER_EVENT_CALLBACK Exclua o registro do evento.
WIA_SET_DEFAULT_HANDLER Defina o aplicativo como o manipulador de eventos padrão.

[in] bstrDeviceID

Tipo: BSTR

Especifica um identificador de dispositivo. Passe NULL para se registrar para o evento em todos os dispositivos WIA.

[in] pEventGUID

Tipo: const GUID*

Especifica o evento para o qual o aplicativo está se registrando. Para obter uma lista de eventos padrão, consulte Identificadores de eventos WIA.

[in] pClsID

Tipo: const GUID*

Ponteiro para a CLSID (ID de classe) do aplicativo. O sistema de tempo de execução wia usa o CLSID do aplicativo para iniciar o aplicativo quando ocorre um evento para o qual ele está registrado.

[in] bstrName

Tipo: BSTR

Especifica o nome do aplicativo que se registra para o evento.

[in] bstrDescription

Tipo: BSTR

Especifica uma descrição de texto do aplicativo que se registra para o evento.

[in] bstrIcon

Tipo: BSTR

Especifica o nome de um arquivo de imagem a ser usado para o ícone do aplicativo que se registra para o evento.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Os aplicativos WIA usam esse método para se registrar para receber eventos de dispositivo de hardware do tipo WIA_ACTION_EVENT. Depois que os programas chamam IWiaDevMgr::RegisterEventCallbackCLSID, eles são registrados para receber eventos de dispositivo WIA mesmo que não estejam em execução.

Quando o evento ocorre, o sistema WIA determina qual aplicativo está registrado para receber o evento. Ele usa a função CoCreateInstance e a ID de classe especificada no parâmetro pClsID para criar uma instância do aplicativo. Em seguida, ele chama o método ImageEventCallback do aplicativo para transmitir as informações do evento.

Um aplicativo pode invocar o método EnumRegisterEventInfo para enumerar informações de registro de evento.

Um aplicativo pode descobrir se um evento é um tipo de ação ou um evento de tipo de notificação (ou ambos) examinando o valor ulFlags de uma estrutura WIA_DEV_CAP retornada por enumeração de evento.

Se o aplicativo não for um componente COM (Component Object Model) registrado e não for compatível com a arquitetura WIA, os desenvolvedores deverão usar IWiaDevMgr::RegisterEventCallbackProgram em vez desse método.

Nota Em um aplicativo multi-threaded, não há garantia de que o retorno de chamada de notificação de evento entrará no mesmo thread que registrou o retorno de chamada.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wia_xp.h (inclua Wia.h)
Biblioteca Wiaguid.lib
DLL Wiaservc.dll