Compartir a través de


Estructura MapiFileDesc (mapi.h)

Una estructura MapiFileDesc contiene información sobre un archivo que contiene datos adjuntos de mensaje almacenados como un archivo temporal. Ese archivo puede contener un objeto OLE estático, un objeto OLE incrustado, un mensaje incrustado y otros tipos de archivos. Para obtener compatibilidad con Unicode, use la estructura MapiFileDescW .

Sintaxis

typedef struct {
  ULONG  ulReserved;
  ULONG  flFlags;
  ULONG  nPosition;
  LPSTR  lpszPathName;
  LPSTR  lpszFileName;
  LPVOID lpFileType;
} MapiFileDesc, *lpMapiFileDesc;

Miembros

ulReserved

Reservados; debe ser cero.

flFlags

Máscara de bits de las marcas de opción. Se pueden establecer las marcas siguientes.

Valor Significado
MAPI_OLE
Los datos adjuntos son un objeto OLE. Si también se establece MAPI_OLE_STATIC, los datos adjuntos son un objeto OLE estático. Si no se establece MAPI_OLE_STATIC, los datos adjuntos son un objeto OLE incrustado.
MAPI_OLE_STATIC
Los datos adjuntos son un objeto OLE estático.
 

Si no se establece ninguna marca, los datos adjuntos se tratan como un archivo de datos.

nPosition

Entero utilizado para indicar dónde se encuentra el texto del mensaje para representar los datos adjuntos. Los datos adjuntos reemplazan el carácter encontrado en una posición determinada en el texto del mensaje. Es decir, los datos adjuntos reemplazan el carácter del campo de estructura MapiMessageNoteText[nPosition]. Un valor de -1 (0xFFFFFFFF) significa que no se indica la posición de los datos adjuntos; la aplicación cliente tendrá que proporcionar una manera de que el usuario acceda a los datos adjuntos.

lpszPathName

Puntero a la ruta de acceso completa del archivo adjunto. Esta ruta de acceso debe incluir la letra de unidad de disco y el nombre del directorio.

lpszFileName

Puntero al nombre de archivo adjunto visto por el destinatario, que puede diferir del nombre de archivo en el miembro lpszPathName si se usan archivos temporales. Si el miembro lpszFileName está vacío o NULL, se usa el nombre de archivo de lpszPathName .

lpFileType

Puntero al tipo de archivo adjunto, que se puede representar con una estructura MapiFileTagExt . Un valor null indica un tipo de archivo desconocido o un tipo de archivo determinado por el sistema operativo.

Comentarios

MAPI simple funciona con tres tipos de datos adjuntos incrustados:

  • Datos adjuntos de archivos de datos
  • Datos adjuntos de archivos de objeto OLE editables
  • Datos adjuntos de archivos de objeto OLE estáticos
Los datos adjuntos del archivo de datos son simplemente archivos de datos. Los datos adjuntos del archivo de objeto OLE son objetos OLE que se muestran en el texto del mensaje. Si se pueden editar los datos adjuntos OLE, el destinatario puede hacer doble clic en él y se iniciará su aplicación de origen para controlar la sesión de edición. Si los datos adjuntos OLE son estáticos, el objeto no se puede editar. La marca establecida en el miembro flFlags de la estructura MapiFileDesc determina el tipo de datos adjuntos determinados. Los mensajes incrustados se pueden identificar mediante . Extensión MSG en el miembro lpszFileName .

Los archivos de objeto OLE son representaciones de archivos de secuencias de objetos OLE. La aplicación cliente puede volver a crear un objeto OLE desde el archivo llamando a la función OLELoadFromStream con un objeto OLESTREAM que lee el contenido del archivo. Si se incluyen datos adjuntos de un archivo OLE en un mensaje saliente, la secuencia de objetos OLE se debe escribir directamente en el archivo utilizado como datos adjuntos.

Al usar el miembro MapiFileDescnPosition, la aplicación cliente no debe colocar dos datos adjuntos en la misma ubicación. Es posible que las aplicaciones cliente no muestren datos adjuntos de archivos en posiciones más allá del final del texto del mensaje.

Requisitos

Requisito Valor
Header mapi.h

Consulte también

MapiFileDescW

MapiMessage

MapiMessageW