C++ - 向 WBF 发送 IOCTL 命令以获取 Windows 上的传感器属性
Posted
技术标签:
【中文标题】C++ - 向 WBF 发送 IOCTL 命令以获取 Windows 上的传感器属性【英文标题】:C++ - Send IOCTL command to WBF to get sensor attributes on Windows 【发布时间】:2016-09-12 21:37:06 【问题描述】:我试图了解如何使用 WBF API 检索 WINBIO_SENSOR_ATTRIBUTES 缓冲区。 我找到了这个链接:https://msdn.microsoft.com/en-us/library/windows/hardware/ff536431
它提到了发送 IOCTL 命令,但是,我无法理解如何从 C++ 代码中调用它并接收传感器属性结构。有人可以帮忙吗?或者指出一些类似的示例代码?
【问题讨论】:
【参考方案1】:首先看一下DeviceIoControl - 这是您必须提供IOCTL_BIOMETRIC_GET_ATTRIBUTES
值作为第二个参数以获取生物特征数据的函数(您包含的链接描述了如何处理输出缓冲区的大小- 首先提供DWORD
大小的缓冲区以获取输出的实际大小,然后分配适当大小的缓冲区并检索实际数据)。但要做到这一点,您还需要一个有效的设备句柄(DeviceIoControl 的第一个参数)。此句柄应通过调用CreateFile 并传递驱动程序的设备名称来获得。如果您不知道 PDO,那么您可以尝试在设备管理器中查看“详细信息”选项卡下是否显示给您,或者您必须使用 SetupDi* 系列函数来枚举生物识别设备类并从那里获取名称.
【讨论】:
以上是关于C++ - 向 WBF 发送 IOCTL 命令以获取 Windows 上的传感器属性的主要内容,如果未能解决你的问题,请参考以下文章
IOCTL_ATA_PASS_THROUGH 是如何使用的?