Compartir a través de


IMessage::OpenAttach

Hace referencia a: Outlook 2013 | Outlook 2016

Abre un archivo adjunto.

HRESULT OpenAttach(
  ULONG ulAttachmentNum,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPATTACH FAR * lppAttach
);

Parameters

ulAttachmentNum

[in] Número de índice de los datos adjuntos que se van a abrir, tal como se almacena en la propiedad PR_ATTACH_NUM (PidTagAttachNumber) de los datos adjuntos. Este número de índice identifica de forma única los datos adjuntos en el mensaje y solo es válido en el contexto del mensaje.

lpInterface

[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder a los datos adjuntos. Al pasar NULL, se devuelve la interfaz estándar de los datos adjuntos, o IAttach.

ulFlags

[in] Máscara de bits de marcas que controla cómo se abren los datos adjuntos. Se pueden establecer las siguientes marcas:

MAPI_BEST_ACCESS

Solicita que los datos adjuntos se abran con los permisos de red máximos permitidos para el usuario y el acceso máximo a la aplicación cliente. Por ejemplo, si el cliente tiene permiso de lectura y escritura, los datos adjuntos deben abrirse con permiso de lectura y escritura; Si el cliente tiene acceso de solo lectura, los datos adjuntos deben abrirse con acceso de solo lectura.

MAPI_DEFERRED_ERRORS

Permite que OpenAttach devuelva correctamente, posiblemente antes de que los datos adjuntos estén totalmente disponibles para el cliente que realiza la llamada. Si los datos adjuntos no están disponibles, realizar una llamada posterior a él puede producir un error.

MAPI_MODIFY

Solicita permiso de lectura y escritura. De forma predeterminada, los datos adjuntos se abren con acceso de solo lectura y los clientes no deben funcionar en la suposición de que se ha concedido el permiso de lectura y escritura.

lppAttach

[out] Puntero a un puntero a los datos adjuntos abiertos.

Valor devuelto

S_OK

Los datos adjuntos se han abierto correctamente.

Comentarios

El método IMessage::OpenAttach abre los datos adjuntos de un mensaje.

Notas para los llamadores

Para abrir un archivo adjunto, debe tener acceso a su número de datos adjuntos o PR_ATTACH_NUM propiedad. Llame a IMessage::GetAttachmentTable para recuperar la tabla de datos adjuntos del mensaje y busque la fila que representa los datos adjuntos que se van a abrir. Consulte Apertura de datos adjuntos para obtener más información.

No intente abrir un archivo adjunto varias veces; los resultados no están definidos y dependen del proveedor del almacén de mensajes.

Puede solicitar que los datos adjuntos se abran en modo de lectura y escritura, en lugar del modo de solo lectura predeterminado. Sin embargo, el proveedor del almacén de mensajes depende de si los datos adjuntos se abrirán realmente en modo de lectura y escritura. Puede intentar modificar los datos adjuntos, prepararse para controlar posibles errores o comprobar el nivel de acceso concedido mediante la recuperación de la propiedad PR_ACCESS_LEVEL (PidTagAccessLevel) de los datos adjuntos, si está disponible.

Referencia de MFCMAPI

Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.

Archivo Función Comment
AttachmentsDlg.cpp se usa para
CAttachmentsDlg::OpenItemProp
MFCMAPI usa el método IMessage::OpenAttach para abrir objetos de datos adjuntos,

Vea también

IMessage: IMAPIPropMFCMAPI como ejemplo de código