IXPLogon::TransportLogoff

The IXPLogon::TransportLogoff method terminates a transport provider session with the MAPI spooler.

Quick Info

See IXPLogon : IUnknownHVE6L8.

 

HRESULT TransportLogoff(

    ULONG ulFlags

 

   )

 

 

Parameters

ulFlags

Reserved; must be zero.

 

Return Values

S_OK

The call succeeded and has returned the expected value or values.

 

Whether or not the transport provider returns a value other than S_OK, the provider s logged off.

Remarks

The MAPI spooler calls the IXPLogon::TransportLogoff method to terminate a transport provider session for a particular user. Before calling TransportLogoff, the MAPI spooler discards any data about supported messaging address types for this session passed in the IXPLogon::AddressTypes1JYXH3N method.

The transport provider should be prepared to accept a call to TransportLogoff at any time. If a message is in process, the provider should stop the sending process.

The transport provider should release all resources allocated for its current session. If it has allocated any memory for this session with the MAPIAllocateBuffer1MW3BAZ function, it should free the memory by using the MAPIFreeBuffer16U06F function. Any memory allocated by the transport provider to satisfy calls to the IXPLogon::AddressTypes1JYXH3N, IXPLogon::RegisterOptionsD9M544, and IMAPISession::MessageOptionsEGEI.U methods can be safely released at this time.

Usually, a provider should, on completing a TransportLogoff call, first invalidate its logon object by calling the IMAPISupport::MakeInvalidLODT0M method and then release its support object. The provider s implementation of TransportLogoff should release the support object last, because when the support object is released, the MAPI spooler can also release the provider object itself.

See Also

IMAPISession::MessageOptions, IMAPISupport::MakeInvalid, IMAPISupport::SpoolerYield, IXPLogon::AddressTypes, IXPLogon::RegisterOptions, MAPIAllocateBuffer, MAPIFreeBuffer