Compartir a través de


Método IWiaMiniDrv::d rvDeviceCommand (wiamindr_lh.h)

El método IWiaMiniDrv::d rvDeviceCommand emite un comando a un dispositivo WIA.

Sintaxis

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]

Puntero a un contexto de elemento WIA.

__MIDL__IWiaMiniDrv0045

plCommand [in]

Apunta a un GUID de comando WIA.

__MIDL__IWiaMiniDrv0046

plDevErrVal [out]

Apunta a una ubicación de memoria que recibirá un código de estado para este método. Si este método devuelve S_OK, el valor almacenado será cero. De lo contrario, se almacenará un código de error específico del minidriver en la ubicación a la que apunta este parámetro.

__MIDL__IWiaMiniDrv0047

ppWiaDrvItem [out, optional]

Apunta a una ubicación de memoria que puede recibir un puntero a un interfaz IWiaDrvItem. Vea los comentarios a continuación.

Valor devuelto

Si se ejecuta correctamente, el método debe devolver S_OK y borrar el valor de error del dispositivo al que apunta plDevErrVal. Si se produce un error en el método, debe devolver un código de error COM estándar y colocar un valor de código de error específico del minidriver en la memoria a la que apunta plDevErrVal.

El valor al que apunta plDevErrVal se puede convertir en una cadena llamando a IWiaMiniDrv::d rvGetDeviceErrorStr.

Observaciones

El servicio WIA llama al método IWiaMiniDrv::d rvDeviceCommand para emitir un servicio WIA o un comando generado por la aplicación al dispositivo. El servicio WIA solo llama al método IWiaMiniDrv::d rvDeviceCommand para un comando que el dispositivo puede admitir en el método IWiaMiniDrv::d rvGetCapabilities.

El parámetro ppWiaDrvItem debe considerarse opcional, ya que el minidriver normalmente no establece la ubicación de memoria a la que apunta. Sin embargo, para determinados comandos, el minidriver coloca la dirección de un elemento recién creado en la ubicación a la que apunta este parámetro. Por ejemplo, si el comando para tomar una imagen se emite (plCommand está establecido en WIA_CMD_TAKE_PICTURE), el dispositivo genera una nueva imagen, lo que provoca que el minidriver cree un nuevo elemento en el árbol de elementos de controlador y establece *ppWiaDrvItem en la dirección del nuevo elemento. Esto informa al servicio WIA de que se creó un nuevo elemento.

El minidriver puede incluir una lista de comandos personalizados que el dispositivo puede admitir en el método IWiaMiniDrv::d rvGetCapabilities.

El servicio WIA no escribe ninguna propiedad antes de llamar a este método. Si el comando se basa en la configuración de propiedades, el minidriver debe llamar a IWiaMiniDrv::d rvWriteItemProperties antes de emitir el comando. Por ejemplo, el comando para tomar una foto, WIA_CMD_TAKE_PICTURE, puede depender de la configuración de velocidad de obturación y apertura, que debe escribirse en el dispositivo antes de que se emita el comando.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de wiamindr_lh.h (incluya Wiamindr.h)

Consulte también

IWiaMiniDrv

IWiaMiniDrv::d rvGetCapabilities

IWiaMiniDrv::d rvWriteItemProperties