Compartir a través de


Comandos opcionales

El microdriver puede implementar los siguientes comandos, pero no es necesario hacerlo.

CMD_GETSUPPORTEDFILEFORMATS

Invocado por el controlador WIA Plano para obtener el número de formatos de archivo adicionales. Se deben rellenar dos miembros de la estructura VAL pasada: lVal debe configurarse según el número de formatos de archivo adicionales; pGuid debe apuntar a un array de GUID de formatos de imagen. La memoria asignada para esta matriz es propiedad del microdriver y debe ser liberada solo por él.

Los formatos de imagen se enumeran en wiadef.h o se pueden definir como formatos personalizados. Tenga en cuenta que, dado que los formatos BMP (archivo) y MEMORYBMP (memoria) son necesarios, el controlador de superficie plana de WIA los agrega automáticamente. El microdriver no debe agregarlos a su lista extendida.

Este comando es opcional a menos que el dispositivo pueda admitir formatos de archivo adicionales.

CMD_GETSUPPORTEDMEMORYFORMATS

Llamado por el controlador WIA de escáner plano para obtener el número de formatos de memoria adicionales. Se deben rellenar dos miembros de la estructura VAL pasada: lVal debe establecerse en el número de formatos de memoria adicionales; pGuid debe apuntar a una matriz de GUID de formato de imagen. La memoria asignada para esta matriz es propiedad del microdriver y solo debe liberarse por él.

Los formatos de imagen se enumeran en wiadef.h o se pueden definir como formatos personalizados. Tenga en cuenta que, dado que los formatos BMP (archivo) y MEMORYBMP (memoria) son formatos necesarios, el Controlador WIA de cama plana los agrega automáticamente. El microdriver no debe agregarlos a su lista extendida.

Este comando es opcional a menos que el dispositivo pueda admitir formatos de memoria adicionales.

CMD_SETFORMAT

El controlador de clase envía este comando para establecer el formato actual solicitado por la aplicación. El miembro pGuid de la estructura VAL contiene el GUID de formato de imagen. El microdriver debe guardar este identificador de formato de imagen en su contexto privado para realizar un seguimiento de la configuración del formato de imagen actual.

Los microdrivers son necesarios para admitir este comando solo si notifican formatos extendidos. Dado que el controlador de clase no tiene forma de validar los datos en formatos extendidos, es responsabilidad del microdriver generar los datos adecuados. Al transferir datos en un formato extendido, se deben transferir todos los datos, incluidos los encabezados de imagen. Por ejemplo, si el controlador informa de que admite el formato JPEG, se deben transferir todos los archivos JPEG, no solo los bits de imagen.

El controlador de clase posee la memoria a la que apunta el miembro pGuid de la estructura VAL, por lo que el microcontrolador no debe liberarla.

Tenga en cuenta que este comando no afecta a la forma en que un microdriver responde a las llamadas a su función Scan . Como de costumbre, el microdriver debe comprobar los valores de los parámetros lPhase, pScanInfo y lLength de esta función, y colocar los datos en los búferes a los que apuntan los parámetros pBuffer y pReceived según corresponda.

Los controladores que solo admiten archivos en los formatos WiaImgFmt_BMP y WiaImgFmt_MEMORYBMP (los formatos predeterminados para microdrivers) pueden recibir el comando CMD_SETFORMAT. Estos controladores pueden omitir este comando, ya que el controlador de clase controla todas las transferencias de datos mediante los formatos predeterminados.

CMD_SETSCANMODE

Lo llama el controlador de escáner de cama plana WIA para establecer el modo de escaneo (preliminar o final) del dispositivo del microdriver. El miembro lVal de la estructura VAL contendrá uno de los siguientes valores, ambos definidos en wiamicro.h:

  • SCANMODE_PREVIEWSCAN : modo de examen de vista previa

  • SCANMODE_FINALSCAN : modo de examen final

CMD_SETSTIDEVICEHKEY

Llamado por el controlador de escáner plano WIA para permitir que el microdriver lea las entradas de registro en la sección de registro instalada. Este comando proporciona el HKEY del registro instalado del dispositivo STI al microcontrolador, para que pueda acceder a los valores del registro privado de su dispositivo. El miembro pHandle de la estructura VAL contendrá un puntero al HKEY proporcionado al controlador de superficie plana WIA durante el método IStiUSD::Initialize de STI. Esta es la clave HKEY de nivel superior en la sección del dispositivo instalado. La clave DeviceData se puede abrir directamente mediante este HKEY. Consulte Archivos INF para dispositivos WIA para obtener más información.

Nota:

Esta llave está abierta y cerrada solo por el controlador WIA Flatbed. También es válido solo durante este comando y CMD_INITIALIZE (consulte Comandos necesarios). Una vez devueltos esos comandos, la clave ya no es válida. El valor HKEY no debe almacenarse en caché.