Partager via


BuildDisplayTable

S’applique à : Outlook 2013 | Outlook 2016

Crée une table d’affichage à partir des données de page de propriétés contenues dans une ou plusieurs structures DTPAGE .

Propriété Valeur
Fichier d’en-tête :
Mapiutil.h
Implémenté par :
MAPI
Appelé par :
Fournisseurs de services
STDAPI BuildDisplayTable(
  LPALLOCATEBUFFER lpAllocateBuffer,
  LPALLOCATEMORE lpAllocateMore,
  LPFREEBUFFER lpFreeBuffer,
  LPMALLOC lpMalloc,
  HINSTANCE hInstance,
  UINT cPages,
  LPDTPAGE lpPage,
  ULONG ulFlags,
  LPMAPITABLE * lppTable,
  LPTABLEDATA * lppTblData
);

Paramètres

lpAllocateBuffer

[in] Pointeur vers la fonction MAPIAllocateBuffer , à utiliser pour allouer de la mémoire.

lpAllocatePlus

[in] Pointeur vers la fonction MAPIAllocateMore , à utiliser pour allouer de la mémoire supplémentaire.

lpFreeBuffer

[in] Pointeur vers la fonction MAPIFreeBuffer , à utiliser pour libérer de la mémoire.

lpMalloc

Inutilisés; doit avoir la valeur NULL.

hInstance

[in] Instance d’un objet MAPI à partir duquel BuildDisplayTable récupère des ressources.

cPages

[in] Nombre de structures DTPAGE dans le tableau vers lequel pointe le paramètre lpPage .

lpPage

[in] Pointeur vers un tableau de structures DTPAGE qui contiennent des informations sur les pages de la table d’affichage à générer.

ulFlags

[in] Masque de bits des indicateurs. L’indicateur suivant peut être défini :

MAPI_UNICODE

Les chaînes transmises sont au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, les chaînes sont au format ANSI.

lppTable

[out] Pointeur vers un pointeur vers la table d’affichage, qui expose l’interface IMAPITable .

lppTblData

[in, out] Pointeur vers un pointeur vers un objet de données de table exposant l’interface ITableData sur la table retournée dans le paramètre lppTable . Si aucun objet de données de table n’est souhaité, lppTblData doit être défini sur NULL au lieu d’une valeur de pointeur.

Valeur renvoyée

Aucun

Remarques

MAPI utilise les fonctions pointées par lpAllocateBuffer, lpAllocateMore et lpFreeBuffer pour la plupart des allocations et désallocations de mémoire, en particulier pour allouer de la mémoire à utiliser par les applications clientes lors de l’appel d’interfaces objet telles que IMAPIProp ::GetProps et IMAPITable ::QueryRows.

Remarques pour les appelants

Tout ce qui est possible est lu à partir de la ressource de dialogue, notamment :

  • Titre de la page, c’est-à-dire le membre ulbLpszLabel de la structure DTBLPAGE lu à partir du titre de la boîte de dialogue dans la ressource.

  • Tous les titres de contrôle, c’est-à-dire les membres ulbLpszLabel d’autres structures de contrôle lisent le texte du contrôle dans la ressource.

BuildDisplayTable remplace tout ce qui est passé dans les structures de contrôle d’entrée par les informations de la ressource de dialogue, ce qui signifie que l’appelant de BuildDisplayTable ne peut pas spécifier dynamiquement les titres des pages ou des contrôles. Les appelants qui ont besoin de le faire peuvent avoir BuildDisplayTable retourner l’objet de données de table dans lppTableData et modifier les lignes de celui-ci ; ou ils peuvent créer la table d’affichage à la main dans un objet de données de table à la place.

Si lppTableData n’est pas défini sur NULL, le fournisseur est chargé de libérer l’objet de données de table lorsqu’il est terminé avec la table d’affichage.