Метод 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, а также следующие значения.

Код возврата Описание
S_OK
Метод завершился успешно.
EVENT_E_QUERYSYNTAX
При попытке вычисления строки запроса произошла синтаксическая ошибка.
EVENT_E_QUERYFIELD
В строке запроса использовалось недопустимое имя поля.
EVENT_E_INTERNALEXCEPTION
Возникло непредвиденное исключение.
EVENT_E_INTERNALERROR
Обнаружена непредвиденная внутренняя ошибка.

Комментарии

Этот метод является более специализированной формой метода 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

См. также раздел

IMultiInterfaceEventControl