Compartir a través de


ITnef::Finish

Hace referencia a: Outlook 2013 | Outlook 2016

Finaliza el procesamiento de todas las operaciones de formato de encapsulación (TNEF) de Transport-Neutral que están en cola y en espera.

HRESULT Finish(
  ULONG ulFlags,
  WORD FAR * lpKey,
  LPSTnefProblemArray FAR * lpProblem
);

Parameters

ulFlags

[entrada] Reservado; debe ser cero.

lpKey

[out] Puntero a la propiedad de clave PR_ATTACH_NUM (PidTagAttachNumber) de un archivo adjunto. El objeto de encapsulación TNEF usa esta clave para hacer coincidir los datos adjuntos con su etiqueta de selección de ubicación de datos adjuntos en un mensaje. Esta clave debe ser única para cada dato adjunto.

lpProblem

[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 lpProblem , no se devuelve ninguna matriz de problemas de propiedad.

Valor devuelto

S_OK

La llamada se realizó correctamente y devolvió el valor o los valores esperados.

Comentarios

Los proveedores de transporte, los proveedores de almacén de mensajes y las puertas de enlace llaman al método ITnef::Finish para realizar la codificación de todas las propiedades para las que se solicitó la codificación en las llamadas a los métodos ITnef::AddProps e ITnef::SetProps . Si el objeto TNEF se abrió con la marca TNEF_ENCODE para la función OpenTnefStream o OpenTnefStreamEx , el método Finish codifica las propiedades solicitadas en el flujo de encapsulación pasado a ese objeto. Si el objeto TNEF se abrió con la marca TNEF_DECODE, el método Finish descodifica las propiedades de la secuencia TNEF y las escribe de nuevo en el mensaje al que pertenecen.

Después de la llamada Finish , el puntero a la secuencia de encapsulación apunta al final de los datos TNEF. Si el proveedor o la puerta de enlace necesitan usar los datos de flujo de TNEF después de la llamada Finish , debe restablecer el puntero de flujo al principio de los datos del flujo TNEF.

La implementación de TNEF notifica problemas de codificación de secuencias TNEF sin detener el proceso Finalizar . La estructura STnefProblemArray devuelta en el parámetro lpProblem 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 Finish 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 lpProblem; en este caso, no se devuelve ninguna matriz de problemas.

El valor devuelto en lpProblem 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 .

Referencia de MFCMAPI

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

Archivo Función Comment
File.cpp
SaveToTNEF
MFCMAPI usa el método ITnef::Finish para finalizar el procesamiento del nuevo flujo TNEF.

Vea también

ITnef::AddProps

MAPIFreeBuffer

OpenTnefStream

OpenTnefStreamEx

Propiedad canónica PidTagAttachNumber

STnefProblemArray

ITnef : IUnknown

MFCMAPI como un ejemplo de c�digo