Compartir a través de


Definición de nuevas propiedades MAPI

Hace referencia a: Outlook 2013 | Outlook 2016

A pesar de la gran cantidad de propiedades proporcionadas por MAPI para su uso por los clientes y proveedores de servicios, MAPI permite crear nuevas propiedades si es necesario. Algunos de los escenarios válidos para definir nuevas propiedades públicas incluyen un cliente que crea propiedades para admitir una nueva clase de mensaje y un proveedor de servicios que crea nuevas propiedades para exponer características únicas del sistema de mensajería.

Normalmente no es válido que un proveedor de servicios defina nuevas propiedades para un objeto MAPI existente o una clase de mensaje. Una de las principales ventajas de usar MAPI es que se configuran los identificadores y formatos estándar para un gran número de elementos del sistema de mensajería, lo que permite a los usuarios combinar y coincidir sin problemas con los proveedores de servicios. Los proveedores de servicios que usan propiedades no estándar no funcionan tan bien con otros proveedores de servicios.

Los clientes pueden crear propiedades de contenido para nuevas clases de mensaje mediante:

  • Usar identificadores de propiedad dentro de un intervalo designado para las propiedades de contenido específicas de la clase de mensaje.

    • O-
  • Uso de propiedades con nombre.

La primera opción es preferible porque no todos los proveedores de servicios admiten propiedades con nombre. MAPI define dos intervalos independientes para que los clientes usen para las nuevas propiedades de contenido específicas de la clase de mensaje:

  • 0x6800 a 0x7BFF para propiedades transmitibles

  • 0x7C00 a 0x7FFF para propiedades no transmitibles

Los identificadores de propiedad deben estar en intervalos predefinidos para ayudar a evitar colisiones entre propiedades definidas por distintos proveedores o usuarios. Sin embargo, los usuarios de propiedades de estos intervalos no pueden hacer suposiciones sobre el comportamiento de las propiedades. Cada cliente que crea una nueva clase de mensaje tiene acceso a estos intervalos; una propiedad con identificador xxxx puede significar un comportamiento para una clase de mensaje y otro comportamiento para otra clase de mensaje.

Las propiedades con nombre se usan para garantizar que una propiedad específica es única para una clase de mensaje. Los identificadores de propiedad con nombre comienzan en el intervalo de 0x8000. Los clientes definen uno o varios nombres y, a continuación, llaman al método IMAPIProp::GetIDsFromNames del almacén de mensajes para asociar un identificador a cada nombre. Los clientes o proveedores de servicios pueden usar propiedades con nombre para definir nuevas propiedades para cualquier objeto solo si el propietario del objeto admite propiedades con nombre. Los usuarios de estas propiedades llaman a GetIDsFromNames y a un método IMAPIProp relacionado, GetNamesFromIDs, para asignar entre un nombre y su identificador.

Todas las propiedades, nuevas o existentes, deben usar el conjunto de tipos de propiedad predefinidos. No se pueden agregar nuevos tipos de propiedad y los tipos existentes no se pueden modificar ni eliminar. Las propiedades simples y pequeñas, como las propiedades de un solo carácter o entero de 16 bits, se pueden almacenar en cualquier tipo adecuado. Por ejemplo, los enteros se pueden almacenar como ULONG y las cadenas se pueden almacenar como PT_STRING8.

Use el tipo de PT_BINARY para indicar una matriz de bytes contada. Este tipo de propiedad es útil para ampliar los tipos de datos que se pueden almacenar en un objeto. Los bytes se transmiten en secuencia y no se hace ninguna suposición sobre el significado de los datos. Cuando una aplicación cliente lee los datos de dicha propiedad, los datos no cambian con respecto a cómo se almacenaron. El cliente debe realizar cualquier intercambio de bytes necesario al mover datos entre CPU.

Vea también

Información general sobre MAPI (propiedad)