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, este parámetro 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 una interfaz IWiaDrvItem. Vea los comentarios más abajo.

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.

Comentarios

El servicio WIA llama al método IWiaMiniDrv::d rvDeviceCommand para emitir un servicio WIA o un comando generado por la aplicación en el 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 se emite el comando para tomar una imagen (plCommand se establece en WIA_CMD_TAKE_PICTURE), el dispositivo genera una nueva imagen, lo que hace que el minidriver cree un nuevo elemento en el árbol de elementos del 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 la propiedad, 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 Value
Plataforma de destino Escritorio
Encabezado wiamindr_lh.h (incluya Wiamindr.h)

Consulte también

IWiaMiniDrv

IWiaMiniDrv::d rvGetCapabilities

IWiaMiniDrv::d rvWriteItemProperties