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

O método ISensorClassExtension::P ostEvent gera um ou mais eventos de driver na extensão de classe do 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á acionando o evento.

pEventCollection

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

Retornar valor

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 atualmente em eventos. Não poste eventos quando nenhum cliente for inscrito.

Comentários

A extensão de 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 . PROPERTYKEYs definidos 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 de classe do sensor é responsável por liberar quaisquer estruturas PROPVARIANT fornecidas por esse método.

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

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

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

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

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho sensorsclassextension.h
Biblioteca SensorsClassExtension.lib

Confira também

ISensorClassExtension