Partager via


Écriture de propriétés d’élément WIA par une application

Lorsqu’une application WIA écrit dans une propriété WIA (et met à jour la valeur stockée dans la propriété), le service WIA donne au minidriver WIA la possibilité de valider les valeurs entrantes en appelant la méthode IWiaMiniDrv::d rvValidateItemProperties . Le minidriver WIA compare les valeurs entrantes à toutes les valeurs actuelles en lisant les propriétés dans sa propre arborescence d’éléments de pilote. La bibliothèque de service WIA fournit des fonctions permettant d’accéder à ces valeurs.

La méthode IWiaMiniDrv::d rvValidateItemProperties doit effectuer les tâches suivantes :

  1. Déterminez le type d’élément.

  2. Déterminez si une validation spéciale doit être effectuée sur les propriétés WIA entrantes. Pour déterminer les propriétés WIA en cours d’écriture, le minidriver WIA peut utiliser un tableau de structures PROPSPEC (la structure PROPSPEC est décrite dans la documentation Microsoft Windows SDK). Il est recommandé que le minidriver WIA détermine le type d’élément avant de traiter le tableau PROPSPEC afin de réduire la nécessité de parcourir le tableau sur chaque appel IWiaMiniDrv::d rvValidateItemProperties . S’il n’existe aucune exigence de validation spéciale ou si vous devez mettre à jour les propriétés dépendantes sur l’élément racine de l’appareil, seules les demandes d’écriture aux propriétés d’élément enfant sont traitées.

  3. Créez un contexte de propriété WIA pour accéder aux valeurs qui ont été modifiées pendant la validation des propriétés WIA, ce qui est nécessaire pour mettre à jour les propriétés dépendantes d’un élément WIA. Utilisez les fonctions de service wiasCreatePropContext et wiasGetChangedValueXxx .

  4. Mettez à jour les propriétés dépendantes à l’aide des fonctions de service WIA, wiasWriteMultiple ou wiasWritePropXxx, ce qui inclut la mise à jour de toutes les valeurs valides qui ont pu être modifiées à la suite de la définition d’une propriété. Par exemple, si votre minidriver WIA prend en charge la définition de la propriété WIA_IPA_DEPTH , vous devez mettre à jour la liste valide des profondeurs de bits lorsque l’application modifie la propriété WIA_IPA_DATATYPE .

    Lorsque la valeur de la propriété WIA_IPA_DATATYPE passe de WIA_DATA_THRESHOLD à WIA_DATA_COLOR, la propriété WIA_IPA_DEPTH associée passe de la profondeur de couleur à un bit de rapport à 24 bits ou 48 bits.

  5. Appelez la fonction de service wiasValidateItemProperties pour permettre au service WIA de valider toutes les autres demandes de propriété. Il s’agit d’un cas fourre-tout; le service WIA dispose d’une validation de propriété intégrée.