2016-09-12 2 views
0

J'essaie de comprendre comment je peux récupérer le tampon WINBIO_SENSOR_ATTRIBUTES en utilisant les API WBF. J'ai trouvé ce lien: https://msdn.microsoft.com/en-us/library/windows/hardware/ff536431C++ - Envoyer la commande IOCTL à WBF pour obtenir les attributs de capteur sous Windows

Il mentionne l'envoi de la commande IOCTL, cependant, je ne suis pas capable de comprendre comment exactement je peux l'invoquer du code C++ et recevoir la structure des attributs du capteur. Quelqu'un peut-il aider? ou pointez-moi sur un exemple de code qui fait la même chose?

Répondre

1

Regardez d'abord DeviceIoControl - c'est la fonction à laquelle vous devez fournir la valeur IOCTL_BIOMETRIC_GET_ATTRIBUTES comme second paramètre pour obtenir les données biométriques (le lien que vous avez décrit décrit comment gérer la taille du tampon de sortie - première fourniture un tampon de taille DWORD pour obtenir la taille réelle de la sortie, puis allouer un tampon de taille appropriée et récupérer les données réelles). Mais pour ce faire, vous avez également besoin d'un handle de périphérique valide (premier paramètre de DeviceIoControl). Ce handle doit être obtenu en appelant le CreateFile et en transmettant le nom du périphérique du pilote. Si vous ne connaissez pas le PDO alors vous pouvez essayer de regarder dans le Gestionnaire de périphériques si vous le montre sous l'onglet "Détails" ou vous devez utiliser les fonctions de la famille SetupDi * pour énumérer la classe de périphérique biométrique et obtenir le nom à partir de là .