IMultiInterfaceEventControl::SetDefaultQuery method (eventsys.h)
Establishes a default query to be used when a publisher filter is not associated with an event method.
Syntax
HRESULT SetDefaultQuery(
[in] REFIID eventIID,
[in] BSTR bstrMethodName,
[in] BSTR bstrCriteria,
[out, retval] int *errorIndex
);
Parameters
[in] eventIID
The interface identifier of the firing interface.
[in] bstrMethodName
The name of the method to which the default query is assigned.
[in] bstrCriteria
A string specifying the query criteria. This parameter cannot be NULL. For details on forming a valid expression for this parameter, see the Remarks section below.
[out, retval] errorIndex
The location, expressed as an offset, of an error in the bstrCriteria parameter.
Return value
This method can return the standard return values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and E_FAIL, as well as the following values.
Return code | Description |
---|---|
|
The method completed successfully. |
|
A syntax error occurred while trying to evaluate a query string. |
|
An invalid field name was used in a query string. |
|
An unexpected exception was raised. |
|
An unexpected internal error was detected. |
Remarks
This method is a more specialized form of the IEventSystem::Query method. In addition to obtaining only subscription objects, a collection obtained by calling GetSubscriptions is automatically updated whenever the subscription collection changes.
The query criteria specified by the bstrCriteria parameter can be "ALL", to specify a request for all subscription objects, or a Boolean expression denoting one or more conditions a subscription object must meet to be included in the query result. Valid expressions are of the following form:
[NOT] propertynamerelationalOperatorvalue. Valid relational operators are as follows:
==, =, !=, <>, ~=. Valid values are "string", 'string', {GUID}, TRUE, FALSE, NULL.
Individual Boolean expressions can be joined with AND or OR. Expressions can be nested in parentheses to enforce a specific order of evaluation.
Following are some examples of valid query criteria:
"EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF}"
"EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF} AND MethodName = 'StockPriceChange'"
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | eventsys.h |