Метод IMultiInterfaceEventControl::GetSubscriptions (eventsys.h)
Извлекает коллекцию объектов подписки, связанных с методом события.
Синтаксис
HRESULT GetSubscriptions(
[in] REFIID eventIID,
[in] BSTR bstrMethodName,
[in] BSTR optionalCriteria,
[in] int *optionalErrorIndex,
[out, retval] IEventObjectCollection **ppCollection
);
Параметры
[in] eventIID
Идентификатор интерфейса срабатывания.
[in] bstrMethodName
Метод события, связанный с коллекцией подписки.
[in] optionalCriteria
Строка, указывающая условия запроса. Если этот параметр имеет значение NULL, используется запрос по умолчанию, заданный методом SetDefaultQuery . Дополнительные сведения о формировании допустимого выражения для этого параметра см. в разделе Примечания ниже.
[in] optionalErrorIndex
Расположение ошибки в параметре optionalCriteria , выраженное в виде смещения. Этот параметр не может иметь значение NULL.
[out, retval] ppCollection
Адрес указателя на интерфейс IEventObjectCollection в объекте коллекции, который перечисляет подписки, связанные с объектом события.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED и E_FAIL, а также следующие значения.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
|
При попытке вычисления строки запроса произошла синтаксическая ошибка. |
|
В строке запроса использовалось недопустимое имя поля. |
|
Возникло непредвиденное исключение. |
|
Обнаружена непредвиденная внутренняя ошибка. |
Комментарии
Этот метод является более специализированной формой метода IEventSystem::Query . Помимо получения только объектов подписки, коллекция, полученная путем вызова GetSubscriptions , автоматически обновляется при каждом изменении коллекции подписок.
Критерии запроса, заданные параметром optionalCriteria , могут быть "ALL", чтобы указать запрос для всех объектов подписки, или логическое выражение, обозначающее одно или несколько условий, которым должен соответствовать объект подписки для включения в результат запроса. Допустимые выражения имеют следующую форму:
[НЕ] propertynamerelationalOperatorvalue. Допустимые реляционные операторы:
==, =, !=, <>, ~=. Допустимые значения: string,string, {GUID}, TRUE, FALSE, NULL.
Отдельные логические выражения можно объединить с помощью and или OR. Выражения можно вкладывать в круглые скобки, чтобы обеспечить определенный порядок вычисления.
Ниже приведены некоторые примеры допустимых условий запроса.
"EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF}"
"EventClassID == {F89859D1-6565-11D1-88C8-0080C7D771BF} AND MethodName = 'StockPriceChange'"
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | eventsys.h |