Partager via


Commandes facultatives

Les commandes suivantes peuvent être implémentées par le microdriver, mais il n’est pas nécessaire de le faire.

CMD_GETSUPPORTEDFILEFORMATS

Appelé par le pilote à plat WIA pour obtenir le nombre de formats de fichiers supplémentaires. Deux membres de la structure VAL passée doivent être renseignés : lVal doit être défini sur le nombre de formats de fichiers supplémentaires ; pGuid doit pointer vers un tableau de GUID de format d’image. La mémoire allouée pour ce tableau appartient au microdriver et ne doit être libérée que par celui-ci.

Les formats d’image sont répertoriés dans wiadef.h ou peuvent être définis en tant que formats personnalisés. Notez que étant donné que les formats BMP (fichier) et MEMORYBMP (mémoire) sont des formats obligatoires, le pilote à plat WIA les ajoute automatiquement. Le microdriver ne doit pas les ajouter à sa liste étendue.

Cette commande est facultative, sauf si l’appareil peut prendre en charge des formats de fichiers supplémentaires.

CMD_GETSUPPORTEDMEMORYFORMATS

Appelé par le pilote à plat WIA pour obtenir le nombre de formats de mémoire supplémentaires. Deux membres de la structure VAL passée doivent être renseignés : lVal doit être défini sur le nombre de formats de mémoire supplémentaires ; pGuid doit pointer vers un tableau de GUID de format d’image. La mémoire allouée pour ce tableau appartient au microdriver et ne doit être libérée que par celui-ci.

Les formats d’image sont répertoriés dans wiadef.h ou peuvent être définis en tant que formats personnalisés. Notez que étant donné que les formats BMP (fichier) et MEMORYBMP (mémoire) sont des formats obligatoires, le pilote à plat WIA les ajoute automatiquement. Le microdriver ne doit pas les ajouter à sa liste étendue.

Cette commande est facultative, sauf si l’appareil peut prendre en charge des formats de mémoire supplémentaires.

CMD_SETFORMAT

Le pilote de classe envoie cette commande pour définir le format actuel comme demandé par l’application. Le membre pGuid de la structure VAL contient le GUID de format d’image. Le microdriver doit enregistrer cet ID de format d’image dans son contexte privé, afin de suivre le paramètre de format d’image actuel.

Les microdrivers sont nécessaires pour prendre en charge cette commande uniquement s’ils signalent des formats étendus. Étant donné que le pilote de classe n’a aucun moyen de valider les données dans des formats étendus, il incombe au microdriver de générer les données appropriées. Lors du transfert de données dans un format étendu, toutes les données doivent être transférées, y compris les en-têtes d’image. Par exemple, si votre pilote indique qu’il prend en charge le format JPEG, tous les fichiers JPEG doivent être transférés, et pas seulement les bits d’image.

Le pilote de classe est propriétaire de la mémoire pointée par le membre pGuid de la structure VAL, de sorte que le microdriver ne doit pas la libérer.

Notez que cette commande n’affecte pas la façon dont un microdriver répond aux appels à sa fonction Analyse . Comme d’habitude, le microdriver doit case activée les valeurs des paramètres lPhase, pScanInfo et lLength de cette fonction, et placer les données dans les mémoires tampons pointées par les paramètres pBuffer et pReceived le cas échéant.

Les pilotes qui prennent en charge uniquement les fichiers dans les formats WiaImgFmt_BMP et WiaImgFmt_MEMORYBMP (formats par défaut pour les microdrivers) peuvent recevoir la commande CMD_SETFORMAT. Ces pilotes peuvent ignorer cette commande, car le pilote de classe gère tous les transferts de données à l’aide des formats par défaut.

CMD_SETSCANMODE

Appelé par le pilote à plat WIA pour définir le mode d’analyse (préversion ou finale) de l’appareil du microdriver. Le membre lVal de la structure VAL contient l’une des valeurs suivantes, toutes deux définies dans wiamicro.h :

  • SCANMODE_PREVIEWSCAN − Mode d’analyse en préversion

  • SCANMODE_FINALSCAN − Mode d’analyse finale

CMD_SETSTIDEVICEHKEY

Appelé par le pilote à plat WIA pour permettre au microdriver de lire les entrées du Registre dans la section du Registre installé. Cette commande fournit le registre HKEY installé de l’appareil STI au microdriver, afin qu’il puisse accéder aux valeurs de registre privées de son appareil. Le membre pHandle de la structure VAL contient un pointeur vers le HKEY donné au pilote à plat WIA pendant la méthode IStiUSD::Initialize de STI. Il s’agit de la clé HKEY de niveau supérieur de la section de l’appareil installé. La clé DeviceData peut être ouverte directement à l’aide de cette clé HKEY. Pour plus d’informations, consultez Fichiers INF pour les appareils WIA .

Notes

Cette clé est ouverte et fermée uniquement par le pilote à plat WIA. Elle est également valide uniquement pendant cette commande et cette CMD_INITIALIZE (consultez Commandes requises). Une fois ces commandes retournées, la clé n’est plus valide. La valeur HKEY ne doit pas être mise en cache.