Compartilhar via


Método ISensorClassExtension::P ostEvent (sensorsclassextension.h)

O método ISensorClassExtension::P ostEvent gera um ou mais eventos de driver na extensão da classe de sensor.

Sintaxe

HRESULT PostEvent(
  LPWSTR                          pwszSensorID,
  IPortableDeviceValuesCollection *pEventCollection
);

Parâmetros

pwszSensorID

LPWSTR que contém a ID do sensor para o qual o driver está elevando o evento.

pEventCollection

Ponteiro para uma interface IPortableDeviceValuesCollection que contém a lista de eventos que estão sendo postados e seus dados associados.

Valor de retorno

Esse método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam a, um dos valores a seguir.

Código de retorno Descrição
S_OK O método foi bem-sucedido.
S_FALSE O método foi bem-sucedido, mas nenhum programa cliente está inscrito atualmente em eventos. Não poste eventos quando nenhum cliente for inscrito.
E_INVALIDARG A coleção de eventos estava vazia.
E_POINTER Um argumento de ponteiro necessário era NULL.
HRESULT_FROM_WIN32(ERROR_CAN_NOT_COMPLETE) A extensão de classe não é inicializada.
HRESULT_FROM_WIN32(ERROR_INTERNAL_DB_CORRUPTION Ocorreu um erro de serialização.
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) Nenhum programa cliente está inscrito em eventos no momento. Não poste eventos quando nenhum cliente for inscrito.

Observações

A extensão da classe de sensor encaminha esses eventos para a API do Sensor e a API de Localização, que, por sua vez, geram eventos em programas cliente.

A coleção passada por pEventCollection pode conter um ou mais eventos. Represente cada evento e seus dados associados usando um objeto IPortableDeviceValues. Os PROPERTYKEYdefinidos pela plataforma para eventos e tipos de dados são definidos em sensors.h.

Cada objeto IPortableDeviceValues retornado por esse método deve conter um carimbo de data/hora, conforme descrito em SENSOR_CATEGORY_ALL.

A extensão da classe de sensor é responsável por liberar todas as estruturas de PROPVARIANT fornecidas por esse método.

Para especificar o tipo de evento, use o SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY com o valor GUID de apropriado.

Para obter um exemplo de uma classe que cria um thread de evento, consulte Como gerar eventos de sensor

IPortableDeviceValues e IPortableDeviceValuesCollection estão documentados em Dispositivos Portáteis do Windows.

Observação A extensão da classe de sensor chamará PropVariantClear para PROPVARIANTs que você passar para a extensão da classe de sensor.
 
Gerar eventos de alteração de estado chamando ISensorClassExtension::P ostStateChange.

Requisitos

Requisito Valor
da Plataforma de Destino Windows
cabeçalho sensorsclassextension.h
biblioteca SensorsClassExtension.lib

Consulte também

ISensorClassExtension