다음을 통해 공유


ISensorClassExtension::P ostEvent 메서드(sensorsclassextension.h)

ISensorClassExtension::P ostEvent 메서드는 센서 클래스 확장에서 하나 이상의 드라이버 이벤트를 발생시킵니다.

통사론

HRESULT PostEvent(
  LPWSTR                          pwszSensorID,
  IPortableDeviceValuesCollection *pEventCollection
);

매개 변수

pwszSensorID

드라이버가 이벤트를 발생시키는 센서의 ID를 포함하는 LPWSTR입니다.

pEventCollection

게시되는 이벤트 목록과 연결된 데이터가 포함된 IPortableDeviceValuesCollection 인터페이스에 대한 포인터입니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값은 다음 값 중 하나를 포함하지만 제한되지는 않습니다.

반환 코드 묘사
S_OK 메서드가 성공했습니다.
S_FALSE 메서드가 성공했지만 현재 이벤트를 구독하는 클라이언트 프로그램은 없습니다. 구독된 클라이언트가 없는 경우 이벤트를 게시하지 마세요.
E_INVALIDARG 이벤트 컬렉션이 비어 있습니다.
E_POINTER 필요한 포인터 인수는 NULL입니다.
HRESULT_FROM_WIN32(ERROR_CAN_NOT_COMPLETE) 클래스 확장이 초기화되지 않았습니다.
HRESULT_FROM_WIN32(ERROR_INTERNAL_DB_CORRUPTION serialization 오류가 발생했습니다.
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) 현재 이벤트를 구독하는 클라이언트 프로그램은 없습니다. 구독된 클라이언트가 없는 경우 이벤트를 게시하지 마세요.

발언

센서 클래스 확장은 이러한 이벤트를 센서 API 및 위치 API로 전달하여 클라이언트 프로그램에서 이벤트를 발생합니다.

pEventCollection 전달된 컬렉션에는 하나 이상의 이벤트가 포함될 수 있습니다. 하나의 IPortableDeviceValues 개체를 사용하여 각 이벤트 및 관련 데이터를 나타냅니다. 이벤트 및 데이터 형식에 대한 플랫폼 정의 PROPERTYKEYsensors.h에 정의됩니다.

이 메서드에서 반환된 각 IPortableDeviceValues 개체에는 SENSOR_CATEGORY_ALL설명된 대로 타임스탬프를 포함해야 합니다.

센서 클래스 확장은 이 메서드에서 제공하는 PROPVARIANT 구조를 해제합니다.

이벤트 유형을 지정하려면 적절한 GUID 값과 함께 SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY 사용합니다.

이벤트 스레드를 만드는 클래스의 예는 센서 이벤트 발생

IPortableDeviceValuesIPortableDeviceValuesCollection Windows 이식 가능한 디바이스에 설명되어 있습니다.

참고 센서 클래스 확장은 센서 클래스 확장에 전달하는 PROPVARIANT에 대해 PropVariantClear를 호출합니다.
 
ISensorClassExtension::P ostStateChange호출하여 상태 변경 이벤트를 발생합니다.

요구 사항

요구
대상 플랫폼 Windows
헤더 sensorsclassextension.h
라이브러리 SensorsClassExtension.lib

참고 항목

ISensorClassExtension