Compartir a través de


Comandos opcionales

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

CMD_GETSUPPORTEDFILEFORMATS

Llamado 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 establecerse en el número de formatos de archivo 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 liberarla.

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 plano 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 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 liberarla.

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 plano 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 ninguna manera 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 microdriver 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 es habitual, 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 wia plano para establecer el modo de examen (versión preliminar o final) del dispositivo del microdriver. El miembro lVal de la estructura VAL contendrá uno de los valores siguientes, ambos definidos en wiamicro.h:

  • SCANMODE_PREVIEWSCAN : modo de examen de vista previa

  • SCANMODE_FINALSCAN - Modo de examen final

CMD_SETSTIDEVICEHKEY

Lo llama el controlador wia plano para permitir que el microdriver lea las entradas del Registro en la sección del Registro instalado. Este comando proporciona el HKEY del registro instalado del dispositivo STI al microdriver, para que pueda acceder a los valores del Registro privado para su dispositivo. El miembro pHandle de la estructura VAL contendrá un puntero al HKEY proporcionado al controlador plano wia durante el método IStiUSD::Initialize de STI. Este es el HKEY de nivel superior de 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 plano. 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é.