Метод ISensorClassExtension::P ostEvent (sensorsclassextension.h)
Метод ISensorClassExtension::P ostEvent вызывает одно или несколько событий драйвера в расширении класса датчика.
Синтаксис
HRESULT PostEvent(
LPWSTR pwszSensorID,
IPortableDeviceValuesCollection *pEventCollection
);
Параметры
pwszSensorID
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 | Произошла ошибка сериализации. |
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) | В настоящее время клиентские программы не подписаны на события. Не публикуйте события, если клиенты не подписаны. |
Комментарии
Расширение класса датчика пересылает эти события в API датчика и API расположения, которые, в свою очередь, вызывают события в клиентских программах.
Коллекция, передаваемая через pEventCollection , может содержать одно или несколько событий. Представление каждого события и связанных с ним данных с помощью одного объекта IPortableDeviceValues . Определяемые платформой свойства PROPERTYKEYдля событий и типов данных определяются в sensors.h.
Каждый объект IPortableDeviceValues , возвращаемый этим методом, должен содержать метку времени, как описано в SENSOR_CATEGORY_ALL.
Расширение класса датчика отвечает за освобождение всех структур PROPVARIANT , предоставляемых этим методом.
Чтобы указать тип события, используйте SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY с соответствующим значением GUID .
Пример класса, создающего поток событий, см. в разделе Вызов событий датчика.
IPortableDeviceValues и IPortableDeviceValuesCollection описаны в статье Переносные устройства Windows.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | sensorsclassextension.h |
Библиотека | SensorsClassExtension.lib |