Freigeben über


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

Zeigen Sie auf eine IPortableDeviceValuesCollection-Schnittstelle, die die Liste der geposteten Ereignisse und deren zugeordneten Daten enthält.

Rückgabewert

Diese Methode gibt ein HRESULT zurück. Mögliche Werte sind, aber nicht beschränkt auf einen der folgenden Werte.

Rückgabecode Beschreibung
S_OK Die Methode war erfolgreich.
S_FALSE Die Methode war erfolgreich, aber derzeit werden keine Clientprogramme für Ereignisse abonniert. Veröffentlichen Sie keine Ereignisse, wenn keine Clients abonniert werden.
E_INVALIDARG Die Ereignissammlung 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 sind keine Clientprogramme für Ereignisse abonniert. Veröffentlichen Sie keine Ereignisse, wenn keine Clients abonniert werden.

Bemerkungen

Die Sensorklassenerweiterung leitet diese Ereignisse an die Sensor-API und die Standort-API weiter, die wiederum Ereignisse in Clientprogrammen auslöst.

Die über pEventCollection übergebene Auflistung kann ein oder mehrere Ereignisse enthalten. Stellen Sie jedes Ereignis und die zugehörigen Daten mithilfe eines IPortableDeviceValues-Objekts dar. Plattformdefinierte PROPERTYKEY-für Ereignisse und Datentypen werden in sensors.h definiert.

Jedes IPortableDeviceValues- von dieser Methode zurückgegebene Objekt muss einen Zeitstempel enthalten, wie in SENSOR_CATEGORY_ALLbeschrieben.

Die Sensorklassenerweiterung ist dafür verantwortlich, alle von dieser Methode bereitgestellten PROPVARIANT Strukturen frei zu geben.

Verwenden Sie zum Angeben des Ereignistyps die 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- werden auf tragbaren Windows-Geräten dokumentiert.

Hinweis Die Sensorklassenerweiterung ruft PropVariantClear für PROPVARIANTs auf, die Sie an die Sensorklassenerweiterung übergeben.
 
Auslösen von Zustandsänderungsereignissen durch Aufrufen von ISensorClassExtension::P ostStateChange.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- sensorsclassextension.h
Library SensorsClassExtension.lib

Siehe auch

ISensorClassExtension