Udostępnij przez


Obsługa poleceń sterownika WIA

Polecenie urządzenia WIA to żądanie wysyłane przez usługę WIA (w imieniu aplikacji do przetwarzania obrazów) do minidrivera WIA, nakazując mu wykonanie określonej akcji.

Poniżej znajduje się lista poleceń urządzenia WIA, które można wydać do minidrivera:

Command Meaning
WIA_CMD_CHANGE_DOCUMENT Zmień na następny dokument (wystawiony tylko na skanery wielodokumentowe).
WIA_CMD_DELETE_ALL_ITEMS Usuń drzewo elementów sterownika.
WIA_CMD_DIAGNOSTIC Zastrzeżone przez firmę Microsoft.
WIA_CMD_SYNCHRONIZE Ponownie skompiluj drzewo elementów sterownika. Wszystkie minidrivery muszą obsługiwać to polecenie.
WIA_CMD_TAKE_PICTURE Wykonaj zdjęcie (wydane tylko dla aparatów fotograficznych).
WIA_CMD_UNLOAD_DOCUMENT Zwolnij bieżący dokument (wystawiony tylko dla skanerów wielodokumentowych).

Polecenia WIA_CMD_XXX zostały opisane w dokumentacji zestawu Microsoft Windows SDK. Możesz dołączyć własną niestandardową listę poleceń.

Dodawanie obsługi poleceń urządzenia

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.

Implementowanie metody 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. Ustal, czy wysłane polecenie jest obsługiwanym poleceniem.

  2. Przetwórz żądanie polecenia.

The WIA driver should determine the WIA item that is to receive the device command by using the pWiasContext pointer. Sterownik WIA powinien następnie przetworzyć odebrane polecenie urządzenia skierowane do przychodzącego elementu WIA. Każde polecenie wysłane do sterownika WIA, które nie jest obsługiwane, powinno zakończyć się niepowodzeniem z kodem błędu E_INVALIDARG.

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