OpenTnefStream
Hace referencia a: Outlook 2013 | Outlook 2016
Lo llama un proveedor de transporte para iniciar una sesión de formato de encapsulación neutral de transporte MAPI (TNEF).
Propiedad | Valor |
---|---|
Archivo de encabezado: |
Tnef.h |
Implementado por: |
MAPI |
Llamado por: |
Proveedores de transporte |
HRESULT OpenTnefStream(
LPVOID lpvSupport,
LPSTREAM lpStream,
LPSTR lpszStreamName,
ULONG ulFlags,
LPMESSAGE lpMessage,
WORD wKey,
LPITNEF FAR * lppTNEF
);
Parameters
lpvSupport
[in] Pasa un objeto de soporte técnico o pasa NULL.
lpStream
[in] Puntero a una interfaz OLE IStream de objeto de secuencia de almacenamiento que proporciona un origen o destino para un mensaje de secuencia de TNEF.
lpszStreamName
[in] Puntero al nombre de la secuencia de datos que usa el objeto TNEF. Si el autor de la llamada ha establecido la marca de TNEF_ENCODE (parámetro ulFlags ) en su llamada a OpenTnefStream, el parámetro lpszName debe especificar un puntero que no sea null a una cadena que no sea null que conste de caracteres considerados válidos para asignar un nombre a un archivo. MAPI no permite nombres de cadena, incluidos los caracteres "[", "]" o ":", incluso si el sistema de archivos permite su uso. El tamaño de la cadena pasada para lpszName no debe superar el valor de MAX_PATH, la longitud máxima de una cadena que contiene un nombre de ruta de acceso.
ulFlags
[in] Máscara de bits de marcas usadas para indicar el modo de la función. Se pueden establecer las siguientes marcas:
TNEF_BEST_DATA
Todas las propiedades posibles se asignan a sus atributos de nivel inferior, pero cuando hay una posible pérdida de datos debido a la conversión a un atributo de nivel inferior, la propiedad también se codifica en las encapsulaciones. Tenga en cuenta que esto provocará la duplicación de información en la secuencia de TNEF. TNEF_BEST_DATA es el valor predeterminado si no se especifica ningún otro modo.
TNEF_COMPATIBILITY
Proporciona compatibilidad con versiones anteriores con las aplicaciones cliente anteriores. Las secuencias TNEF codificadas con esta marca asignarán todas las propiedades posibles a su atributo de nivel inferior correspondiente. Este modo también provoca la configuración predeterminada de algunas propiedades necesarias para los clientes de nivel inferior.
Precaución
Esta marca está obsoleta y no se debe usar.
TNEF_DECODE
El objeto TNEF del flujo indicado se abre con acceso de solo lectura. El proveedor de transporte debe establecer esta marca si quiere que la función inicialice el objeto para la descodificación posterior.
TNEF_ENCODE
El objeto TNEF de la secuencia indicada se abre para obtener permiso de lectura y escritura. El proveedor de transporte debe establecer esta marca si quiere que la función inicialice el objeto para la codificación posterior.
TNEF_PURE
Codifica todas las propiedades en los bloques de encapsulación MAPI. Por lo tanto, un archivo TNEF "puro" constará, como máximo, de attMAPIProps, attAttachment, attRenddata y attRecipTable. Este modo es ideal para su uso cuando no se requiere compatibilidad con versiones anteriores.
lpMessage
[in] Puntero a un objeto de mensaje como destino de un mensaje descodificado con datos adjuntos o un origen para un mensaje codificado con datos adjuntos. Las propiedades de un mensaje de destino pueden sobrescribirse mediante las propiedades de un mensaje codificado.
wKey
[in] Clave de búsqueda que el objeto TNEF usa para hacer coincidir los datos adjuntos con las etiquetas de texto insertadas en el texto del mensaje. Este valor debe ser relativamente único entre los mensajes.
lppTNEF
[out] Puntero al nuevo objeto TNEF.
Valor devuelto
S_OK
La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.
Comentarios
Un objeto TNEF creado por la función OpenTnefStream más adelante llama al método OLE IUnknown::AddRef para agregar referencias para el objeto de soporte técnico, el objeto de secuencia y el objeto de mensaje. El proveedor de transporte puede liberar las referencias de los tres objetos con una sola llamada al método OLE IUnknown::Release en el objeto TNEF.
OpenTnefStream asigna e inicializa una interfaz ITnef de objeto TNEF para que el proveedor lo use para codificar una interfaz IMessage de mensaje MAPI en un mensaje de secuencia de TNEF. Como alternativa, la función puede configurar el objeto para que el proveedor lo use en llamadas posteriores a ITnef::ExtractProps para descodificar un mensaje de flujo TNEF en un mensaje MAPI. Para liberar el objeto TNEF y cerrar la sesión, el proveedor de transporte debe llamar al método heredado IUnknown::Release en el objeto .
Esta función es el punto de entrada original para el acceso TNEF y se ha reemplazado por OpenTnefStreamEx , pero se sigue usando para la compatibilidad de los que ya usan TNEF.