IMAPIContainer::GetSearchCriteria
Hace referencia a: Outlook 2013 | Outlook 2016
Obtiene los criterios de búsqueda para el contenedor.
HRESULT GetSearchCriteria(
ULONG ulFlags,
LPSRestriction FAR * lppRestriction,
LPENTRYLIST FAR * lppContainerList,
ULONG FAR * lpulSearchState
);
Parameters
ulFlags
[in] Máscara de bits de marcas que controla el tipo de las cadenas pasadas. Se puede establecer la marca siguiente:
MAPI_UNICODE
Las cadenas pasadas están en formato Unicode. Si no se establece la marca de MAPI_UNICODE, las cadenas están en formato ANSI.
lppRestriction
[out] Puntero a un puntero a una estructura SRestriction que define los criterios de búsqueda. Si una aplicación cliente pasa NULL en el parámetro lppRestriction , GetSearchCriteria no devuelve una estructura SRestriction .
lppContainerList
[out] Puntero a un puntero a una matriz de identificadores de entrada que representan los contenedores que se incluirán en la búsqueda. Si un cliente pasa NULL en el parámetro lppContainerList , GetSearchCriteria no devuelve una matriz de identificadores de entrada.
lpulSearchState
[out] Puntero a una máscara de bits de marcas usadas para indicar el estado actual de la búsqueda. Si un cliente pasa NULL en el parámetro lpulSearchState , GetSearchCriteria no devuelve ninguna marca. Se pueden establecer las siguientes marcas:
SEARCH_FOREGROUND
La búsqueda debe ejecutarse con prioridad alta en relación con otras búsquedas. Si no se establece esta marca, la búsqueda se ejecuta con prioridad normal en relación con otras búsquedas.
SEARCH_REBUILD
La búsqueda está en el modo intensivo de CPU de su operación, intentando buscar mensajes que coincidan con los criterios. Si no se establece esta marca, se ha terminado la parte de uso intensivo de la CPU de la operación de búsqueda. Esta marca solo tiene significado si la búsqueda está activa (es decir, si se establece la marca de SEARCH_RUNNING).
SEARCH_RECURSIVE
La búsqueda busca entradas coincidentes en contenedores especificados y en todos sus contenedores secundarios. Si no se establece esta marca, solo se buscan los contenedores incluidos explícitamente en la última llamada al método IMAPIContainer::SetSearchCriteria .
SEARCH_RUNNING
La búsqueda está activa y la tabla de contenido del contenedor se está actualizando para reflejar los cambios en el almacén de mensajes o la libreta de direcciones. Si no se establece esta marca, la búsqueda está inactiva y la tabla de contenido es estática.
Valor devuelto
S_OK
Los criterios de búsqueda se obtuvieron correctamente.
MAPI_E_BAD_CHARWIDTH
Se estableció la marca de MAPI_UNICODE y la implementación no admite Unicode, o MAPI_UNICODE no se estableció y la implementación solo admite Unicode.
MAPI_E_NOT_INITIALIZED
Nunca se establecieron criterios de búsqueda para el contenedor.
Comentarios
El método IMAPIContainer::GetSearchCriteria obtiene los criterios de búsqueda de un contenedor que admite búsquedas, normalmente una carpeta search-results. Para crear criterios de búsqueda, llame al método IMAPIContainer::SetSearchCriteria de un contenedor.
Notas a los implementadores
Es posible que los contenedores de libreta de direcciones solo necesiten admitir GetSearchCriteria si proporcionan las funcionalidades de búsqueda avanzada asociadas a la propiedad PR_SEARCH (PidTagSearch). Para obtener más información sobre cómo implementar la característica de búsqueda avanzada para contenedores de libreta de direcciones, consulte Implementación de búsqueda avanzada.
Notas para los llamadores
Cuando haya terminado con las estructuras de datos a las que apuntan los parámetros lppRestriction y lppContainerList , llame a MAPIFreeBuffer una vez para cada estructura que se va a liberar.
Referencia de MFCMAPI
Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.
Archivo | Función | Comment |
---|---|---|
HierarchyTableDlg.cpp |
CHierarchyTableDlg::OnEditSearchCriteria |
MFCMAPI usa el método IMAPIContainer::GetSearchCriteria para obtener criterios de búsqueda de una carpeta que se va a mostrar. |
Vea también
IMAPIContainer::SetSearchCriteria