Partager via


ISensorClassExtension ::P ostEvent, méthode (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 de retour

Cette méthode retourne un HRESULT. Les valeurs possibles incluent, mais ne sont pas limitées à, l’une des valeurs suivantes.

Retourner le code Description
S_OK La méthode a réussi.
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 obligatoire é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 Emplacement, qui à son tour déclenchent des événements dans les programmes clients.

La collection transmise par 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 PROPERTYKEY définies par la plateformepour 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 PROPERTYKEY SENSOR_EVENT_PARAMETER_EVENT_ID avec la valeur GUID appropriée.

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

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

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

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête sensorsclassextension.h
bibliothèque SensorsClassExtension.lib

Voir aussi

ISensorClassExtension