Compartilhar via


IMAPIContainer::GetSearchCriteria

Aplica-se a: Outlook 2013 | Outlook 2016

Obtém os critérios de pesquisa do contentor.

HRESULT GetSearchCriteria(
  ULONG ulFlags,
  LPSRestriction FAR * lppRestriction,
  LPENTRYLIST FAR * lppContainerList,
  ULONG FAR * lpulSearchState
);

Parâmetros

ulFlags

[in] Uma máscara de bits de sinalizadores que controla o tipo de cadeias de carateres transmitidas. Pode definir o seguinte sinalizador:

MAPI_UNICODE

As cadeias de carateres transmitidas estão no formato Unicode. Se o sinalizador MAPI_UNICODE não estiver definido, as cadeias de carateres estão no formato ANSI.

lppRestriction

[fora] Um ponteiro para um ponteiro para uma estrutura SRestriction que define os critérios de pesquisa. Se uma aplicação cliente passar NULL no parâmetro lppRestriction , GetSearchCriteria não devolverá uma estrutura SRestriction .

lppContainerList

[fora] Um ponteiro para um ponteiro para uma matriz de identificadores de entrada que representam contentores a serem incluídos na pesquisa. Se um cliente passar NULL no parâmetro lppContainerList , GetSearchCriteria não devolverá uma matriz de identificadores de entrada.

lpulSearchState

[fora] Um ponteiro para uma máscara de bits de sinalizadores utilizados para indicar o estado atual da pesquisa. Se um cliente passar NULL no parâmetro lpulSearchState , GetSearchCriteria não devolve sinalizadores. Os seguintes sinalizadores podem ser definidos:

SEARCH_FOREGROUND (0x1)

A pesquisa deve ser executada em alta prioridade relativamente a outras pesquisas. Se este sinalizador não estiver definido, a pesquisa é executada na prioridade normal relativamente a outras pesquisas.

SEARCH_REBUILD (0x2)

A pesquisa está no modo intensivo de CPU da respetiva operação, tentando localizar mensagens que correspondam aos critérios. Se este sinalizador não estiver definido, a parte intensiva da CPU da operação da pesquisa acabou. Este sinalizador só tem significado se a pesquisa estiver ativa (ou seja, se o sinalizador SEARCH_RUNNING estiver definido).

SEARCH_RECURSIVE (0x4)

A pesquisa está à procura de entradas correspondentes em contentores especificados e em todos os respetivos contentores subordinados. Se este sinalizador não estiver definido, apenas os contentores explicitamente incluídos na última chamada para o método IMAPIContainer::SetSearchCriteria estão a ser procurados.

SEARCH_RUNNING (0x8)

A pesquisa está ativa e a tabela de conteúdos do contentor está a ser atualizada para refletir as alterações no arquivo de mensagens ou no livro de endereços. Se este sinalizador não estiver definido, a pesquisa estará inativa e a tabela de conteúdos será estática.

SEARCH_COMPLETE (0x1000)

Os resultados da pesquisa estão concluídos.

SEARCH_PARTIAL (0x2000)

Apenas algumas partes das mensagens foram incluídas.

SEARCH_STATIC (0x10000)

A pesquisa é estática.

SEARCH_MAYBE_STATIC (0x20000)

A pesquisa ainda está a ser avaliada.

CI_TOTALLY (0x1000000)

A pesquisa é efetuada através exclusivamente da indexação de conteúdos.

CI_WITH_TWIR_RESIDUAL (0x2000000)

TWIR_MOSTLY (0x4000000)

TWIR_TOTALLY (0x8000000)

A pesquisa é efetuada sem utilizar a indexação de conteúdos e utilizar exclusivamente tabelas com restrições.

Valor de retorno

S_OK

Os critérios de pesquisa foram obtidos com êxito.

MAPI_E_BAD_CHARWIDTH

O sinalizador MAPI_UNICODE foi definido e a implementação não suporta Unicode ou MAPI_UNICODE não foi definido e a implementação suporta apenas Unicode.

MAPI_E_NOT_INITIALIZED

Os critérios de pesquisa nunca foram estabelecidos para o contentor.

Comentários

O método IMAPIContainer::GetSearchCriteria obtém os critérios de pesquisa de um contentor que suporta pesquisas, normalmente uma pasta de resultados de pesquisa. Pode criar critérios de pesquisa ao chamar o método IMAPIContainer::SetSearchCriteria de um contentor.

Observações para implementadores

Os contentores de livros de endereços só poderão ter de suportar GetSearchCriteria se fornecerem as capacidades de pesquisa avançadas associadas à propriedade PR_SEARCH (PidTagSearch). Para obter mais informações sobre como implementar a funcionalidade de pesquisa avançada para contentores de livros de endereços, veja Implementar a Pesquisa Avançada.

Notas para chamadores

Quando tiver terminado com as estruturas de dados apontadas pelos parâmetros lppRestriction e lppContainerList , chame MAPIFreeBuffer uma vez para que cada estrutura seja lançada.

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
HierarchyTableDlg.cpp
CHierarchyTableDlg::OnEditSearchCriteria
O MFCMAPI utiliza o método IMAPIContainer::GetSearchCriteria para obter critérios de pesquisa de uma pasta a apresentar.

Confira também

IMAPIContainer::SetSearchCriteria

IMAPIFolder::CreateFolder

MAPIFreeBuffer

Propriedade Canónica PidTagSearch

IMAPIContainer : IMAPIProp

MFCMAPI como exemplo de código