Compartilhar via


Método IMultiInterfaceEventControl::GetSubscriptions (eventsys.h)

Recupera a coleção de objetos de assinatura associados a um método de evento.

Sintaxe

HRESULT GetSubscriptions(
  [in]          REFIID                 eventIID,
  [in]          BSTR                   bstrMethodName,
  [in]          BSTR                   optionalCriteria,
  [in]          int                    *optionalErrorIndex,
  [out, retval] IEventObjectCollection **ppCollection
);

Parâmetros

[in] eventIID

O identificador de interface da interface de disparo.

[in] bstrMethodName

O método de evento associado à coleção de assinaturas.

[in] optionalCriteria

Uma cadeia de caracteres que especifica os critérios de consulta. Se esse parâmetro for NULL, a consulta padrão especificada pelo método SetDefaultQuery será usada. Para obter detalhes sobre como formar uma expressão válida para esse parâmetro, consulte a seção Comentários abaixo.

[in] optionalErrorIndex

O local, expresso como um deslocamento, de um erro no parâmetro optionalCriteria . Esse parâmetro não pode ser NULL.

[out, retval] ppCollection

O endereço de um ponteiro para uma interface IEventObjectCollection em um objeto de coleção que enumera as assinaturas associadas ao objeto de evento.

Valor retornado

Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
EVENT_E_QUERYSYNTAX
Ocorreu um erro de sintaxe ao tentar avaliar uma cadeia de caracteres de consulta.
EVENT_E_QUERYFIELD
Um nome de campo inválido foi usado em uma cadeia de caracteres de consulta.
EVENT_E_INTERNALEXCEPTION
Uma exceção inesperada foi gerada.
EVENT_E_INTERNALERROR
Um erro interno inesperado foi detectado.

Comentários

Esse método é uma forma mais especializada do método IEventSystem::Query . Além de obter apenas objetos de assinatura, uma coleção obtida chamando GetSubscriptions é atualizada automaticamente sempre que a coleção de assinatura é alterada.

Os critérios de consulta especificados pelo parâmetro optionalCriteria podem ser "ALL", para especificar uma solicitação para todos os objetos de assinatura ou uma expressão booliana que indica uma ou mais condições que um objeto de assinatura deve atender para ser incluída no resultado da consulta. Expressões válidas são do seguinte formulário:

[NOT] propertynamerelationalOperatorvalue. Os operadores relacionais válidos são os seguintes:

==, =, !=, <>, ~=. Os valores válidos são "string", 'string', {GUID}, TRUE, FALSE, NULL.

Expressões boolianas individuais podem ser unidas com AND ou OR. As expressões podem ser aninhadas entre parênteses para impor uma ordem de avaliação específica.

A seguir estão alguns exemplos de critérios de consulta válidos:

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

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

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho eventsys.h

Confira também

IMultiInterfaceEventControl