Metodo IEventSystem::Query (eventsys.h)

Recupera una raccolta di oggetti sottoscrizione o eventi dall'archivio dati eventi.

Sintassi

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

Parametri

[in] progID

Oggetto ProgID della classe oggetto da eseguire una query. Questo deve essere un identificatore di classe dell'oggetto evento valido. Questo parametro può essere uno dei valori seguenti:

  • PROGID_EventClass
  • PROGID_EventClassCollection
  • PROGID_EventSubscription
  • PROGID_EventSubscriptionCollection

[in] queryCriteria

Criteri di query. Per informazioni dettagliate sulla forma di un'espressione valida per questo parametro, vedere la sezione Osservazioni di seguito.

[out] errorIndex

Posizione, espressa come offset, di un errore nel parametro queryCriteria .

[out, retval] ppInterface

Indirizzo di un puntatore all'oggetto ottenuto come risultato della query. Questo parametro non può essere NULL. A seconda dell'oggetto specificato dal parametro progID , si tratta di un puntatore a una delle interfacce seguenti:

Valore restituito

Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_POINTER, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
EVENT_E_QUERYSYNTAX
Si è verificato un errore di sintassi durante il tentativo di valutare una stringa di query.
EVENT_E_QUERYFIELD
Un nome di campo non valido è stato usato in una stringa di query.

Commenti

Il chiamante è responsabile del liberamento della memoria allocata tramite il parametro ppInterface .

I criteri di query specificati dal parametro queryCriteria possono essere "ALL", per specificare una richiesta per tutti gli oggetti sottoscrizione o un'espressione booleana che denota una o più condizioni che un oggetto sottoscrizione deve soddisfare per essere incluso nel risultato della query. Le espressioni valide sono del modulo seguente:

[NOT] valorepropertynamerelationalOperator. Gli operatori relazionali validi sono i seguenti:

==, =, !=, <>~=. I valori validi sono "string", 'string', {GUID}, TRUE, FALSE, NULL.

Le singole espressioni booleane possono essere unite a AND o OR. Le espressioni possono essere annidate tra parentesi per applicare un ordine specifico di valutazione.

Di seguito sono riportati alcuni esempi di criteri di query validi:

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

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

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione eventsys.h

Vedi anche

IEventSystem