Export (0) Print
Expand All
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

CE Invoke

Windows Mobile 6.5
4/8/2010

This code sample is named CEInvoke. It demonstrates a general-purpose mechanism to remotely execute software using the Remote API (RAPI) interface.

There are two projects for this sample:

Server

This is the mobile device-side code. The project builds a DLL called CeInvoke.Dll which contains methods that are invoked by the client desktop program.

Client

This is the desktop-side code.

The server project will build "ceinvoke.dll" while the client project will build "ceinvoke.exe".

To run the code sample
  1. Navigate to a solution file (*.sln), and double-click it.

    By default, the client solution file is copied to the following folder:

    C:\Program Files\Windows Mobile 6.5.3 DTK\Samples\PocketPC\CPP\win32\Ceinvoke\Client

    By default, the server solution file is copied to the following folder:

    C:\Program Files\Windows Mobile 6.5.3 DTK\Samples\PocketPC\CPP\win32\Ceinvoke\Server

    Microsoft Visual Studio launches and loads the solution.

  2. Build the solution (Ctrl+Shift+B).

  3. Deploy the solution (F5).

If you have not installed the SamplePrivDeveloper certificate, you will need to so that your DLL and CAB projects are signed correctly.

To install the certificate from the windows desktop
  1. Click Start > Run.

  2. Type the path-name to SamplePrivDeveloper.pfx certificate, and click OK. By default, this is located in the following folder:

    C:\Program Files\Windows Mobile 6.5.3 DTK\Tools\Security\SDK Development Certificates

  3. Double-click the SamplePrivDeveloper.pfx certificate icon. The Certificate Import Wizard appears.

  4. Click Next. The certificate path-name is filled-in.

  5. Click Next.

  6. Click Next (you do not need a password).

  7. Click Next. Accept the default options; automatically select the certificate store based on certificate type.

  8. 9. Click Finish.

See Windows Mobile Device Security Model for further details on how to install the SDK certificates onto the mobile device, and how to use the privileged SDK certificate to sign this application.

The desktop-side code is a Windows application without a user interface. The project builds an executable called "ceinvoke.exe". The results are displayed in a simple message box. You can run the executable from the command-line with the parameters in the following table.

Command-line Parameter Test Result

No param

Simple Block

Returns an error code

StoreInfo

Simple Block

Returns the store info on the mobile device

S1

Simple Stream

Returns text specifying Stream Mode 1

S2

Multiple Stream

Returns a list of all of the databases on the mobile device

You can also run the executable from within Visual Studio by altering Project > Settings > Debug > General Category > Program Arguments.

The code sample runs on the desktop host computer, and is not supported for emulation.

This server application must run as Privileged, which means it must be signed with a security certificate that is in the privileged certificate store on the mobile device. You must install the SamplePrivDeveloper.pfx certificate so that your DLL and CAB projects are signed correctly.

CeInvoke.dll must exist in the Windows folder on the mobile device (i.e., "\windows\ceinvoke.dll"), or at the root of the mobile device folder hierarchy (i.e., "\ceinvoke.dll").

It is the responsibility of the RAPI extension to release the IRAPIStream object (that is, to call pIRAPIStream->Release()).

The Remote Access Security Policy on Windows Mobile is set to Restricted by default. These devices are considered "Locked," which prevents you from using CeRapiInvoke to invoke device-side DLLs — unless you take extra steps to satisfy the Remote Access Security Policy.

Bb158757.note(en-us,MSDN.10).gifNote:
Although the device is still locked, CeRapiInvoke is permitted on Windows Mobile Classic device.

CeRapiInvoke gives elevated privileges to any DLL that can be invoked on the device.

For more information on RAPI security, see Security for Windows Mobile Devices.

SDK: Windows Mobile Professional SDK and Windows Mobile Standard SDK

Development Environment: Visual Studio 2005 or 2008.

ActiveSync: Version 4.5.

Community Additions

Show:
© 2014 Microsoft