Compartir a través de


IMAPIContainer::GetHierarchyTable

Hace referencia a: Outlook 2013 | Outlook 2016

Devuelve un puntero a la tabla de jerarquía del contenedor.

HRESULT GetHierarchyTable(
  ULONG ulFlags,
  LPMAPITABLE FAR * lppTable
);

Parameters

ulFlags

[in] Máscara de bits de marcas que controla cómo se devuelve la información en la tabla. Se pueden establecer las siguientes marcas:

CONVENIENT_DEPTH

Rellena la tabla de jerarquía con contenedores de varios niveles. Si no se establece CONVENIENT_DEPTH, la tabla de jerarquía solo contiene los contenedores secundarios inmediatos del contenedor.

MAPI_DEFERRED_ERRORS

GetHierarchyTable puede devolverse correctamente, posiblemente antes de que la tabla esté disponible para el autor de la llamada. Si la tabla no está disponible, realizar una llamada a la tabla posterior puede generar un error.

MAPI_UNICODE

Solicita que las columnas que contienen datos de cadena se devuelvan en formato Unicode. Si no se establece la marca de MAPI_UNICODE, las cadenas deben devolverse en formato ANSI.

SHOW_SOFT_DELETES

Muestra los elementos que están marcados actualmente como eliminados temporalmente, es decir, están en la fase de tiempo de retención de elementos eliminados.

lppTable

[out] Puntero a un puntero a la tabla de jerarquía.

Valor devuelto

S_OK

La tabla de jerarquía se recuperó 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_NO_SUPPORT

El contenedor no tiene contenedores secundarios y no puede proporcionar una tabla de jerarquía.

Comentarios

El método IMAPIContainer::GetHierarchyTable devuelve un puntero a la tabla de jerarquía de un contenedor. Una tabla de jerarquía contiene información de resumen sobre los contenedores secundarios del contenedor. Las tablas de jerarquía de carpetas contienen información sobre subcarpetas; Las tablas de jerarquía de libretas de direcciones contienen información sobre contenedores de libreta de direcciones secundarios y listas de distribución.

Es posible que algunos contenedores no tengan contenedores secundarios. Estos contenedores devuelven MAPI_E_NO_SUPPORT de sus implementaciones de GetHierarchyTable.

Cuando se establece la marca CONVENIENT_DEPTH, cada fila de la tabla de jerarquía también incluye la propiedad PR_DEPTH (PidTagDepth) como columna. PR_DEPTH indica el nivel de cada contenedor en relación con el contenedor que implementa la tabla. Los contenedores secundarios inmediatos del contenedor de implementación están en la profundidad cero, los contenedores secundarios en los contenedores de profundidad cero están en la profundidad uno, etc. Los valores de PR_DEPTH aumentan secuencialmente a medida que se profundiza la jerarquía de niveles.

Para obtener una lista completa de las columnas necesarias y opcionales de las tablas de jerarquía, consulte Tablas de jerarquía.

Notas a los implementadores

Si admite una tabla de jerarquía para el contenedor, también debe hacer lo siguiente:

Notas para los llamadores

Las columnas de tabla de contenido binario y de cadena se pueden truncar. Normalmente, los proveedores devuelven 255 caracteres. Dado que no puede saber de antemano si una tabla incluye columnas truncadas, suponga que una columna se trunca si la longitud de la columna es de 255 o 510 bytes. Siempre puede recuperar el valor completo de una columna truncada, si es necesario, directamente desde el objeto mediante su identificador de entrada para abrirlo y, a continuación, llamar al método IMAPIProp::GetProps .

En función de la implementación del proveedor, las restricciones y las operaciones de ordenación se pueden aplicar a toda la cadena o a la versión truncada de esa cadena. Además, no se garantiza que los proveedores de almacén respeten el conjunto de ordenación SSortOrderSet especificado para las tablas de jerarquía.

Referencia de MFCMAPI

Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.

Archivo Función Comment
HierarchyTableTreeCtrl.cpp
CHierarchyTableTreeCtrl::GetHierarchyTable
La clase CHierarchyTableTreeCtrl usa GetHierarchyTable para obtener tablas de jerarquía que se mostrarán en un control de vista de árbol.

Vea también

IMAPIProp::GetPropList

IMAPIProp::GetProps

IMAPITable : IUnknown

Propiedad canónica PidTagContainerHierarchy

IMAPIContainer : IMAPIProp

MFCMAPI como un ejemplo de c�digo