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.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | sensorclassextension.h |
Libreria | SensorsClassExtension.lib |