다음을 통해 공유


논리 센서 정보

논리적 센서는 하드웨어 장치에 의존하지 않고 데이터를 제공합니다. 예를 들어 논리 센서는 테이블에서 IP 주소를 조회하는 서비스를 사용하여 사용자의 현재 위치에 대한 데이터를 제공할 수 있습니다. 논리 센서는 센서 드라이버로 구현됩니다. 센서 드라이버를 구현하는 방법에 대한 자세한 내용은 Windows 드라이버 키트를 참조하세요.

논리 센서가 사용자의 컴퓨터에 설치되면 하드웨어 기반 센서와 동일한 방식으로 사용할 수 있습니다. 센서 API는 논리 센서를 나타내는 ISensor 인터페이스를 제공하며, 프로그램은 다른 유형의 센서에 사용하는 것과 동일한 메커니즘을 통해 데이터를 요청할 수 있습니다. 논리 센서는 플랫폼 정의 센서 범주, 형식, 데이터 형식, 속성 및 이벤트를 사용할 수도 있습니다. 또는 사용자 지정 값을 정의할 수 있습니다.

ILogicalSensorManager 인터페이스를 사용하면 논리 센서를 만드는 개발자가 센서 및 위치 플랫폼에 대한 연결을 관리할 수 있습니다.

메모

다른 드라이버와 마찬가지로 논리 센서 드라이버를 설치하거나 제거하려면 관리자 권한이 필요합니다.

 

샘플 논리 센서를 사용해 보려면, 샘플 및 도구 을 참조하세요.

논리 센서 관리

iLogicalSensorManager메서드는 다음과 같습니다.

Connect호출하면 센서 API는 센서 드라이버의 인스턴스를 만들고, 아직 없는 경우 논리 센서를 플랫폼에 연결합니다. 즉, 논리 센서가 위치 및 기타 센서 제어판의 다른 센서와 함께 표시됩니다. 연결 끊기호출하면 센서 API는 논리 센서의 연결을 끊고 제어판에서 제거합니다. 연결 끊기를 호출해도 장치 관리자에서 논리 센서가 제거되지 않습니다. 따라서 향후 Connect 호출하면 논리 센서에 대한 연결 속도가 훨씬 빨라집니다.

논리 센서를 제거하려면 제거를 호출해야 합니다. 논리 센서를 제거하면 장치 관리자에서 센서가 삭제됩니다. 논리 센서 디바이스는 메모리에만 존재하기 때문에 사용자가 Windows를 다시 시작할 때 논리 센서가 제거됩니다.

센서 API는 논리 ID으로 특정 논리 센서를 식별하며, 이 ID는 GUID입니다. 특정 논리 센서에 연결할 때마다 논리 ID를 제공해야 합니다. 특정 센서의 연결을 끊거나 제거할 때마다 연결하는 데 사용한 것과 동일한 논리 ID를 제공해야 합니다. 다른 논리 ID를 사용하여 동일한 논리 센서 드라이버에 여러 번 연결하는 경우 새 논리 ID마다 논리 센서의 별도 인스턴스를 만듭니다. 각 논리 ID에 대해 디스커넥트를 호출하더라도, 각 논리 센서에 대해 제거를 호출하거나 사용자가 Windows를 다시 시작하기 전까지는 이러한 개별 인스턴스들이 Device Manager에 그대로 남아 있습니다.

논리 센서 사용