Partager via


Commandes requises

L’ensemble de commandes requis suivant doit être implémenté par chaque microdriver.

CMD_GETCAPABILITIES

Appelé par wia Flatbed Driver pour obtenir des informations sur les événements de bouton. Trois membres de la structure VAL passée doivent être renseignés : lVal doit être défini sur le nombre de boutons ; pGuid doit être défini sur un tableau d’GUID d’événements ; ppButtonNames peut éventuellement être défini sur un tableau WCHAR* qui contient les noms de boutons dans le même ordre que dans pGuid (par exemple, « Bouton Analyser » ou « Bouton Télécopie »). Si ppButtonNames a la valeur NULL, le pilote à plat WIA crée des noms de boutons génériques. Les tableaux peuvent être alloués en réponse à CMD_INITIALIZE et libérés en réponse à CMD_UNINITIALIZE.

CMD_INITIALIZE

Appelé par le pilote à plat WIA pour initialiser le microdriver et définir les poignées d’E/S de l’appareil sur des valeurs valides. Cette commande est envoyée au microdriver lorsque le service WIA appelle la méthode IWiaMiniDrv ::d rvInitializeWia sur le pilote à plat WIA.

Le pilote à plat WIA crée automatiquement un handle d'Entrée/Sortie de périphérique et l'insère dans le membre du tableau DeviceIOHandles de la structure SCANINFO passée à l'indice 0. Le microdriver doit utiliser ce handle lorsqu’il doit communiquer avec l’appareil. Si le microdriver a besoin de handles d’appareil supplémentaires (par exemple, pour utiliser plusieurs canaux USB en bloc), ils peuvent être créés et stockés dans le tableau DeviceIOHandles jusqu’à un nombre maximal de MAX_IO_HANDLES. Le WIA Flatbed Driver fermera automatiquement le descripteur à l'index 0, car il a créé ce descripteur lors de l'initialisation. Les autres handles doivent être fermés par le microdriver en réponse à CMD_UNINITIALIZE.

Dans le cadre de cette commande, le microdriver doit également initialiser toutes les valeurs de la structure SCANINFO . Le microdriver doit définir les membres SupportedDataTypes, IntensityRange, ContrastRange, BedWidth et BedHeight de la structure SCANINFO, afin que le pilote à plat WIA puisse valider automatiquement ces valeurs par rapport aux plages légales de l’appareil.

CMD_RESETSCANNER

Appelé par le pilote de scanner à plat WIA pour réinitialiser l’appareil en réponse à une demande de service WIA. Le microdriver doit définir l’appareil sur son état de mise sous tension. Dans Windows Vista, le pilote à plat WIA n’utilise pas cette commande. Toutefois, les microdrivers doivent continuer à prendre en charge cette commande pour garantir une opération correcte dans Windows XP et, éventuellement, avec une version ultérieure du pilote à plat WIA susceptible d’utiliser cette commande.

CMD_SETDATATYPE

Appelé par le pilote à plat WIA pour définir le type de données de l’analyse. L’une des valeurs suivantes est passée dans le membre lVal de la structure VAL passée :

  • WIA_DATA_THRESHOLD − 1 bit noir et blanc

  • WIA_DATA_GRAYSCALE − nuances de gris 8 bits

  • WIA_DATA_COLOR − couleur 24 bits

Le microdriver doit stocker la valeur dans le membre DataType de la structure SCANINFO passée.

CMD_SETCONTRAST

Appelé par le pilote de numériseur à plat WIA pour définir la valeur de contraste de la numérisation. La valeur de contraste souhaitée est passée dans le membre lVal de la structure VAL passée. La valeur −1000 doit être interprétée comme la valeur de contraste la plus faible, 0 nominale et 1000 le contraste maximal de l’appareil. Le microdriver doit stocker la valeur dans le membre Contrast de la structure SCANINFO passée.

CMD_SETINTENSITY

Appelé par le pilote de scanner à plat WIA pour définir la valeur d’intensité ou de luminosité de la numérisation. La valeur d’intensité souhaitée est passée dans le membre lVal de la structure VAL passée. La valeur −1000 doit être interprétée comme la valeur de luminosité la plus faible, 0 nominale et 1000 la luminosité maximale de l’appareil. Le microdriver doit stocker la valeur dans le membre Intensity de la structure SCANINFO passée.

CMD_SETXRESOLUTION

Appelé par le pilote de scanner à plat WIA pour définir la résolution d’analyse horizontale. La résolution souhaitée en pixels est passée dans le membre lVal de la structure VAL passée. Le microdriver doit stocker la valeur dans le membre XResolution de la structure SCANINFO passée.

CMD_SETYRESOLUTION

Appelé par le pilote à plat WIA pour définir la résolution d’analyse verticale. La résolution souhaitée en pixels est passée dans le membre lVal de la structure VAL passée. Le microdriver doit stocker la valeur dans le membre YResolution de la structure SCANINFO passée.

CMD_STI_DEVICERESET

Appelé par le pilote à plat WIA pour réinitialiser l’appareil en réponse à une demande STILL Image (STI). Cette commande n’est généralement appelée qu’une seule fois, lors de l’initialisation.

CMD_STI_DIAGNOSTIC

Appelé par le pilote à plat WIA lorsque l’utilisateur demande un test de l’appareil.

CMD_UNINITIALIZE

Désinitialisez le microprogramme et fermez les handles d’E/S du périphérique. Le pilote à plat WIA ferme automatiquement le handle d’E/S de l’appareil dans le membre du tableau DeviceIOHandles de la structure SCANINFO , à l’index 0. Cette commande est envoyée au microdriver lorsque le pilote WIA Flatbed est déchargé.