WizIQ helps you learn and teach online - any subject you can think of!
Join for FREE

DotNet Smartphone Development Platform

Add to Favourites
Post to:

Description
Next Generation Pocket PC and Smartphone Development Platform

Comments
Presentation Transcript Presentation Transcript

MBL200: Next Generation Pocket PC and Smartphone Development Platform : MBL200: Next Generation Pocket PC and Smartphone Development Platform Neil Enns Program Manager Mobiles Devices Product Group Microsoft Corporation

Agenda : Agenda Overview of Development Platform Key Changes in the Next Generation Changes in the WinCE OS Developer-focused features / improvements Runtimes support Tools and emulation Q&A

Slide3 : Smartphone 2002

Today : Today Next Gen

2002 Development Platform : 2002 Development Platform Base OS GUI / Shell / Ink Today/Home-Screen Connection Manager POOM Messaging .NET Compact Framework Device Management Telephony pIE ActiveSync RAPI GAPI MIDI, Vibrate, Speech

Developer Features in the Next Generation : Developer Features in the Next Generation Pocket PC Ozone Platform Next Generation Smartphone

Windows CE 4.2 (McKendric) : Windows CE 4.2 (McKendric) Increased stability and reliability Resource utilization optimizations Security review IPv6 Layer 2 Tunneling Protocol (L2TP) / IP Security Protocol (IPSec)

File System Filters : File System Filters File System Filters Sit on top of the FS, intercept FS calls before FS handling Apply to any FSDMgr loaded file system Supports multiple filters per file system Useful for… Encrypt / Decrypt Compress / Uncompress Virus scan Registration: [HKEY_LOCAL_MACHINE\System\StorageManager\Filters\FilterName] "dll"="filter.dll" "Order"=dword:x Delta with FSD PVOLUME FSD_HookVolume( HDSK hdsk,PFILTERHOOK pFilterHook ); BOOL FSD_UnhookVolume ( PVOLUME pvol );

Device Management : Device Management Configuration Manager Single point for configuration management Parses configuration messages for CSPs All operations transacted Security role consistent across entire transaction

Device Management : Device Management Configuration Manager Infrastructure now supported on Pocket PC Ozone (supports a subset of Smartphone CSPs) Provisioning supported via WAP push (OTA) CAB-based provisioning (.CPF) DMProcessConfigXML API RAPIConfig.exe from the desktop

Device Management CSPs : Device Management CSPs ActiveSyncConn ActiveSyncPartner BOOTSTRAP BrowserFavorite CertificateStore Clock Connection Manager DeviceInformation DeviceLock EMail FileOperation Home Install LoaderRevocation Locale Metabase Profiles PXLOGICAL Registry SecurityPolicy Sounds Sync Tapi UnInstall

Slide12 : Remote Device Configuration

Device Management : Device Management WAP Push Router interception (GSM only) PushRouter_RegisterClient(LPCTSTR szContentType, LPCTSTR szAppId, LPCTSTR szPath, LPCTSTR szParams); PushRouter_UnRegisterClient(LPCTSTR szContentType, LPCTSTR szAppId); PushRouter_Open(LPCTSTR szContentType, LPCTSTR szAppId, HANDLE *pMsgAvailableEvent, HPUSHROUTER *phPushRouter); PushRouter_Close(HPUSHROUTER hPushRouter); PushRouter_GetMessage(HPUSHROUTER hPushRouter, PUSHMSG *pPushMsg); PushRouter_FreeMessage(PUSHMSG *pPushMsg);

Shell : Shell PPC File Explorer menu extensibility via IContextMenu GetCommandString : Get info for the menu InvokeCommand : Execute command QueryContextMenu : Adds commands to menu. Ability to ensure display is on when notifications fire (PPC Only) #define SHNF_DISPLAYON 0x00000010 Activate process without turning on the display Ability to debug Home/Today-Screen Plug-ins Smartphone Home-Screen Plug-Ins: SHOnPluginDataChange IHomePluginEnvironment2

Shell : Shell Contextual property query/modification SHSetInputContext(HWND hwnd, DWORD dwFeature, LPVOID pValue); SHGetInputContext(HWND hwnd, DWORD dwFeature, LPVOID pValue, DWORD dwSize); Features: SHIC_RESTOREDEFAULT : Restore original state SHIC_AUTOCORRECT : Auto-correct SHIC_AUTOCOMPLETE : Suggest words from dictionary SHIC_HAVETRAILER : Append trailer characters SHIC_CLASS : Control semantic type NULL (default) “email” “url” “phone” “name”

pIE Re-Architecture : pIE Re-Architecture HTML 4.01 XHTML CSS JScript 5.5 WML 2.0 IPv6 Extensible imaging through GDI+

Messaging : Messaging E-mail services configuration CSP Simplifies programmatic configuration on Pocket PC SMS message interceptions SMS clients, Games, Command and Control Custom Read/Compose forms MMS/EMS clients, LOB apps, Games CEMAPI cross-process notifications MAPI clients, Filters, Journaling

Messaging : Messaging Folder created Folder moved Folder deleted Message created Message modified Message deleted Message moved Message copied Message store created Message store deleted CEMAPI Cross-Process Notifications:

SMS Message Interception : SMS Message Interception Implement IMailRuleClient (COM Object) Register Rule Client DLL (\Software\Microsoft\Inbox\Svc\SMS\Rules) Initialize and Set Access Rights: HRESULT MailRuleClient::Initialize (IMsgStore *pMsgStore, MRCACCESS *pmaDesired) { *pmaDesired = MRC_ACCESS_WRITE; return S_OK; } Process Message HRESULT CMailRuleClient::ProcessMessage (IMsgStore *pMsgStore, ULONG cbMsg, LPENTRYID lpMsg, ULONG cbDestFolder, LPENTRYID lpDestFolder, ULONG *pulEventType, MRCHANDLED *pHandled) { ... GetText(lpMsg, &lpszMsgText); Get Properties if (ParseAndDeleteMsg(lpszMsgText)) For us? { *pulEventType = fnevObjectDeleted; Mark Deleted *pHandled = MRC_HANDLED_DONTCONTINUE; DoFunStuff( ... ); } Party!  }

Slide20 : SMS Interception and Processing

Networking / CellCore : Networking / CellCore IPv6 work Connection Manager CSPs CM_Networks – metanetworks CM_Planner – preferred connections CM_Mappings – URL mapping table CM_GPRSEntries – GPRS entry configuration CM_PPPEntries – PPP entries CM_ProxyEntries – Proxy connections CM_VPNEntries – VPN entry configuration CM_NetEntries – Network entries

Networking / CellCore : Networking / CellCore WAP over SMS WapOpen (const WAP_LAYER wlLayer, const DWORD dwLocalPort, WAP_HANDLE* const pwhHandle, HANDLE* const phMessageAvailableEvent ); WapClose ( const WAP_HANDLE whHandle ); WapSend ( const WAP_HANDLE whHandle, WAP_PRIMITIVE_BASE* const pwpbPrimitive ); WapGetNextPrimitiveSize ( const WAP_HANDLE whHandle, DWORD* const pdwNextPrimitiveSize ); WapRead ( const WAP_HANDLE whHandle, WAP_PRIMITIVE_BASE* const pwpbPrimitiveBuffer, const DWORD dwPrimitiveBufferSize ); WapPing ( const WAP_ADDRESS* const pwaAddress, const WORD wIdentifier, const DWORD dwSendDataSize, DWORD* const pdwReceiveDataSize, const DWORD dwTimeout );

Networking / CellCore : Networking / CellCore WTLS for PPC (already on SP) Application wake-up via WAP (SMS) Bluetooth Control Panel int BthSetMode( DWORD dwMode ); int BthGetMode( DWORD* pdwMode ); enum BTH_RADIO_MODE { BTH_POWER_OFF, BTH_CONNECTABLE, BTH_DISCOVERABLE };

Slide24 : Virtual Radio Simulation

Apps / ActiveSync : Apps / ActiveSync Menu extensibility in Contacts, Calendar and Tasks applications via IContextMenu interface ActiveSync can be configured via CSP

Backwards Compatibility : Backwards Compatibility Goal is for 100% back compat But, be aware: New OS (major revision from 3.0) Same MFC, rebuilt ATL COM objects are now free-threaded eVB/ADO runtimes have been rebuilt Some CEMAPI constants no longer supported Few APIs migrated from one .h to another Test, test, test!

Runtimes and Tools : Runtimes and Tools Pocket PC Ozone, Smartphone v.Next Native Code Development eVC++ 4.0 eVC++ 4.0 Service Pack 2 required PPC: eVB/ADO runtime supported, but no eVB SDK/Tools Managed Code Development (C# / VB.Net) .NETCF in ROM Visual Studio .NET 2003 All native and managed code development requires PPC/SP SDKs

eVC 4.0 (+SP2) : eVC 4.0 (+SP2) Improved Debugging JIT debugging (attach to dead process) Attach to already running process Multithreaded application debugging Updated Compilers SEH and C++ exception handling STL (Standard Template Library) Intrinsics (generate in-line code) Updated Remote Tools

eVB for Pocket PC Ozone : eVB for Pocket PC Ozone eVB stub replaces eVB run-time to free up ROM space Hardware partners can choose to include runtime in their ROM region Developers can package and deploy eVB runtime with app (part of SDK) End-Users can download from website when prompted by stub

Emulation : Emulation Drive mapping support Game APIs (GAPI) Network Virtual Switch driver ActiveSync over Ethernet New telephony images Pocket PC Phone Edition Virtual Radio

Slide31 : ActiveSync over Ethernet (Emulator)

Managed Code Development Visual Studio .NET & .NET Compact Framework : Managed Code Development Visual Studio .NET & .NET Compact Framework Rich, deep API for smart devices User Interface: GDI+, Windows Forms Connectivity: Web services, TCP/IP, IrDA Data Access: ADO.NET, XML Native code interoperability JIT compiled, not interpreted Best of managed & native worlds Visual Studio .NET IDE Same skills as desktop and server

.NET Compact Framework Smartphone v.Next Support : .NET Compact Framework Smartphone v.Next Support Most PPC features fully supported Windows Forms: Controls adapted to have Smartphone look & feel Smartphone navigation model supported Support for keypad navigation and keypad events .NET Compact Framework in ROM Tools support as an add-on to VS.NET 2003 Smartphone x86 Emulation images Adapted Forms Designer Experience Proper control set in toolbox Appropriate properties on controls (size/font/etc)

Slide34 : .NET Compact Framework and Web Services on Next Generation Smartphone demo

Ozone SDK (Beta) : Ozone SDK (Beta) Plug-ins for eVC++ 4.0 (SP2) Plug-ins for Visual Studio .NET 2003 All required headers / libs / etc. (x86/ARM) Runtimes and components: eVB runtime HTTPD (Web Server) MSMQ Emulation images Pocket PC Pocket PC Phone Edition Pocket PC Phone Edition Virtual Radio Updated samples collection Design guide Reference documentation

Smartphone Developer Kit : Smartphone Developer Kit Smartphone pre-release Compal device Null SIM Mobile Development Toolkit (Resource CD) eMbedded Visual C++ 3.0 Smartphone 2002 SDK Whitepapers, Getting Started, etc. Available for 425€ at www.microsoft.com/mobile/

Slide37 : Next Steps

Ask The Experts Get Your Questions Answered : Ask The Experts Get Your Questions Answered I will be available in the ATE area after this session and all day tomorrow!

Slide39 : Community Resources Ask your questions on our newsgroups: microsoft.public.smartphone.developer microsoft.public.pocketpc.developer microsoft.public.dotnet.framework.compactframework Check out our MVP sites for developers: www.smartphonedn.com www.pocketpcdn.com Download SDKs and eVC www.microsoft.com/mobile/developer/ Visit the Windows Mobile™ Community: http://www.microsoft.com/windowsmobile/community/

Slide40 : evaluations

Slide41 : © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Want to learn?

Sign up and browse through relevant courses.

Name:
Your Email:
Password:
Country:
Contact no.:


Area code Number
Subject you are interested in:
Word verification: (Enter the text as in image)


Sign Up Already a member? Sign In
I agree to WizIQ's User Agreement & Privacy Policy
veenu george
Asp.net with C# 7 yrs of exp including WCF,MVC,MVP, design Pattern,
User
15 Followers

Your Facebook Friends on WizIQ