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