Messaging Transports

Windows Mobile 6.5
4/8/2010

A message transport is a networking protocol that facilitates the transfer of messages between a messaging client application and a messaging host server.

MAPI supports messaging transports by providing functions that allow them to communicate directly with the message stores.

  • The Messaging application communicates with the message transport by using methods on the IMailSyncHandler interface.
  • The message transport communicates with the Messaging application by using methods on the IMailSyncCallBack interface.

Windows Mobile devices use Microsoft ActiveSync as the message transport for transferring e-mail and Microsoft Outlook PIM items between the mobile device and the desktop host computer. In addition to ActiveSync, Windows Mobile devices support Post Office Protocol Version 3 (POP3) and Internet Message Access Protocol Version 4 (IMAP4) for wirelessly transferring e-mail-based message items between the Windows Mobile device and Internet e-mail servers. Windows Mobile devices also support the Short Message Service (SMS) for sending and receiving cellular telephone-based text message items between the Windows Mobile device and a Mobile Operator's Short Message Service (SMS) server.

Creating a custom message transport for Pocket PC 2000 involved 40 separate MsgStore APIs. This has been simplified in Windows Mobile Professional, Windows Mobile Classic, and Smartphone 2002 software and later—with the more streamlined IMailSyncHandler interface.

Bb445988.note(en-us,MSDN.10).gifNote:
IMailSyncHandler does not provide backward compatibility for Pocket PC 2000.

A custom messaging transport is a DLL that contains the transport protocols, exports the OneStopFactory function, and supports the IMailSyncHandler interface.

To become active, the custom messaging transport must be registered with Windows Embedded CE. The entry specifies the name for the new message transport, along with the name of the DLL that contains it, under the following registry key: HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Svc\TransportName. For example:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Svc\MyTransport]
   "Name" = "MyTransport"
   "DLL"  = "MyTransport.dll"
   "Port" = dword:00000000
Bb445988.note(en-us,MSDN.10).gifNote:
To respond to changes in the registry, the Messaging application must be restarted after the registry has been updated.

Customized messaging transports are usually used in conjunction with customized forms and are used to provide new capabilities such as Enhanced Messaging Service (EMS) and Multimedia Messaging Service (MMS).

When a message is sent on a custom message transport, the following occurs:

  1. The Messaging application searches the Windows Embedded CE registry for the required message transport entries.
  2. The Messaging application activates the message transport's DLL.
  3. The Messaging application calls the OneStopFactory function within the DLL. This is the DLL's entry point.
  4. The DLL returns its IMailSyncHandler interface, which serves as the connection between the Messaging application and the message transport.
  5. The Messaging application initializes the message transport by calling IMailSyncHandler::Initialize.
  6. The Messaging application uses the methods on the IMailSyncHandler interface to process the message, to connect and disconnect from the network, and then to end the session with the transport by calling the IMailSyncHandler::ShutDown method.

For more information, see Registering Customized Messaging Transports.

Community Additions

Show: