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:
Determine se o comando enviado é um comando com suporte.
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.