Compartir a través de


Comandos necesarios

Cada microdriver debe implementar el siguiente conjunto de comandos necesarios.

CMD_GETCAPABILITIES

Llamado por el controlador del escáner plano WIA para recuperar la información de eventos de botones. Se deben asignar tres miembros de la estructura VAL pasada: lVal debe configurarse con el número de botones; pGuid debe configurarse con una matriz de GUID de eventos; ppButtonNames puede opcionalmente configurarse con una matriz WCHAR* que contenga los nombres de los botones en el mismo orden en que están en pGuid (por ejemplo, "Botón de escaneo" o "Botón de fax"). Si ppButtonNames está establecido en NULL, wia flatbed driver creará nombres de botón genéricos. Las matrices se pueden asignar en respuesta a CMD_INITIALIZE y liberarse en CMD_UNINITIALIZE.

CMD_INITIALIZE

Lo llama el Controlador de Cama Plana WIA para inicializar el microdriver y establecer los identificadores de E/S del dispositivo en valores válidos. Este comando se enviará al microcontrolador cuando el servicio WIA llame al método IWiaMiniDrv::drvInitializeWia en el controlador de superficie plana WIA.

El controlador de superficie plana WIA creará automáticamente un identificador de E/S de dispositivo y lo colocará en el miembro de matriz DeviceIOHandles de la estructura SCANINFO pasada en el índice 0. El microdriver debe usar este identificador cuando necesite comunicarse con el dispositivo. Si el microdriver necesita controladores de dispositivo adicionales (por ejemplo, para usar varias canalizaciones USB masivas), se pueden crear y almacenar en la matriz DeviceIOHandles hasta un número máximo de MAX_IO_HANDLES. WIA Flatbed Driver cerrará automáticamente el identificador en el índice 0, ya que creó ese identificador durante la inicialización. El microdriver debe cerrar los demás manejadores en respuesta a CMD_UNINITIALIZE.

Como parte de este comando, el microdriver también debe inicializar todos los valores de la estructura SCANINFO . El microdriver debe establecer los miembros SupportedDataTypes, IntensityRange, ContrastRange, BedWidth y BedHeight de la estructura SCANINFO, para que el controlador WIA Flatbed pueda validar automáticamente estos valores con respecto a los intervalos legales del dispositivo.

CMD_RESETSCANNER

Llamado por el controlador WIA de cama plana para restablecer el dispositivo en respuesta a una solicitud de servicio WIA. El microdriver debe establecer el dispositivo en su estado de encendido. En Windows Vista, el controlador WIA flatbed no usa este comando. Sin embargo, los microdrivers deben seguir admitiendo este comando para garantizar una operación correcta en Windows XP y, posiblemente, con una versión futura del controlador WIA Flatbed que podría usar este comando.

CMD_SETDATATYPE

Llamado por el controlador WIA de superficie plana para establecer el tipo de datos para el escaneo. Uno de los siguientes valores se pasa en el miembro lVal de la estructura VAL pasada:

  • WIA_DATA_THRESHOLD – 1-bit blanco y negro

  • WIA_DATA_GRAYSCALE - escala de grises de 8 bits

  • WIA_DATA_COLOR : color de 24 bits

El microdriver debe almacenar el valor en el miembro DataType de la estructura SCANINFO pasada.

CMD_SETCONTRAST

Llamado por el controlador de escáner de superficie plana WIA para establecer el valor de contraste para el escaneo. El valor de contraste deseado se pasa en el miembro lVal de la estructura VAL pasada. El valor -1000 debe interpretarse como el valor de contraste más bajo, 0 nominal y 1000 el contraste máximo del dispositivo. El microdriver debe almacenar el valor en el miembro Contraste de la estructura SCANINFO pasada.

CMD_SETINTENSITY

Llamado por el controlador de cama plana WIA para establecer el valor de intensidad o brillo para el escaneo. El valor de intensidad deseado se pasa en el miembro lVal de la estructura VAL pasada. El valor -1000 debe interpretarse como el valor de brillo más bajo, 0 nominal y 1000 el brillo máximo del dispositivo. El microdriver debe almacenar el valor en el miembro Intensidad de la estructura SCANINFO pasada.

CMD_SETXRESOLUTION

Invocado por el controlador WIA Flatbed para establecer la resolución de escaneo horizontal. La resolución deseada en píxeles se pasa en el miembro lVal de la estructura VAL pasada. El microdriver debe almacenar el valor en el miembro XResolution de la estructura SCANINFO pasada.

CMD_SETYRESOLUTION

Llamado por el controlador WIA de escáner plano para establecer la resolución de escaneo vertical. La resolución deseada en píxeles se pasa en el miembro lVal de la estructura VAL pasada. El microdriver debe almacenar el valor en el miembro YResolution de la estructura SCANINFO pasada.

CMD_STI_DEVICERESET

Llamado por el controlador WIA de escáner plano para restablecer el dispositivo en respuesta a una solicitud de imagen estática (STI). Normalmente, este comando se llama solo una vez durante la inicialización.

CMD_STI_DIAGNOSTIC

Es llamado por el controlador WIA de escáner plano cuando el usuario solicita una prueba del dispositivo.

CMD_UNINITIALIZE

Desinicialice el microcontrolador y cierre los identificadores de E/S del dispositivo. El controlador plano WIA cerrará automáticamente el identificador de E/S del dispositivo en el miembro del array DeviceIOHandles de la estructura SCANINFO, en el índice 0. Este comando se enviará al microdriver cuando se descargue el controlador WIA Flatbed.