Compartir a través de


IMAPIContainer::GetContentsTable

Hace referencia a: Outlook 2013 | Outlook 2016

Devuelve un puntero a la tabla de contenido del contenedor.

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

Parameters

ulFlags

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

MAPI_ASSOCIATED

La tabla de contenido asociada del contenedor debe devolverse en lugar de la tabla de contenido estándar. Esta marca solo se usa con carpetas. Los mensajes que se incluyen en la tabla de contenido asociada se crearon con la marca MAPI_ASSOCIATED establecida en la llamada al método IMAPIFolder::CreateMessage . Los clientes suelen usar la tabla de contenido asociada para recuperar formularios, vistas y otros mensajes ocultos.

ACLTABLE_FREEBUSY

Permite el acceso a los derechos frightsFreeBusySimple y frightsFreeBusyDetailed en PR_MEMBER_RIGHTS.

MAPI_DEFERRED_ERRORS

GetContentsTable 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 MAPI_UNICODE, las cadenas deben devolverse en el 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 contenido.

Valor devuelto

S_OK

La tabla de contenido 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 contenido y no puede proporcionar una tabla de contenido.

Comentarios

El método IMAPIContainer::GetContentsTable devuelve un puntero a la tabla de contenido de un contenedor. Una tabla de contenido contiene información de resumen sobre los objetos del contenedor.

Las tablas de contenido tienen conjuntos de columnas largos. Para obtener una lista completa de las columnas necesarias y opcionales en las tablas de contenido, consulte Tablas de contenido.

Es posible que algunos contenedores no tengan contenido. Estos contenedores devuelven MAPI_E_NO_SUPPORT de sus implementaciones de GetContentsTable.

Notas a los implementadores

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

La implementación de este método por parte de un proveedor de transporte remoto debe devolver un puntero a una interfaz IMAPITable : IUnknown en el parámetro ppTable pasado al método GetContentsTable . Si el proveedor de transporte tiene una tabla de contenido existente, basta con devolverle un puntero. Si no es así, este método debe crear un nuevo objeto IMAPITable : IUnknown , rellenar la tabla con encabezados de mensaje (si hay alguno disponible) y devolver un puntero a la nueva tabla. El método ITableData::HrGetView es útil para generar un valor devuelto y almacenar el puntero de tabla en el parámetro ppTable . La tabla de contenido debe admitir al menos las siguientes columnas de propiedad:

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 una cadena o a la versión truncada de esa cadena.

Referencia de MFCMAPI

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

Archivo Función Comment
ContentsTableDialog.cpp
CContentsTableDlg::CContentsTableDlg
La clase CContentsTableDlg usa GetContentsTable para obtener las entradas de una tabla de contenido.

Vea también

IMAPIProp::GetPropList

IMAPIProp::GetProps

IMAPIProp::OpenProperty

IMAPITable : IUnknown

Propiedad canónica PidTagContainerContents

IMAPIContainer : IMAPIProp

MFCMAPI como un ejemplo de c�digo