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 |