ITnef::FinishComponent
Hace referencia a: Outlook 2013 | Outlook 2016
Procesa componentes individuales de un mensaje de uno en uno en una secuencia de formato de encapsulación de Transport-Neutral (TNEF).
HRESULT FinishComponent(
ULONG ulFlags,
ULONG ulComponentID,
LPSPropTagArray lpCustomPropList,
LPSPropValue lpCustomProps,
LPSPropTagArray lpPropList,
LPSTnefProblemArray FAR * lppProblems
);
Parameters
ulFlags
[in] Máscara de bits de marcas que controla qué componente se finalizará. Se debe establecer una u otra de las siguientes marcas:
TNEF_COMPONENT_ATTACHMENT
El procesamiento finalizará para un objeto de datos adjuntos; El parámetro ulComponentID contiene la propiedad PR_ATTACH_NUM (PidTagAttachNumber) de los datos adjuntos.
TNEF_COMPONENT_MESSAGE
El procesamiento finalizará para un objeto de mensaje.
ulComponentID
[in] 0 para indicar el procesamiento de un mensaje o la propiedad PR_ATTACH_NUM de los datos adjuntos que se van a procesar. Si la marca de TNEF_COMPONENT_MESSAGE se establece en el parámetro ulFlags , ulComponentID debe ser 0.
lpCustomPropList
[in] Puntero a una estructura SPropTagArray que contiene etiquetas de propiedad que identifican las propiedades pasadas en el parámetro lpCustomProps . Debe haber una correspondencia uno a uno entre cada valor de propiedad en lpCustomProps y una etiqueta de propiedad en el parámetro lpCustomPropList .
lpCustomProps
[in] Puntero a una estructura SPropValue que contiene valores de propiedad para las propiedades que se van a codificar.
lpPropList
[in] Puntero a una estructura SPropTagArray que contiene etiquetas de propiedad para las propiedades que se van a codificar.
lppProblems
[out] Puntero a un puntero a una estructura STnefProblemArray devuelta. La estructura STnefProblemArray indica qué propiedades, si las hubiera, no se codificaron correctamente. Si se pasa NULL en el parámetro lppProblems , no se devuelve ninguna matriz de problemas de propiedad.
Valor devuelto
S_OK
La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.
Comentarios
Los proveedores de transporte, los proveedores de almacén de mensajes y las puertas de enlace llaman al método ITnef::FinishComponent para realizar el procesamiento de TNEF para un componente, ya sea un mensaje o datos adjuntos, como indica la marca establecida en el parámetro ulFlags .
Para que el procesamiento de componentes esté habilitado, el proveedor de llamadas o la puerta de enlace pasan la marca de TNEF_COMPONENT_ENCODING en ulFlags para la función OpenTnefStream o OpenTnefStreamEx que abrió el objeto para recibir la codificación.
Al pasar valores en los parámetros lpCustomPropList y lpCustomProps , se realiza una codificación de componentes equivalente a la realizada por el método ITnef::SetProps . Al pasar un valor en el parámetro lpPropList se realiza una codificación de componentes equivalente a la realizada por el método ITnef::AddProps con la marca TNEF_PROP_INCLUDE establecida en ulFlags. Pasar estos valores le permite realizar codificaciones con una sola llamada en lugar de varias llamadas.
La implementación de TNEF informa de problemas de codificación de secuencias de TNEF sin detener el proceso FinishComponent . La estructura STnefProblemArray devuelta en lppProblems indica qué atributos de TNEF o propiedades MAPI, si los hubiera, no se pudieron procesar. El valor devuelto en el miembro scode de una de las estructuras STnefProblem contenidas en STnefProblemArray indica el problema específico. El proveedor o la puerta de enlace pueden funcionar suponiendo que todas las propiedades o atributos para los que FinishComponent no devuelve un informe de problemas se procesaron correctamente.
Si un proveedor o puerta de enlace no funciona con matrices problemáticas, puede pasar NULL en lppProblems; en este caso, no se devuelve ninguna matriz de problemas.
El valor devuelto en lppProblems solo es válido si la llamada devuelve S_OK. Cuando se devuelve S_OK, el proveedor o la puerta de enlace deben comprobar los valores devueltos en la estructura STnefProblemArray . Si se produce un error en la llamada, la estructura STnefProblemArray no se rellena y el proveedor de llamadas o la puerta de enlace no deben usar ni liberar la estructura. Si no se produce ningún error en la llamada, el proveedor de llamadas o la puerta de enlace deben liberar la memoria de STnefProblemArray llamando a la función MAPIFreeBuffer .
Vea también
ITnef::AddProps
ITnef::SetProps
MAPIFreeBuffer
OpenTnefStream
OpenTnefStreamEx
SPropTagArray
STnefProblemArray
ITnef : IUnknown