Compartir a través de


ADRPARM

Hace referencia a: Outlook 2013 | Outlook 2016

Describe la visualización y el comportamiento del cuadro de diálogo de dirección común.

Valor Descripción
Archivo de encabezado:
Mapidefs.h
typedef struct _ADRPARM
{
  ULONG cbABContEntryID;
  LPENTRYID lpABContEntryID;
  ULONG ulFlags;
  LPVOID lpReserved;
  ULONG ulHelpContext;
  LPSTR lpszHelpFileName;
  LPFNABSDI lpfnABSDI;
  LPFNDISMISS lpfnDismiss;
  LPVOID lpvDismissContext;
  LPSTR lpszCaption;
  LPSTR lpszNewEntryTitle;
  LPSTR lpszDestWellsTitle;
  ULONG cDestFields;
  ULONG nDestFieldFocus;
  LPSTR FAR *lppszDestTitles;
  ULONG FAR *lpulDestComps;
  LPSRestriction lpContRestriction;
  LPSRestriction lpHierRestriction;
} ADRPARM, FAR *LPADRPARM;

Members

cbABContEntryID

Recuento de bytes en el identificador de entrada al que apunta lpABContEntryID.

lpABContEntryID

Puntero al identificador de entrada del contenedor que proporciona la lista inicial de direcciones de destinatario que se muestran en el cuadro de diálogo de dirección.

ulFlags

Máscara de bits de marcas asociadas a varias opciones de cuadro de diálogo de dirección. Se pueden establecer las siguientes marcas:

AB_RESOLVE

Permitir que todos los nombres se resuelvan después de cerrar el cuadro de diálogo de dirección. Si hay entradas ambiguas que resultan del proceso de resolución de nombres, aparece un cuadro de diálogo para pedir ayuda al usuario para resolverlos. Establecer esta marca garantiza que se resuelvan todos los nombres devueltos por IAddrBook::Address .

AB_SELECTONLY

Deshabilite la creación de direcciones únicas para una lista de destinatarios. Esta marca solo se usa si el cuadro de diálogo es modal, como indica la marca de DIALOG_MODAL que se está estableciendo.

ADDRESS_ONE

El usuario puede seleccionar exactamente un destinatario en lugar de varios destinatarios de una lista. Esta marca solo es válida cuando cDestFields es cero y el cuadro de diálogo es modal, como indica la marca de DIALOG_MODAL que se está estableciendo.

DIALOG_MODAL

Hace que se muestre la versión modal del cuadro de diálogo de dirección común. Debe establecerse esta marca o DIALOG_SDI; no se pueden establecer ambos.

DIALOG_OPTIONS

Hace que el botón Opciones de envío se muestre en el cuadro de diálogo. Esta marca solo se usa si el cuadro de diálogo es modal, como indica la marca de DIALOG_MODAL que se está estableciendo.

DIALOG_SDI

Hace que se muestre la versión modeless del cuadro de diálogo de dirección común. Debe establecerse esta marca o DIALOG_MODAL; no se pueden establecer ambos. La marca de DIALOG_SDI se omite para los clientes que no son de Outlook y se mostrará la versión modal del cuadro de diálogo. Por lo tanto, no se debe esperar un puntero a un identificador en el parámetro lpulUIParam de IAddrBook::Address.

lpReserved

Reservado, debe ser cero.

ulHelpContext

Especifica el contexto de la Ayuda que se mostrará por primera vez cuando el usuario haga clic en el botón Ayuda del cuadro de diálogo dirección.

lpszHelpFileName

Puntero al nombre de un archivo de Ayuda que se asociará al cuadro de diálogo de dirección. El miembro lpszHelpFileName se usa junto con ulHelpContext para llamar a la función WinHelp de Windows.

lpfnABSDI

Puntero a una función MAPI basada en el prototipo ACCELERATEABSDI o NULL. Este miembro solo se aplica a la versión modeless del cuadro de diálogo, como indica la marca de DIALOG_SDI que se está estableciendo. Los clientes que crean una estructura ADRPARM para pasar a IAddrBook::Address siempre deben establecer el miembro lpfnABSDI en NULL. Si se establece la marca de DIALOG_SDI, MAPI la establecerá en una función válida antes de devolverla. Los clientes llaman a esta función desde en su bucle de mensajes para asegurarse de que los aceleradores del cuadro de diálogo de la libreta de direcciones funcionan. Cuando se descarta el cuadro de diálogo y MAPI llama a la función a la que apunta el miembro lpfnDismiss, los clientes deben desenlazar la función ACCELERATEABSDI de su bucle de mensajes.

lpfnDismiss

Puntero a una función basada en el prototipo DISMISSMODELESS o NULL. Este miembro solo se aplica a la versión modeless del cuadro de diálogo, como indica la marca de DIALOG_SDI que se está estableciendo. MAPI llama a la función DISMISSMODELESS cuando el usuario descarta el cuadro de diálogo de dirección de modeless, informando a un cliente que llama a IAddrBook::Address de que el cuadro de diálogo ya no está activo.

lpvDismissContext

Puntero a la información de contexto que se va a pasar a la función DISMISSMODELESS a la que apunta el miembro lpfnDismiss . Este miembro solo se aplica a la versión modeless del cuadro de diálogo, como indica la marca de DIALOG_SDI que se está estableciendo.

lpszCaption

Puntero al texto que se va a usar como título del cuadro de diálogo de dirección común.

lpszNewEntryTitle

Puntero al texto que se va a usar como etiqueta de botón para el botón que invoca el cuadro de diálogo Nueva entrada u otro cuadro de diálogo.

lpszDestWellsTitle

Puntero al texto que se va a usar como título para los controles de cuadro de texto de destinatario que pueden aparecer en la versión modal del cuadro de diálogo de dirección común. Este miembro no se usa para los cuadros de diálogo modeless.

cDestFields

Recuento de controles de cuadro de texto de destinatario en la versión modal del cuadro de diálogo de dirección, o cero si el cuadro de diálogo es modeles. El cuadro de diálogo dirección está abierto para examinar solo cuando se cumplen las condiciones siguientes:

  • El miembro cDestFields se establece en cero.

  • Se establece la marca de DIALOG_BOX.

  • No se establece la marca de ADDRESS_ONE.

    Establecer cDestFields en 0XFFFFFFFF implica que MAPI debe crear el número predeterminado de controles de cuadro de texto de destinatario. En este caso, los miembros lppszDestTitles y lpulDestComps deben ser NULL.

nDestFieldFocus

Indica el control de cuadro de texto determinado que debe tener el foco inicial cuando aparece la versión modal del cuadro de diálogo. Este valor debe estar entre 0 y el valor de cDestFields menos 1.

lppszDestTitles

Puntero a una matriz de etiquetas para los botones asociados a cada uno de los controles de cuadro de texto que se muestran en la versión modal del cuadro de diálogo de dirección. El valor del miembro cDestFields indica el número de etiquetas incluidas en la matriz. Si el miembro lppszDestTitles es NULL, el método Address usa títulos predeterminados.

lpulDestComps

Puntero a una matriz de valores de tipo de destinatario, como MAPI_TO, MAPI_CC y MAPI_BCC, que está asociado a cada control de cuadro de texto. El valor del miembro CDestFields indica el número de tipos de destinatario incluidos en la matriz. Los valores a los que apunta lpulDestComps se pueden usar para establecer la propiedad PR_RECIPIENT_TYPE (PidTagRecipientType) de cada destinatario. Si el miembro lpulDestComps es NULL, el método Address usa tipos de destinatarios predeterminados.

lpContRestriction

Puntero a una estructura SRestriction que limita el tipo de entradas de dirección que se pueden mostrar en el cuadro de diálogo.

lpHierRestriction

Puntero a una estructura SRestriction que limita los contenedores de libreta de direcciones que pueden proporcionar entradas de dirección que se mostrarán en el cuadro de diálogo.

Comentarios

Los clientes y proveedores de servicios usan estructuras ADRPARM para controlar la apariencia y el comportamiento de los cuadros de diálogo de direcciones comunes mapi. Hay dos variedades del cuadro de diálogo de dirección: modeless y modales. Algunos de los miembros de la estructura ADRPARM se aplican a ambas versiones del cuadro de diálogo, pero algunos solo se aplican a una de las dos versiones. En la tabla siguiente se relacionan los miembros de una estructura ADRPARM con su uso con los cuadros de diálogo de direcciones comunes.

Miembro de ADRPARM Tipo de cuadro de diálogo
cbABContEntryID y lpABContEntryID
Modal y modela
ulFlags
Modal y modela
lpReserved
Modal y modela
ulHelpContext y lpszHelpFileName
Modal y modela
lpfnABSDI
Modeless
lpfnDismiss y lpvDismissContext
Modeless
lpszCaption
Modal y modela
lpszNewEntryTitle
Modal
lpszDestWellsTitle, cDestFields, nDestFieldFocus, lppszDestTitles y lpulDestComps
Modal
lpContRestriction
Modal y modela
lpHierRestriction
Modal y modela

El cuadro de diálogo modeless es una visualización de solo lectura de entradas de uno o varios contenedores de libreta de direcciones. El cuadro de diálogo puede mostrar todas las entradas de los contenedores seleccionados o limitarse solo a aquellas entradas y contenedores que coincidan con los criterios establecidos por una restricción. La restricción de contenido a la que apunta lpContRestriction puede limitar los tipos de entradas mostradas y la restricción de jerarquía a la que apunta lpHierRestriction puede limitar los contenedores que proporcionan las entradas. Para informar al autor de la llamada cuando se descarta el cuadro de diálogo, MAPI invoca una función proporcionada por el autor de la llamada que coincide con el prototipo de DISMISSMODELESS . Otra función, que coincide con el prototipo ACCELERATEABSDI , la proporciona MAPI y la invoca el autor de la llamada en el bucle de mensajes de Windows para facilitar el trabajo de los métodos abreviados de teclado. La versión modeless del cuadro de diálogo dirección MAPI se puede mostrar cuando los clientes llaman a IAddrBook::Address o cuando los proveedores de servicios llaman a IMAPISupport::Address.

El cuadro de diálogo modal es una presentación de lectura y escritura de entradas de uno o varios contenedores. Su contenido puede verse afectado de la misma manera que la versión modeless mediante restricciones establecidas en los miembros lpContRestriction y lpHierRestriction . Además del cuadro de lista que muestra las entradas de contenedor, el cuadro de diálogo modal puede contener entre uno y tres controles de cuadro de texto para contener las entradas seleccionadas por el usuario. Cada control de edición está asociado a un tipo de destinatario determinado o a una propiedad PR_RECIPIENT_TYPE , como MAPI_TO. El cuadro de diálogo dirección modal se puede mostrar mediante cualquiera de los métodos Address o cuando los clientes llaman a IAddrBook::D etails y los proveedores de servicios llaman a IMAPISupport::D etails.

Esta ilustración incluye dos controles de cuadro de texto porque el miembro cDestFields de la estructura ADRPARM que controla la presentación de este cuadro de diálogo está establecido en 2. El primer control tiene el foco inicial porque el miembro nDestFieldFocus está establecido en 0.

El miembro lpszNewEntryTitle apunta al texto de una etiqueta de botón que, cuando se selecciona, hace que se muestre un cuadro de diálogo adicional. Normalmente, como se muestra en la ilustración del cuadro de diálogo modal, el botón se etiqueta como Nuevo y el cuadro de diálogo que aparece muestra todos los tipos de direcciones que puede crear cualquiera de los proveedores de libreta de direcciones del perfil. Los clientes hacen que se muestre este cuadro de diálogo Nueva entrada llamando a IAddrBook::NewEntry y pasando cero para el parámetro cbEidNewEntryTpl y NULL para el parámetro lpEidNewEntryTpl cuando el usuario selecciona el botón. La información que se incluye en este cuadro de diálogo procede de la tabla de uso único MAPI.

Cada entrada de este cuadro de diálogo está asociada a una plantilla para escribir los datos necesarios para crear una dirección del tipo determinado. La mayoría de los proveedores de libreta de direcciones proporcionan una plantilla para cada tipo de entrada de dirección que pueden crear. Cuando un usuario realiza una selección de este cuadro de diálogo, MAPI muestra la plantilla correspondiente.

Los cuatro bits más significativos del miembro ulFlags de la estructura ADRPARM contienen un número de versión que identifica la versión de la estructura ADRPARM. La versión actual es 0 (cero) o ADRPARM_HELP_CTX. Se producirá un error en la implementación actual de MAPI para cualquier versión de la estructura que no sea cero.

Las versiones futuras de la estructura pueden ser completamente diferentes; es posible que no admitan la estructura de versión cero. Las macros siguientes se proporcionan para extraer el número de versión del miembro ulFlags y para combinarlo con las marcas definidas:

  • GET_ADRPARM_VERSION (ulFlags)
  • SET_ADRPARM_VERSION (ulFlags, ulVersion)
  • ADRPARM_HELP_CTX

Vea también