Método IWiaMiniDrv::d rvDeviceCommand (wiamindr_lh.h)
O método IWiaMiniDrv::d rvDeviceCommand emite um comando para um dispositivo WIA.
Sintaxe
HRESULT drvDeviceCommand(
BYTE *__MIDL__IWiaMiniDrv0043,
LONG __MIDL__IWiaMiniDrv0044,
const GUID *__MIDL__IWiaMiniDrv0045,
IWiaDrvItem **__MIDL__IWiaMiniDrv0046,
LONG *__MIDL__IWiaMiniDrv0047
);
Parâmetros
__MIDL__IWiaMiniDrv0043
lFlags [in]
Reservado.
__MIDL__IWiaMiniDrv0044
pWiasContext [in]
Ponteiro para um contexto de item WIA.
__MIDL__IWiaMiniDrv0045
plCommand [in]
Aponta para um GUID de comando WIA.
__MIDL__IWiaMiniDrv0046
plDevErrVal [out]
Aponta para um local de memória que receberá um código status para esse método. Se esse método retornar S_OK, o valor armazenado será zero. Caso contrário, um código de erro específico do minidriver será armazenado no local apontado por esse parâmetro.
__MIDL__IWiaMiniDrv0047
ppWiaDrvItem [out, opcional]
Aponta para um local de memória que pode receber um ponteiro para uma interface IWiaDrvItem. Consulte os comentários abaixo.
Retornar valor
Em caso de êxito, o método deve retornar S_OK e limpar o valor de erro do dispositivo apontado por plDevErrVal. Se o método falhar, ele deverá retornar um código de erro COM padrão e colocar um valor de código de erro específico do minidriver na memória apontada por plDevErrVal.
O valor apontado por plDevErrVal pode ser convertido em uma cadeia de caracteres chamando IWiaMiniDrv::d rvGetDeviceErrorStr.
Comentários
O método IWiaMiniDrv::d rvDeviceCommand é chamado pelo serviço WIA para emitir um serviço WIA ou um comando gerado pelo aplicativo para o dispositivo. O serviço WIA chama apenas o método IWiaMiniDrv::d rvDeviceCommand para um comando que o dispositivo pode dar suporte no método IWiaMiniDrv::d rvGetCapabilities.
O parâmetro ppWiaDrvItem deve ser considerado opcional, pois o minidriver normalmente não define o local de memória para o qual aponta. Para determinados comandos, no entanto, o minidriver coloca o endereço de um item recém-criado no local apontado por esse parâmetro. Por exemplo, se o comando para tirar uma imagem for emitido (plCommand está definido como WIA_CMD_TAKE_PICTURE), o dispositivo produzirá uma nova imagem, fazendo com que o minidriver crie um novo item na árvore de itens do driver e defina *ppWiaDrvItem como o endereço do novo item. Isso informa ao serviço WIA que um novo item foi criado.
O minidriver pode incluir uma lista de comandos personalizados aos quais o dispositivo pode dar suporte no método IWiaMiniDrv::d rvGetCapabilities.
O serviço WIA não grava nenhuma propriedade antes de chamar esse método. Se o comando depender de configurações de propriedade, o minidriver deverá chamar IWiaMiniDrv::d rvWriteItemProperties antes de emitir o comando. Por exemplo, o comando para tirar uma foto, WIA_CMD_TAKE_PICTURE, pode depender da velocidade do obturador e das configurações de abertura, que precisam ser gravadas no dispositivo antes que o comando seja emitido.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | wiamindr_lh.h (inclua Wiamindr.h) |