Partager via


IEventSystem ::Query, méthode (eventsys.h)

Récupère une collection d’objets d’abonnement ou d’événements à partir du magasin de données d’événements.

Syntaxe

HRESULT Query(
  [in]          BSTR     progID,
  [in]          BSTR     queryCriteria,
  [out]         int      *errorIndex,
  [out, retval] IUnknown **ppInterface
);

Paramètres

[in] progID

ProgID de la classe d’objet à interroger. Il doit s’agir d’un identificateur de classe d’objet d’événement valide. Ce paramètre peut être l’une des valeurs suivantes :

  • PROGID_EventClass
  • PROGID_EventClassCollection
  • PROGID_EventSubscription
  • PROGID_EventSubscriptionCollection

[in] queryCriteria

Critères de requête. Pour plus d’informations sur la formation d’une expression valide pour ce paramètre, consultez la section Remarques ci-dessous.

[out] errorIndex

Emplacement, exprimé sous forme de décalage, d’une erreur dans le paramètre queryCriteria .

[out, retval] ppInterface

Adresse d’un pointeur vers l’objet obtenu à la suite de la requête. Ce paramètre ne peut pas être NULL. Selon l’objet spécifié par le paramètre progID , il s’agit d’un pointeur vers l’une des interfaces suivantes :

Valeur retournée

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_POINTER, E_OUTOFMEMORY, E_UNEXPECTED et E_FAIL, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
EVENT_E_QUERYSYNTAX
Une erreur de syntaxe s’est produite lors de la tentative d’évaluation d’une chaîne de requête.
EVENT_E_QUERYFIELD
Un nom de champ non valide a été utilisé dans une chaîne de requête.

Remarques

L’appelant est chargé de libérer la mémoire allouée via le paramètre ppInterface .

Les critères de requête spécifiés par le paramètre queryCriteria peuvent être « ALL », pour spécifier une demande pour tous les objets d’abonnement, ou une expression booléenne indiquant une ou plusieurs conditions qu’un objet d’abonnement doit remplir pour être inclus dans le résultat de la requête. Les expressions valides se présentent sous la forme suivante :

[NOT] valeur de propertynamerelationalOperator. Les opérateurs relationnels valides sont les suivants :

==, =, !=, <>, ~=. Les valeurs valides sont « string », « string », {GUID}, TRUE, FALSE, NULL.

Les expressions booléennes individuelles peuvent être jointes à AND ou OR. Les expressions peuvent être imbriquées entre parenthèses pour appliquer un ordre d’évaluation spécifique.

Voici quelques exemples de critères de requête valides :

« EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF} »

« EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF} AND MethodName = 'StockPriceChange' »

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête eventsys.h

Voir aussi

IEventSystem