Tablas de datos adjuntos
Hace referencia a: Outlook 2013 | Outlook 2016
Una tabla de datos adjuntos contiene información sobre todos los objetos de datos adjuntos asociados a un mensaje enviado o a un mensaje de composición.
En la tabla solo se incluyen los datos adjuntos que se han guardado mediante una llamada al método IMAPIProp::SaveChanges del mensaje. Las tablas de datos adjuntos las implementan los proveedores del almacén de mensajes y las usan las aplicaciones cliente y los proveedores de transporte.
Se puede acceder a una tabla de datos adjuntos llamando a cualquiera de las siguientes opciones:
IMAPIProp::OpenProperty, solicitando la propiedad PR_MESSAGE_ATTACHMENTS (PidTagMessageAttachments).
Las tablas de datos adjuntos son dinámicas.
Los proveedores de almacén de mensajes no son necesarios para admitir la ordenación en sus tablas de datos adjuntos. Si no se admite la ordenación, la tabla debe presentarse en orden por posición de representación: la propiedad PR_RENDERING_POSITION (PidTagRenderingPosition).
Los proveedores de almacén de mensajes tampoco son necesarios para admitir restricciones en sus tablas de datos adjuntos. Los proveedores que no admiten restricciones devuelven MAPI_E_NO_SUPPORT de sus implementaciones de IMAPITable::Restrict e IMAPITable::FindRow.
Las tablas de datos adjuntos pueden ser pequeñas; solo hay cuatro columnas en el conjunto de columnas necesario:
PR_ATTACH_NUM (PidTagAttachNumber)
PR_INSTANCE_KEY (PidTagInstanceKey)
PR_RECORD_KEY (PidTagRecordKey)
PR_RENDERING_POSITION
PR_ATTACH_NUM no es transmitible y contiene un valor para identificar de forma única los datos adjuntos dentro de un mensaje. Esta propiedad se usa a menudo como índice en las filas de la tabla. PR_ATTACH_NUM tiene una vida útil corta; solo es válido mientras el mensaje que contiene los datos adjuntos está abierto. Se garantiza que su valor permanece constante siempre y cuando la tabla de datos adjuntos esté abierta.
PR_INSTANCE_KEY es necesario en casi todas las tablas. Se usa para identificar de forma única una fila determinada.
PR_RECORD_KEY se usa normalmente para identificar de forma única un objeto con fines de comparación. A diferencia de PR_ATTACH_NUM, PR_RECORD_KEY tiene el mismo ámbito que un identificador de entrada a largo plazo; permanece disponible y es válido incluso después de cerrar y volver a abrir el mensaje. Para obtener más información sobre el uso de claves de registro en MAPI, vea Claves de registro y búsqueda MAPI.
PR_RENDERING_POSITION indica cómo se deben mostrar los datos adjuntos en un mensaje de texto enriquecido. Se puede establecer en un desplazamiento en caracteres, con el primer carácter del contenido del mensaje almacenado en la propiedad PR_BODY (PidTagBody) que se desplaza 0 o en -1 (0xFFFFFFFF), lo que indica que los datos adjuntos no se deben representar en el texto del mensaje en absoluto. No establecer PR_RENDERING_POSITION también es una opción.
Cuando una tabla de datos adjuntos se ordena por posición de representación, el proveedor del almacén de mensajes la trata como un valor con signo (PT_LONG). Por lo tanto, los datos adjuntos con posiciones de representación de -1 se ordenan antes que los datos adjuntos con posiciones de representación que reflejan desplazamientos válidos.
Para obtener más información sobre cómo representar datos adjuntos en un mensaje de texto sin formato, vea Representación de datos adjuntos en texto sin formato.
Para obtener información sobre cómo representar datos adjuntos en texto con formato, como formato de texto enriquecido (RTF), vea Representación de datos adjuntos en texto RTF.
Algunas de las propiedades que los proveedores de almacén de mensajes suelen incluir en una tabla de datos adjuntos porque son fáciles de calcular o recuperar son:
Propiedad | ... |
---|---|
PR_ATTACH_ENCODING (PidTagAttachEncoding) |
PR_ATTACH_EXTENSION (PidTagAttachExtension) |
PR_ATTACH_FILENAME (PidTagAttachFilename) |
PR_ATTACH_LONG_FILENAME (PidTagAttachLongFilename) |
PR_ATTACH_PATHNAME (PidTagAttachPathname) |
PR_ATTACH_LONG_PATHNAME (PidTagAttachLongPathname) |
PR_ATTACH_METHOD (PidTagAttachMethod) |
PR_ATTACH_TAG (PidTagAttachTag) |
PR_CREATION_TIME (PidTagCreationTime) |
PR_ATTACH_TRANSPORT_NAME (PidTagAttachTransportName) |
PR_DISPLAY_NAME (PidTagDisplayName) |
PR_LAST_MODIFICATION_TIME (PidTagLastModificationTime) |