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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | sensorsclassextension.h |
Bibliothèque | SensorsClassExtension.lib |