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.

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 Windows
Kopfzeile sensorsclassextension.h
Bibliothek SensorsClassExtension.lib

Weitere Informationen

ISensorClassExtension