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.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
intestazione | sensorsclassextension.h |
libreria | SensorsClassExtension.lib |