Partager via


Fonction d’analyse (wiamicro.h)

La fonction Analyse lit les données de l’appareil et retourne les données au pilote WIA Flatbed.

Syntaxe

WIAMICRO_API HRESULT Scan(
  [in, out] PSCANINFO pScanInfo,
            LONG      lPhase,
  [out]     PBYTE     pBuffer,
            LONG      lLength,
  [out]     LONG      *plReceived
);

Paramètres

[in, out] pScanInfo

Spécifie la structure SCANINFO qui représente les paramètres du microdriver. Ce paramètre est stocké par le pilote WIA Flatbed pour garantir la synchronisation des paramètres entre le microdriver et le pilote WIA Flatbed.

lPhase

Spécifie la phase d’analyse demandée. Ce paramètre peut être défini sur l’une des valeurs suivantes.

Valeur Signification
SCAN_FIRST Cela signale la première phase de l’analyse. Le microdriver effectue trois tâches : il initialise l’appareil, il utilise les données de la structure SCANINFO pour configurer l’analyse (par exemple, définir la résolution, la position de début, la largeur et la hauteur de l’appareil) et il démarre l’analyse. Les données doivent être retournées à partir de cet appel. Les données doivent être placées dans la mémoire tampon pointée par pBuffer et le paramètre pReceived doit être défini sur la quantité de données placées dans la mémoire tampon.
SCAN_NEXT Cela sera appelé à plusieurs reprises pendant le transfert de données. Les données doivent être placées dans la mémoire tampon pointée par pBuffer et le paramètre pReceived doit être défini sur la quantité de données placées dans la mémoire tampon.
SCAN_FINISHED Cette opération sera appelée à la fin de l’analyse pour mettre fin au processus d’analyse. Aucune donnée ne doit être transférée. SCAN_FINISHED sera toujours appelé même si l’utilisateur annule l’analyse. Le microdriver doit cesser de transférer des données et le scanneur doit être réinitialisé afin qu’il soit prêt pour l’analyse suivante. Les données retournées par cette fonction doivent être au format brut sans en-tête. Les données peuvent être empaquetées ou planaires, alignées ou non alignées, et dans l’ordre RVB ou BGR. Définissez les membres RawDataFormat, RawPixelOrder et bNeedDataAlignment de la structure SCANINFO de manière appropriée en réponse à la commande CMD_INITIALIZE.

[out] pBuffer

Spécifie la mémoire tampon qui sera remplie de données analysées par le microdriver. Cette mémoire tampon est allouée par le pilote à plat WIA et est garantie d’avoir au moins la longueur des octets de longueur.

lLength

Spécifie la quantité de données demandée qui sera analysée. Le microdriver ne doit jamais surcharger la mémoire tampon pointée vers pBuffer.

[out] plReceived

Spécifie la quantité de données réellement analysées dans pBuffer. Cette valeur ne doit jamais dépasser la valeur de lLength, mais peut être inférieure.

Valeur retournée

Si la fonction réussit, elle retourne S_OK. Si la fonction échoue, elle retourne un code d’erreur COM standard.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête wiamicro.h (inclure Wiamicro.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe

Voir aussi

SCANINFO

Commandes de microdriver WIA

WIA Microdriver Structures