다음을 통해 공유


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 개체를 사용하여 각 이벤트 및 관련 데이터를 나타냅니다. 이벤트 및 데이터 형식에 대한 플랫폼 정의 PROPERTYKEY는 sensors.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