Partager via


Méthode ISensorClassExtension ::P ostEvent (sensorsclassextension.h)

La méthode ISensorClassExtension ::P ostEvent déclenche un ou plusieurs événements de pilote dans l’extension de classe de capteur.

Syntaxe

HRESULT PostEvent(
  LPWSTR                          pwszSensorID,
  IPortableDeviceValuesCollection *pEventCollection
);

Paramètres

pwszSensorID

LPWSTR qui contient l’ID du capteur pour lequel le pilote déclenche l’événement.

pEventCollection

Pointeur vers une interface IPortableDeviceValuesCollection qui contient la liste des événements publiés et leurs données associées.

Valeur retournée

Cette méthode retourne un HRESULT. Les valeurs possibles incluent, sans s’y limiter, l’une des valeurs suivantes.

Code de retour Description
S_OK S_OK
S_FALSE La méthode a réussi, mais aucun programme client n’est actuellement abonné aux événements. Ne publiez pas d’événements quand aucun client n’est abonné.
E_INVALIDARG La collection d’événements était vide.
E_POINTER Un argument de pointeur requis était NULL.
HRESULT_FROM_WIN32(ERROR_CAN_NOT_COMPLETE) L’extension de classe n’est pas initialisée.
HRESULT_FROM_WIN32(ERROR_INTERNAL_DB_CORRUPTION Une erreur de sérialisation s'est produite.
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND) Aucun programme client n’est actuellement abonné aux événements. Ne publiez pas d’événements quand aucun client n’est abonné.

Remarques

L’extension de classe de capteur transfère ces événements à l’API Sensor et à l’API Location, qui à leur tour déclenchent des événements dans les programmes clients.

La collection transmise via pEventCollection peut contenir un ou plusieurs événements. Représentez chaque événement et ses données associées à l’aide d’un objet IPortableDeviceValues . Les PROPERTYKEYdéfinis par la plateforme pour les événements et les types de données sont définis dans sensors.h.

Chaque objet IPortableDeviceValues retourné par cette méthode doit contenir un horodatage, comme décrit dans SENSOR_CATEGORY_ALL.

L’extension de classe de capteur est chargée de libérer toutes les structures PROPVARIANT fournies par cette méthode.

Pour spécifier le type d’événement, utilisez le SENSOR_EVENT_PARAMETER_EVENT_ID PROPERTYKEY avec la valeur GUID appropriée.

Pour obtenir un exemple de classe qui crée un thread d’événements, consultez Levée d’événements de capteur

IPortableDeviceValues et IPortableDeviceValuesCollection sont documentés dans les appareils portables Windows.

Note L’extension de classe de capteur appelle PropVariantClear pour les PROPVARIANTs que vous passez à l’extension de classe de capteur.
 
Déclenchez des événements de changement d’état en appelant ISensorClassExtension ::P ostStateChange.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête sensorsclassextension.h
Bibliothèque SensorsClassExtension.lib

Voir aussi

ISensorClassExtension