MSDefault Message Handler

The primary purpose of MSDefault is to convert paging messages into an e-mail format that can be stored in the PMail message store. Pager messages typically consist of alphanumeric text, but a wireless service provider may use a proprietary format to include additional header information. MSDefault performs the following actions:

  1. MSDefault attempts to parse and reformat the message into a format understood by the Windows CE Messaging API (MAPI), and then passes the message to the PMail message store.
  2. If appropriate, MSDefault executes the PageNotify application, Pagenotif.exe. This application notifies the user when a pager message is received on the pager radio address by chiming or displaying a dialog box.
  3. MSDefault can be set to limit the number of messages stored in a PMail folder. For example old stock quotations can be discarded as new quotations are received.

Each wireless service provider defines its own message format. MSDefault converts these different formats into a standard MAPI format by using parser routines stored in a DLL. These routines must be supplied by the wireless service provider.

The parser routine that MSDefault calls to reformat a message is chosen based upon the device and the address on which the message was received. The process of identifying a parser is hierarchical:

  1. MSDefault looks for a parser for the device and address.
  2. It looks for a parser for the device only.
  3. If no parser is found, it looks for a user-defined parser or uses its default parser.

All messages received on a specified device and address must be able to be parsed by the parser found by this process. For more information on parsers, see Registering a Parser.

The default parser sets the From header field to the string "PAGER", sets the Type header field to "PAGE", and sets the Subject field to the first 80 characters of the body.

When MSDefault receives a message from the router, it searches the registry to find the parser DLL associated with the device and message address. It then loads the DLL, which must contain the ParseEmailHeaders function.