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를 사용합니다.
이벤트 스레드를 만드는 클래스의 예제는 센서 이벤트 발생을 참조하세요.
IPortableDeviceValues 및 IPortableDeviceValuesCollection 은 Windows 이식 가능한 디바이스에 설명되어 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | sensorsclassextension.h |
라이브러리 | SensorsClassExtension.lib |