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 imagem) 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:

Command Meaning
WIA_CMD_CHANGE_DOCUMENT Altere para o próximo documento (emitido somente 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 multidocumentais).

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 ao comando do dispositivo

To properly set up your WIA minidriver to report device commands, report an array of supported commands in the IWiaMiniDrv::drvGetCapabilities method. For an example implementation of the IWiaMiniDrv::drvGetCapabilities method, see Adding Interrupt Event Support.

Implementar o método IWiaMiniDrv::d rvDeviceCommand

The WIA service calls the IWiaMiniDrv::drvDeviceCommand method in response to the application's call to the IWiaItem::DeviceCommand method (described in the Microsoft Windows SDK documentation). The IWiaMiniDrv::drvDeviceCommand method should perform the following tasks:

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

  2. Processe a solicitação de comando.

The WIA driver should determine the WIA item that is to receive the device command by using the pWiasContext pointer. O driver WIA deve processar o comando de dispositivo recebido direcionado para o item WIA de entrada. Qualquer comando enviado para o driver WIA que não tem suporte deve falhar com um código de erro E_INVALIDARG.

For an example implementation of the IWiaMiniDrv::drvDeviceCommand method, see Informing an Application of Item Tree Changes.