Partilhar 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.

A seguir está uma lista de comandos de dispositivo WIA que podem ser emitidos para um minidriver:

Command Meaning
WIA_CMD_CHANGE_DOCUMENT Mude para o próximo documento (emitido apenas para scanners multidocumentos).
WIA_CMD_DELETE_ALL_ITEMS Exclua a árvore de itens do driver.
WIA_CMD_DIAGNOSTIC Reservado pela Microsoft.
WIA_CMD_SYNCHRONIZE Reconstrua a árvore de itens do driver. Todos os minidrivers devem suportar este comando.
WIA_CMD_TAKE_PICTURE Tire uma foto (emitida apenas para câmeras).
WIA_CMD_UNLOAD_DOCUMENT Descarregue o documento atual (emitido apenas para scanners multidocumentos).

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

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 suportado.

  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 então processar o comando de dispositivo recebido direcionado para o item WIA de entrada. Qualquer comando enviado para o driver WIA que não é suportado deve ser falhado 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.