Compartir a través de


Escritura de propiedades de elementos wia por una aplicación

Cuando una aplicación WIA escribe en una propiedad WIA (y actualiza el valor almacenado en la propiedad ), el servicio WIA proporciona al minidriver WIA la oportunidad de validar los valores entrantes mediante una llamada al método IWiaMiniDrv::d rvValidateItemProperties . El minidriver WIA compara los valores entrantes con los valores actuales leyendo las propiedades de su propio árbol de elementos de controlador. La biblioteca de servicios WIA proporciona funciones para acceder a estos valores.

El método IWiaMiniDrv::d rvValidateItemProperties debe realizar las siguientes tareas:

  1. Determine el tipo de elemento.

  2. Determine si se debe realizar alguna validación especial en las propiedades de WIA entrantes. Para determinar qué propiedades de WIA se escriben, el minidriver WIA puede usar una matriz de estructuras PROPSPEC (la estructura PROPSPEC se describe en la documentación de Microsoft Windows SDK). Se recomienda que el minidriver WIA determine el tipo de elemento antes de procesar la matriz PROPSPEC para reducir la necesidad de atravesar la matriz en cada llamada IWiaMiniDrv::d rvValidateItemProperties . Si no hay ningún requisito de validación especial o si necesita actualizar las propiedades dependientes en el elemento raíz del dispositivo, solo se procesarán las solicitudes de escritura en las propiedades del elemento secundario.

  3. Cree un contexto de propiedad WIA para acceder a los valores que cambiaron durante la validación de propiedades de WIA, lo que es necesario para actualizar las propiedades dependientes de un elemento WIA. Use las funciones de servicio wiasCreatePropContext y wiasGetChangedValueXxx .

  4. Actualice las propiedades dependientes mediante las funciones del servicio WIA, wiasWriteMultiple o wiasWritePropXxx, que incluye actualizar los valores válidos que podrían haber cambiado como resultado de establecer una propiedad. Por ejemplo, si el minidriver WIA admite la configuración de la propiedad WIA_IPA_DEPTH , debe actualizar la lista válida de profundidades de bits cuando la aplicación cambia la propiedad WIA_IPA_DATATYPE .

    Cuando el valor de la propiedad WIA_IPA_DATATYPE cambia de WIA_DATA_THRESHOLD a WIA_DATA_COLOR, la propiedad de WIA_IPA_DEPTH relacionada cambia de informar de profundidad de color de un bit, a notificar 24 bits o 48 bits.

  5. Llame a la función de servicio wiasValidateItemProperties para permitir que el servicio WIA valide todas las demás solicitudes de propiedad. Este es un caso "catch-all"; el servicio WIA tiene validación de propiedades integrada.