Compartir a través de


HrValidateIPMSubtree

Hace referencia a: Outlook 2013 | Outlook 2016

Agrega carpetas estándar demensajess (IPM) a un almacén de mensajes.

Propiedad Valor
Archivo de encabezado: Mapiutil.h
Implementado por: MAPI
Llamado por: Aplicaciones cliente
HrValidateIPMSubtree(
  LPMDB lpMDB,
  ULONG ulFlags,
  ULONG FAR * lpcValues,
  LPSPropValue FAR * lppProps,
  LPMAPIERROR FAR * lppMapiError
);

Parameters

lpMDB

[in] Puntero al objeto de almacén de mensajes al que se van a agregar las carpetas.

ulFlags

[in] Máscara de bits de marcas usadas para controlar cómo se crean las carpetas. Se pueden establecer las siguientes marcas:

MAPI_FORCE_CREATE

Las carpetas deben comprobarse antes de la creación, incluso si las propiedades del almacén de mensajes indican que son válidas. Normalmente, una aplicación cliente establece esta marca cuando un error indica que la estructura de una carpeta existente se ha dañado.

MAPI_FULL_IPM_TREE

El conjunto completo de carpetas IPM debe crearse en la carpeta raíz del almacén de mensajes. Los títulos de carpeta de la jerarquía son:

  • Vistas de carpeta
  • Vistas comunes
  • Raíz de búsqueda*
  • Subárbol IPM*
  • Bandeja de entrada
  • Bandeja de salida
  • Elementos eliminados*
  • Elementos enviados

donde las tres carpetas marcadas con * son el conjunto mínimo creado incluso cuando no se ha establecido la marca de MAPI_FULL_IPM_TREE. Normalmente, una aplicación cliente establece esta marca cuando el almacén de mensajes en el que se van a crear las carpetas es el almacén predeterminado.

lpcValues

[entrada, salida] Puntero al número de estructuras SPropValue de la matriz devuelta en el parámetro lppProps . El valor del parámetro lpcValues puede ser cero si lppProps es NULL.

lppProps

[entrada, salida] Puntero a un puntero a una matriz de estructuras SPropValue que contiene valores de propiedad para la propiedad PR_VALID_FOLDER_MASK (PidTagValidFolderMask) y para las propiedades de identificador de entrada de carpeta adecuadas. Si HrValidateIPMSubtree crea una bandeja de entrada en el almacén de mensajes, la matriz SPropValue incluye un identificador de entrada de bandeja de entrada con una etiqueta de propiedad especial codificada como PROP_TAG(PT_BINARY, PROP_ID_NULL). El parámetro lppProps puede ser NULL, lo que indica que la implementación de llamada no requiere que se devuelva una matriz SPropValue .

lppMapiError

[out] Puntero a un puntero a una estructura MAPIERROR que contiene información de versión, componente y contexto de un error. El parámetro lppMAPIError se establece en NULL si no se devuelve ninguna estructura MAPIERROR .

Valor devuelto

Ninguno.

Comentarios

MAPI usa la función HrValidateIPMSubtree internamente para construir el subárbol IPM estándar en un almacén de mensajes cuando se abre por primera vez el almacén o cuando se crea un almacén predeterminado. Las aplicaciones cliente también pueden usar esta función para validar o reparar carpetas de mensajes estándar.

HrValidateIPMSubtree siempre crea las carpetas Raíz de búsqueda y Subárbol IPM en la carpeta raíz del almacén y la carpeta Elementos eliminados en la carpeta Subárbol IPM. La carpeta subárbol IPM es la raíz de la jerarquía de IPM en ese almacén de mensajes. La carpeta Raíz de búsqueda se puede usar como raíz de un subárbol para las carpetas de resultados de búsqueda.

Los clientes IPM deben mostrar su vista de carpeta a partir de la carpeta raíz del subárbol IPM y mostrar las carpetas secundarias debajo de ella. La información de la carpeta raíz de un almacén de mensajes no debe aparecer en la interfaz de usuario de un cliente. Esta funcionalidad significa que si un cliente debe ocultar información, la información se puede colocar en el directorio raíz del subárbol IPM, donde no es visible para el usuario. Por el contrario, las aplicaciones que no son IPM que requieren que los mensajes y carpetas sean invisibles para el usuario, por ejemplo, en un almacén de mensajes basado en servidor, pueden colocarlos fuera de la jerarquía de IPM.

HrValidateIPMSubtree establece la propiedad PR_VALID_FOLDER_MASK para indicar si cada carpeta IPM que crea tiene un identificador de entrada válido. Las siguientes propiedades de identificador de entrada del almacén de mensajes se establecen en los identificadores de entrada de las carpetas correspondientes y se devuelven en el parámetro lppProps junto con PR_VALID_FOLDER_MASK:

PR_COMMON_VIEWS_ENTRYID (PidTagCommonViewsEntryId)

PR_FINDER_ENTRYID (PidTagFinderEntryId)

PR_IPM_OUTBOX_ENTRYID (PidTagIpmOutboxEntryId)

PR_IPM_SENTMAIL_ENTRYID (PidTagIpmSentMailEntryId)

PR_IPM_SUBTREE_ENTRYID (PidTagIpmSubtreeEntryId)

PR_IPM_WASTEBASKET_ENTRYID (PidTagIpmWastebasketEntryId)

PR_VIEWS_ENTRYID (PidTagViewsEntryId)

Un marcador de posición PROP_TAG para la Bandeja de entrada de IPM (PT_BINARY, PROP_ID_NULL).

Referencia de MFCMAPI

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

Archivo Función Comment
MstStoreDlg.cpp CMsgStoreDlg::OnValidateIPMSubtree MFCMAPI usa el método HrValidateIPMSubtree para agregar carpetas estándar a un almacén de mensajes.

Vea también

IMAPISession::OpenMsgStoreMFCMAPI como ejemplo de código