ISensorClassExtension::P ostEvent-Methode (sensorsclassextension.h)
Die ISensorClassExtension::P ostEvent-Methode löst ein oder mehrere Treiberereignisse in der Sensorklassenerweiterung aus.
Syntax
HRESULT PostEvent(
LPWSTR pwszSensorID,
IPortableDeviceValuesCollection *pEventCollection
);
Parameter
pwszSensorID
LPWSTR, das die ID für den Sensor enthält, für den der Treiber das Ereignis auslöst.
pEventCollection
Zeiger auf eine IPortableDeviceValuesCollection-Schnittstelle, die die Liste der geposteten Ereignisse und die zugehörigen Daten enthält.
Rückgabewert
Diese Methode gibt ein HRESULT zurück. Mögliche Werte sind unter anderem einer der folgenden Werte.
Rückgabecode | Beschreibung |
---|---|
S_OK | Die Methode wurde erfolgreich ausgeführt. |
S_FALSE | Die Methode war erfolgreich, aber derzeit werden keine Clientprogramme abonniert. Posten Sie keine Ereignisse, wenn keine Clients abonniert sind. |
E_INVALIDARG | Die Ereignisauflistung war leer. |
E_POINTER | Ein erforderliches Zeigerargument war NULL. |
HRESULT_FROM_WIN32(ERROR_CAN_NOT_COMPLETE) | Die Klassenerweiterung wird nicht initialisiert. |
HRESULT_FROM_WIN32(ERROR_INTERNAL_DB_CORRUPTION) | Ein Serialisierungsfehler ist aufgetreten. |
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) | Derzeit werden keine Clientprogramme für Ereignisse abonniert. Posten Sie keine Ereignisse, wenn keine Clients abonniert sind. |
Hinweise
Die Sensorklassenerweiterung leitet diese Ereignisse an die Sensor-API und die Standort-API weiter, die wiederum Ereignisse in Clientprogrammen auslösen.
Die über pEventCollection übergebene Auflistung kann mindestens ein Ereignis enthalten. Stellen Sie jedes Ereignis und die zugehörigen Daten mithilfe eines IPortableDeviceValues-Objekts dar. Plattformdefinierte PROPERTYKEYsfür Ereignisse und Datentypen werden in sensors.h definiert.
Jedes IPortableDeviceValues-Objekt , das von dieser Methode zurückgegeben wird, muss einen Zeitstempel enthalten, wie in SENSOR_CATEGORY_ALL beschrieben.
Die Sensorklassenerweiterung ist für das Freigeben aller PROPVARIANT-Strukturen verantwortlich, die von dieser Methode bereitgestellt werden.
Um den Ereignistyp anzugeben, verwenden Sie den SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY mit dem entsprechenden GUID-Wert .
Ein Beispiel für eine Klasse, die einen Ereignisthread erstellt, finden Sie unter Auslösen von Sensorereignissen.
IPortableDeviceValues und IPortableDeviceValuesCollection sind unter Tragbare Windows-Geräte dokumentiert.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | sensorsclassextension.h |
Bibliothek | SensorsClassExtension.lib |