Identificadores de entrada puntuales
Hace referencia a: Outlook 2013 | Outlook 2016
MAPI crea identificadores de entrada únicos en el método IAddrBook::CreateOneOff y componentes que no tienen acceso al subsistema MAPI, como los componentes de puerta de enlace. For more information, see IAddrBook::CreateOneOff. En la ilustración siguiente se muestra el formato de un identificador de entrada único.
Formato de identificador de entrada con definición
El primer campo es una estructura MAPIUID especial que identifica el identificador de entrada como que representa un destinatario personalizado. Esta estructura MAPIUID debe establecerse en la constante MAPI_ONE_OFF_UID. MAPI_ONE_OFF_UID se define en el archivo de encabezado MAPIDEFS.H.
Los campos version y flags son palabras de 16 bits en orden de bytes de Intel. El campo de versión debe establecerse en cero. El campo flags se puede establecer en los valores siguientes:
MAPI_ONE_OFF_NO_RICH_INFO
MAPI_ONE_OFF_UNICODE
La marca MAPI_ONE_OFF_NO_RICH_INFO se establece si un destinatario no debe recibir contenido de mensaje en el formato de encapsulación neutro de transporte (TNEF). Esta marca se establece cuando MAPI_SEND_NO_RICH_INFO se pasa al método IAddrBook::CreateOneOff .
La marca de MAPI_ONE_OFF_UNICODE se establece si el nombre para mostrar y la dirección de correo electrónico son cadenas Unicode. Esta marca se establece cuando el MAPI_UNICODE se pasa a IAddrBook::CreateOneOff. Cuando la marca de MAPI_UNICODE no se pasa a CreateOneOff, MAPI supone que las cadenas de nombre para mostrar y dirección de correo electrónico están en el conjunto de caracteres ANSI actual de la estación de trabajo. Por lo general, las cadenas ANSI no funcionan bien en los mensajes que se envían entre plataformas mediante distintos conjuntos de caracteres porque la página de códigos no está codificada en el identificador de entrada. Para protegerse frente a esta posible incompatibilidad, muchos tipos de direcciones se limitan solo a los caracteres que son comunes en varios conjuntos de caracteres. Sin embargo, para garantizar la compatibilidad del conjunto de caracteres y la plataforma, los clientes deben usar Unicode para las cadenas de caracteres de sus mensajes.
El nombre para mostrar es una cadena terminada en NULL que corresponde a la propiedad PR_DISPLAY_NAME del destinatario (PidTagDisplayName) y al parámetro lpszName pasado a IAddrBook::CreateOneOff. El juego de caracteres es Unicode si se establece la marca de MAPI_ONE_OFF_UNICODE y ANSI si está claro.
El tipo de dirección es una cadena terminada en null que corresponde a la propiedad PR_ADDRTYPE del destinatario (PidTagAddressType) y al parámetro lpszAdrType pasado a IAddrBook::CreateOneOff.
La dirección de correo electrónico es una cadena terminada en null que corresponde a la propiedad PR_EMAIL_ADDRESS del destinatario (PidTagEmailAddress) y al parámetro lpszAddress pasado a IAddrBook::CreateOneOff.
Nota:
No hay relleno en las estructuras de identificador de entrada única; los bytes se empaquetan exactamente como se indicó anteriormente y la longitud del identificador de entrada no debe incluir ningún bytes más allá del carácter null de terminación de la dirección de correo electrónico.
Los clientes y proveedores de libretas de direcciones que construyen manualmente identificadores de entrada únicos también pueden necesitar generar valores para las propiedades PR_RECORD_KEY (PidTagRecordKey) y PR_SEARCH_KEY (PidTagSearchKey). La clave de registro es idéntica al identificador de entrada. La clave de búsqueda debe formarse concatenando los siguientes campos en el orden siguiente:
Tipo de dirección, convertido en caracteres en mayúsculas.
Dos puntos (:).
La dirección de correo electrónico, convertida en caracteres en mayúsculas.
Carácter nulo de terminación.
No se debe realizar ninguna conversión de juego de caracteres al generar la clave de búsqueda.