Fonction Scan (wiamicro.h)
La fonction Scan 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. Cela est stocké par le pilote WIA Flatbed pour garantir que les paramètres entre le microdriver et le pilote WIA Flatbed sont synchronisés.
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, utilise les données de la structure SCANINFO pour configurer l’analyse (par exemple, définir la résolution, la position de départ, la largeur et la hauteur sur l’appareil) et démarrer 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 vers laquelle 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 | Cette opération sera appelée à 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 est 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ée même si l’utilisateur annule l’analyse. Le microdriver doit arrêter le transfert de données et le scanneur doit être réinitialisé afin qu’il soit prêt pour l’analyse suivante. Les données retournées à partir de cette fonction doivent être au format brut sans en-tête. Les données peuvent être emballées ou planaires, alignées ou non alignées, et dans l’ordre RVB ou BGR. Définissez le RawDataFormat, RawPixelOrderet membres bNeedDataAlignment de la structure SCANINFO correctement 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’être au moins lLength octets de longueur.
lLength
Spécifie la quantité demandée de données qui seront analysées. Le microdriver ne doit jamais dépasser la mémoire tampon pointée par 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 de retour
Si la fonction réussit, elle retourne S_OK. Si la fonction échoue, elle retourne un code d’erreur COM standard.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | wiamicro.h (include Wiamicro.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |