Compartilhar via


Suporte ao comando do driver WIA

Um comando de dispositivo WIA é uma solicitação enviada pelo serviço WIA (em nome do aplicativo de geração de imagens) para o minidriver WIA, instruindo-o a executar uma ação específica.

Veja a seguir uma lista de comandos de dispositivo WIA que podem ser emitidos para um minidriver:

Comando Significado
WIA_CMD_CHANGE_DOCUMENT Altere para o próximo documento (emitido apenas para scanners multidocument).
WIA_CMD_DELETE_ALL_ITEMS Exclua a árvore de itens do driver.
WIA_CMD_DIAGNOSTIC Reservado pela Microsoft.
WIA_CMD_SYNCHRONIZE Recompile a árvore de itens do driver. Todos os minidrivers devem dar suporte a esse comando.
WIA_CMD_TAKE_PICTURE Tire uma foto (emitida somente para câmeras).
WIA_CMD_UNLOAD_DOCUMENT Descarregue o documento atual (emitido somente para scanners multidocument).

Os comandos WIA_CMD_XXX são descritos na documentação do SDK do Microsoft Windows. Você pode incluir sua própria lista personalizada de comandos.

Adicionar suporte a comandos de dispositivo

Para configurar corretamente o minidriver WIA para relatar comandos de dispositivo, relate uma matriz de comandos com suporte no método IWiaMiniDrv::d rvGetCapabilities . Para obter um exemplo de implementação do método IWiaMiniDrv::d rvGetCapabilities , consulte Adicionando suporte a eventos de interrupção.

Implementar o método IWiaMiniDrv::d rvDeviceCommand

O serviço WIA chama o método IWiaMiniDrv::d rvDeviceCommand em resposta à chamada do aplicativo para o método IWiaItem::D eviceCommand (descrito na documentação do SDK do Microsoft Windows). O método IWiaMiniDrv::d rvDeviceCommand deve executar as seguintes tarefas:

  1. Determine se o comando enviado é um comando com suporte.

  2. Processe a solicitação de comando.

O driver WIA deve determinar o item WIA que deve receber o comando do dispositivo usando o ponteiro pWiasContext . Em seguida, o driver WIA deve processar o comando de dispositivo recebido direcionado para o item WIA de entrada. Qualquer comando enviado para o driver WIA sem suporte deve falhar com um código de erro E_INVALIDARG.

Para obter um exemplo de implementação do método IWiaMiniDrv::d rvDeviceCommand , consulte Informando uma aplicação de alterações de árvore de item.