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)

Confira também

IWiaMiniDrv

IWiaMiniDrv::d rvGetCapabilities

IWiaMiniDrv::d rvWriteItemProperties