Push Messaging
This code sample is named FileClient. It demonstrates how to implement a push-client that receives push-messages, saves the message's body to a file, and then calls ShellExecuteEx to perform an action on the file (which can be an executable file or a document).
Feature Area
Relevant APIs
- PushRouter_Close function
- PushRouter_FreeMessage function
- PushRouter_GetMessage function
- PushRouter_Open function
- PushRouter_RegisterClient function
- PushRouter_UnRegisterClient function
- ShellExecuteEx function
- SHELLEXECUTEINFO structure
- Wireless Application Protocol (WAP) API
Source File Listing
- fileclient.cpp
Contains functions for saving a file, getting user permissions, checking to see if the file type has permissions for download, and processing push-messages. - fileclient.h
Contains function prototypes and forward declarations for string constants. - fileclient.rc
The resource script. - main.cpp
Contains the application entry point. - precomp.h
Defines the precompiled header. - resource.h
the header file for the resource script. - string.cpp
Defines all constant string values. - utils.cpp
Contains functions for extracting data from the SMS header, and for copying strings.
Usage
To run the code sample
Navigate to the solution file (*.sln), and double-click it. By default, the solution files are copied to the following folders:
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Samples\CPP\Win32\FileClient\``fileclient.sln
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Samples\CPP\Win32\FileClient\``fileclient.sln
Microsoft Visual Studio 2005 launches and loads the solution.
Build the solution (Ctrl+Shift+B).
Deploy the solution (F5).
To use the application
- Register the application by running it on the mobile device once with "/register" as the command-line argument.
- The application will execute when it receives an SMS message with X-WAP-Application-ID with a value of "fileclient".
Remarks
Network coverage is required to receive push messages.
The Setup in a CAB code sample can be used to create a CAB file for deploying this application.
The value of the X-MS-FileName header field in the message's headers section specifies the name of the saved file.
Application parameters can be set by filling-in the X-MyCompany-Params header field.
The value of CSIDL_WINDOWS contains the name of the directory where the file is saved.
Since the message is traveling over the SMS transport, the maximum message size determines the maximum size of an application that can be pushed to a mobile device. Most Short Message Service Center's (SMSC's) limit this size to 64KB.
The Application ID of this push-client is "fileclient", To be intercepted by this push-client, a push-message must have a value of "fileclient" for the X-WAP-Application-ID header field.
Requirements
Pocket PC SDK: Windows Mobile 5.0 Pocket PC SDK.
Smartphone SDK: Windows Mobile 5.0 Smartphone SDK.
Development Environment: Visual Studio 2005.
ActiveSync: Version 4.0.
See Also
Code Samples | Push Message Features | Data from Push Router | WAP Push Message Format | Setting Push Router Policies | WAP Push OTA Protocol Features | Security Roles | Setup in a CAB
Send Feedback on this topic to the authors