逻辑传感器 提供数据,而无需依赖于硬件设备。 例如,逻辑传感器可以使用在表中查找 IP 地址的服务提供有关用户的当前位置的数据。 逻辑传感器作为传感器驱动程序实现。 有关如何实现传感器驱动程序的信息,请参阅 Windows 驱动程序工具包。
在用户计算机上安装逻辑传感器后,可以采用与基于硬件的传感器相同的方式使用它。 传感器 API 将提供 一个 ISensor 接口来表示逻辑传感器,并且程序可以通过与用于任何其他类型的传感器相同的机制请求数据。 逻辑传感器还可以使用平台定义的传感器类别、类型、数据类型、属性和事件。 或者可以定义自定义值。
ILogicalSensorManager 接口使创建逻辑传感器的开发人员能够管理与传感器和位置平台的连接。
注释
与其他驱动程序一样,安装和卸载逻辑传感器驱动程序需要管理员权限。
若要尝试使用示例逻辑传感器,请参阅 “关于示例和工具”。
管理逻辑传感器
ILogicalSensorManager 具有以下方法:
调用 Connect 时,传感器 API 会创建传感器驱动程序的实例(如果尚不存在),然后将逻辑传感器连接到平台。 这意味着逻辑传感器与其他传感器一起显示在 “位置”和“其他传感器 ”控制面板中。 调用 Disconnect 时,传感器 API 会断开逻辑传感器的连接,并将其从控制面板中删除。 调用 Disconnect 不会从 设备管理器中删除逻辑传感器。 因此,将来对 Connect 的调用将导致与逻辑传感器建立更快的连接。
若要删除逻辑传感器,必须调用 Uninstall。 卸载逻辑传感器会从 Device Manager 中删除传感器。 由于逻辑传感器设备仅存在于内存中,因此当用户重启 Windows 时会卸载逻辑传感器。
传感器 API 通过其 逻辑 ID( GUID)标识特定的逻辑传感器。 每次连接到特定逻辑传感器时,都必须提供逻辑 ID。 每次断开连接或卸载特定传感器时,都必须提供用于连接的同一逻辑 ID。 如果使用不同的逻辑 ID 多次连接到同一逻辑传感器驱动程序,将为每个新的逻辑 ID 创建逻辑传感器的单独实例。 即使为每个逻辑 ID 调用 Disconnect ,这些单独的实例也会保留在 Device Manager 中,直到为每个逻辑传感器调用 Uninstall ,或者用户重新启动 Windows。