Condividi tramite


Metodo ISensorClassExtension::P ostEvent (sensorsclassextension.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 che contiene l'ID per il sensore per il quale il driver sta generando l'evento.

pEventCollection

Puntatore a un'interfaccia IPortableDeviceValuesCollection che contiene l'elenco di eventi inviati 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 vengono attualmente sottoscritti programmi client agli eventi. Non pubblicare eventi quando non vengono sottoscritti client.
E_INVALIDARG La raccolta di 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.

Osservazioni

L'estensione della classe del sensore inoltra questi eventi all'API Sensor e all'API Location, che a sua volta generano 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. Le PROPERTYKEY definite dalla piattaformaper gli eventi e i tipi di dati sono definite in sensors.h.

Ogni IPortableDeviceValues oggetto 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 il PROPERTYKEY SENSOR_EVENT_PARAMETER_EVENT_ID 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 in Dispositivi portatili Windows.

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione sensorsclassextension.h
libreria SensorsClassExtension.lib

Vedere anche

ISensorClassExtension