Condividi tramite


Metodo ISensorClassExtension::P ostEvent (sensorclassextension.h)

Il metodo ISensorClassExtension::P ostEvent genera uno o più eventi driver nell'estensione della classe del sensore.

Sintassi

HRESULT PostEvent(
  LPWSTR                          pwszSensorID,
  IPortableDeviceValuesCollection *pEventCollection
);

Parametri

pwszSensorID

LPWSTR contenente l'ID per il sensore per il quale il driver genera l'evento.

pEventCollection

Puntatore a un'interfaccia IPortableDeviceValuesCollection che contiene l'elenco di eventi pubblicati e i relativi dati associati.

Valore restituito

Questo metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a uno dei valori seguenti.

Codice restituito Descrizione
S_OK Il metodo è riuscito.
S_FALSE Il metodo ha avuto esito positivo, ma non sono attualmente sottoscritti programmi client agli eventi. Non pubblicare eventi quando non vengono sottoscritti client.
E_INVALIDARG La raccolta eventi è vuota.
E_POINTER Un argomento del puntatore obbligatorio è NULL.
HRESULT_FROM_WIN32(ERROR_CAN_NOT_COMPLETE) L'estensione della classe non viene inizializzata.
HRESULT_FROM_WIN32(ERROR_INTERNAL_DB_CORRUPTION Si è verificato un errore di serializzazione.
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) Nessun programma client attualmente sottoscritto agli eventi. Non pubblicare eventi quando non vengono sottoscritti client.

Commenti

L'estensione della classe sensore inoltra questi eventi all'API Sensore e all'API Location, che a sua volta genera eventi nei programmi client.

La raccolta passata tramite pEventCollection può contenere uno o più eventi. Rappresentare ogni evento e i relativi dati associati usando un oggetto IPortableDeviceValues . Itipi di dati e gli eventi definiti dalla piattaforma sono definiti in sensors.h.

Ogni oggetto IPortableDeviceValues restituito da questo metodo deve contenere un timestamp, come descritto in SENSOR_CATEGORY_ALL.

L'estensione della classe del sensore è responsabile della liberazione di qualsiasi struttura PROPVARIANT fornita da questo metodo.

Per specificare il tipo di evento, usare la SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY con il valore GUID appropriato.

Per un esempio di classe che crea un thread di eventi, vedere Generazione di eventi del sensore

IPortableDeviceValues e IPortableDeviceValuesCollection sono documentati nei dispositivi portatili Windows.

Nota L'estensione della classe del sensore chiamerà PropVariantClear per PROPVARIANTs che si passa all'estensione della classe del sensore.
 
Generare eventi di modifica dello stato chiamando ISensorClassExtension::P ostStateChange.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione sensorclassextension.h
Libreria SensorsClassExtension.lib

Vedi anche

ISensorClassExtension