Microsoft Learning:

Exam 70-540:

TS: Microsoft Windows Mobile 5.0 - Application Development

Published:February 28, 2007
Language(s):English, French, German, Japanese, Spanish, Chinese (Simplified)
Audience(s):Developers
Technology:Microsoft Visual Studio 2005
Type:Proctored Exam
About this Exam
When the exam begins, you can choose the code language in which the code snippets will appear. The available code languages for this exam will be:
  • Microsoft Visual Basic 2005
  • Microsoft Visual C# 2005
Audience Profile
This exam is intended for expert Windows Mobile application developers. The qualified candidate for this exam typically has:
  • Experience with and/or knowledge of .NET Framework concepts such as types, garbage collection, MSIL, CLR
  • 1-2 years experience working with .NET Framework
  • At least 1 year of experience working with .NET Compact Framework
  • 1-2 years programming in Visual Basic .NET or Visual C#
  • 6 months to 1 year hands-on experience with SQL CE/Mobile/Everywhere
  • Working knowledge of SQL Server 2000/2005
  • Experience developing applications for devices by using Visual Studio .NET
  • Enterprise application development background
  • Experience with Windows Mobile 5.0 Managed API
Candidate for this exam is NOT NECESSARILY a native/embedded developer.
Credit Toward CertificationWhen you pass Exam 70-540: TS: Microsoft Windows Mobile 5.0 - Application Development, you complete the requirements for the following certification(s):
Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.
Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.
Developing Mobile Applications by Using the Microsoft .NET Compact Framework 2.0
  • Manage data in a .NET Compact Framework 2.0 application by using .NET Compact Framework 2.0 system types. (Refer System namespace)
    • Value types
    • Reference types
    • Attributes
    • Generic types
    • Exception classes
    • Boxing and Unboxing
    • TypeForwardedToAttribute class
  • Manage a group of associated data in a .NET Compact Framework 2.0 application by using collections. (Refer System.Collections namespace)
    • ArrayList class
    • Collection interfaces
    • Hashtable class
    • CollectionBase class
    • DictionaryEntry class
    • Comparer class
    • Queue class
    • SortedList class
    • BitArray class
    • Stack class
  • Improve type safety and application performance in a .NET Compact Framework 2.0 application by using generic collections. (Refer System.Collections.Generic namespace)
    • Collection.Generic interfaces
    • Generic Dictionary
    • Generic Comparer class and Generic EqualityComparer class
    • Generic KeyValuePair structure
    • Generic List class and Generic SortedList class
    • Generic Queue class
    • Generic LinkedList
    • Generic Stack class
  • Manage data in a .NET Compact Framework 2.0 application by using specialized collections. (Refer System.Collections.Specialized namespace)
    • Specialized String classes
    • Specialized Dictionary
    • Named collections
    • BitVector32 structure and BitVector32.Section structure
  • Implement .NET Compact Framework 2.0 interfaces to cause components to comply with standard contracts. (Refer System namespace)
    • IComparable interface
    • IDisposable interface
    • IConvertible interface
    • IEquatable interface
    • IFormattable interface
  • Control interactions between .NET Compact Framework 2.0 application components by using events and delegates. (Refer System namespace)
    • Delegate class
    • EventArgs class
    • EventHandler delegates
  • Develop multithreaded .NET Compact Framework 2.0 applications. (Refer System.Threading namespace)
    • Thread class
    • ThreadPool class
    • ThreadStart delegate class
    • Timeout class, Timer class, TimerCallback delegate, WaitCallback delegate, and WaitHandle class
    • ThreadPriority enumeration
    • AutoResetEvent class and ManualResetEvent class
    • IAsyncResult Interface (Refer System Namespace)
    • Interlocked class
    • Monitor class and Mutex class
  • Implement reflection functionality in a .NET Compact Framework 2.0 application. (Refer System.Reflection namespace)
    • Assembly class
    • Assembly attributes
    • Info classes
    • Binder class and BindingFlags
  • Enhance the text-handling capabilities of a .NET Compact Framework 2.0 application (Refer System.Text namespace), and search, modify, and control text within a .NET Compact Framework 2.0 application by using regular expressions. (Refer System.RegularExpressions namespace)
    • StringBuilder class
    • Regex class
    • Match class and MatchCollection class
    • Group class
    • Encoding classes
    • Decoder classes
Designing and Developing a Windows Mobile User Interface
  • Build a user interface.
    • Create and manage a Windows Form.
    • Add and configure a Windows Forms control.
    • Create and configure menus.
    • Create event handlers for Windows Forms and controls.
  • Create a custom control.
    • Define properties, methods, and events for custom controls.
    • Expose properties of constituent controls.
    • Customize a control to paint and render.
    • Create a custom control by inheriting from the Control class.
    • Create a custom control by extending an existing Windows Forms control.
  • Connect a control to an existing data source by using data binding.
    • Initialize binding by modifying control properties.
    • Implement simple data binding to bind data to read-only controls.
    • Implement complex data binding to integrate data from multiple sources.
    • Update underlying bound data.
  • Design user interfaces to conform to Designed for Windows Mobile guidelines.
    • Manage soft input panel (SIP).
    • Manage menus and soft keys.
    • Provide Help for an application.
    • Create standard toolbar buttons.
  • Manage platform-specific display operations.
    • Create orientation-aware applications.
    • Create resolution-aware applications.
    • Create DPI-aware applications.
  • Update controls across thread boundaries.
    • Use Control.Invoke, Control.BeginInvoke, and Control.EndInvoke to update control properties and methods created on different threads.
Integrating Data in a Windows Mobile-Based Application by Using File System, ADO.NET, and XML
  • Access files and folders by using the File System classes. (Refer System.IO namespace)
    • File class and FileInfo class
    • Directory class and DirectoryInfo class
    • FileSystemInfo class
    • Path class
  • Manage byte streams by using Stream classes. (Refer System.IO namespace)
    • FileStream class
    • Stream Class
    • MemoryStream class
  • Manage .NET Compact Framework 2.0 application data by using Reader and Writer classes. (Refer System.IO namespace)
    • StringReader class and StringWriter class
    • TextReader class and TextWriter class
    • StreamReader class and StreamWriter class
    • BinaryReader class and BinaryWriter class
  • Manage offline data by using datasets.
    • Create a DataSet object in code.
    • Manage updates to a DataSet object.
  • Work with XML data.
    • Control the serialization of an object into XML format by using the System.Xml.Serialization namespace.
    • Read XML data by using the XmlTextReader class.
    • Write XML data by using the XmlTextWriter class.
    • Process XML data by using the XmlDocument class.
  • Encrypt and decrypt data by using classes of the System.Security.Cryptography namespace.
    • Encrypt and decrypt the contents of a file created on a mobile device.
    • Encrypt and decrypt a value stored in the registry of a mobile device.
    • Encrypt and decrypt the payload of a Web services call.
Managing Data by Using Microsoft SQL Server 2005 Everywhere Edition
  • Create a SQL Server 2005 Everywhere Edition database.
    • Create a SQL Server 2005 Everywhere Edition database programmatically by using the SqlCeEngine object.
    • Create a SQL Server 2005 Everywhere Edition database dynamically by using the AddSubscription method of the SqlCeReplication object.
    • Create a SQL Server 2005 Everywhere Edition database visually by using the Data Source Configuration Wizard in Microsoft Visual Studio 2005.
    • Create a SQL Server 2005 Everywhere Edition database visually by using SQL Server Management Studio.
    • Create a SQL Server 2005 Everywhere Edition database by using Query Analyzer 3.0.
  • Manage connections to a SQL Server 2005 Everywhere Edition database.
    • Configure a connection to a database by using the SqlCeConnection class.
    • Open a connection to a SQL Server 2005 Everywhere Edition database by using the Open method of the SqlCeConnection object; handle possible exceptions.
    • Close a connection to a SQL Server 2005 Everywhere Edition database by using the Close method of the SqlCeConnection object; handle possible exceptions.
  • Write SQL queries to query the SQL Server 2005 Everywhere Edition database.
    • Write Select queries.
    • Write Insert queries.
    • Write Update queries.
    • Write Delete queries.
    • Write queries to create a table.
    • Write queries to alter a table.
    • Write queries to drop a table.
    • Write queries to manage Indexes and Constraints.
    • Query the INFORMATION_SCHEMA view.
    • Write code to parse and retrieve error information from a SqlCeException object.
  • Manage data in a SQL Server 2005 Everywhere Edition database.
    • Retrieve data by using a SqlCeDataReader object.
    • Use the SqlCeResultSet.
    • Retrieve data by using direct table access.
    • Retrieve data by using Seek and SetRange.
    • Build parameterized queries.
    • Create parameters for a SqlCeCommand object.
    • Perform database operations by using the SqlCeCommand object.
    • Generate SqlCeDataAdapter commands automatically by using the SqlCeCommandBuilder object.
    • Generate SqlCeDataAdapter commands programmatically.
    • Populate a dataset with a SqlCeDataAdapter.
    • Update a database with a SqlCeDataAdapter.
  • Perform transactions by using the SqlCeTransaction object.
    • Create a SqlCeTransaction object.
    • Attach a SqlCeTransaction object to a SqlCeConnection object.
    • Begin a transaction by using a SqlCeTransaction object.
    • Commit a transaction by using a SqlCeTransaction object.
    • Roll back a transaction by using a SqlCeTransaction object.
  • Maintain and protect the contents of a SQL Server 2005 Everywhere Edition database.
    • Perform a Compact operation on a SqlCeEngine object.
    • Perform a Verify operation on a SqlCeEngine object.
    • Perform a Repair operation on a SqlCeEngine object.
    • Perform a Shrink operation on a SqlCeEngine object.
    • Manage the AutoShrink threshold in the SqlCeConnection.
    • Manage the AutoFlush threshold in the SqlCeConnection.
    • Password-protect a SQL Server 2005 Everywhere Edition database.
    • Encrypt a SQL Server 2005 Everywhere Edition database.
  • Synchronize data by using Remote Data Access (RDA).
    • Initiate tracking on a pulled table.
    • Pull data with or without Indexes.
    • Use the SubmitSQL method to execute a Transact-SQL statement on the host SQL Server computer.
    • Execute Stored Procs on a server.
    • Create temporary tables on a server.
    • Execute queries on a server.
    • Execute a data manipulation language (DML) event on the server.
    • Push a tracked SQL Server 2005 Everywhere Edition table's data to the host SQL Server database.
  • Synchronize data by using merge replication.
    • Add a subscription to a SQL Server 2005 Everywhere Edition database.
    • Write code to set the properties of a SqlCeReplication object to prepare for merge replication between SQL Server 2005 Everywhere Edition and SQL Server.
    • Perform merge replication by using SqlCeReplication.Synchronize to synchronize a SQL Server 2005 Everywhere Edition database with a host SQL Server computer.
    • Reinitialize a subscription.
Developing Communication and Connection Capabilities in Windows Mobile-Based Applications
  • Send and receive data by using a serial port.
    • Create and open a new serial port and configure the serial port parameters.
    • Read from a serial port.
    • Write to a serial port.
    • Close and release a serial port.
  • Use HttpWebRequest and HttpWebResponse to communicate with a Web server.
    • Create a new HttpWebRequest.
    • Use a WebRequest and a Uri class.
    • Retrieve an HttpWebResponse by using an HttpWebRequest object.
    • Send data synchronously or asynchronously to an Internet resource by using an HttpWebRequest.
    • Write code to parse and retrieve error information from a WebException object.
    • Set and retrieve HTTP headers by using HttpWebRequest and HttpWebResponse.
    • Set and retrieve cookies by using HttpWebRequest and HttpWebResponse.
    • Set credentials by using an HttpWebRequest.
    • Control redirection for an HttpWebRequest.
  • Communicate with a remote server by using the TcpClient class.
    • Create a new TCP client.
    • Retrieve data from a TCP client.
    • Send data via a TCP client.
    • Close and release a TcpClient connection.
    • Initiate and abort asynchronous socket operations.
    • Handle socket exceptions.
    • Read and write socket data by using the NetworkStream class.
  • Consume a Web service.
    • Make Web service calls synchronously and asynchronously.
    • Preauthenticate a Web service call.
  • Send and receive messages by using Message Queuing (also known as MSMQ).
    • Create, open, and delete a message queue.
    • Send messages to a message queue.
    • Retrieve messages from a message queue.
Implementing Interoperability and Platform-Specific Features in Windows Mobile-Based Applications
  • Improve the mobile user experience by using notifications.
    • Programmatically create and display System.WindowCe.Forms.Notification.
    • Capture and respond to user input to a notification bubble.
  • Implement interprocess communication.
    • Send and receive Win32 messages in managed code by using MessageWindow class.
    • Connect two processes by using point-to-point message queues.
  • Retrieve system state by using State and Notifications Broker.
    • Query the current system state values.
    • Request status notifications by using event handler and application launch conditions.
  • Access Microsoft Office Outlook Mobile features and data programmatically by using the OutlookSession object.
    • Send and receive SMS messages.
    • Intercept SMS messages.
    • Create and send e-mail messages.
    • Work with contacts.
    • Work with tasks.
    • Work with appointments.
  • Expose COM components to managed code, and expose managed code components to COM components. (Refer System.Runtime.InteropServices namespace)
    • Import a type library as an assembly.
    • Use information from an IDL file to create a managed interface.
    • Create, call, and dispose of a COM object from managed code.
    • Make a managed class visible to COM components.
  • Call native Win32 DLL functions from managed code, and control the marshalling of data in a managed code application by using Platform Invoke technology. (Refer System.Runtime.InteropServices namespace)
    • Translate C-function prototypes into managed code method declarations.
    • Call a function in a native DLL.
    • Marshal data as parameters and return types between managed and native code functions.
Optimizing, Packaging, and Deploying Windows Mobile-Based Applications
  • Identify and correct the causes of incorrect software behavior.
    • Emulator
    • Debugger
    • Remote tools
  • Measure and tune system resource usage.
    • Memory management
    • Performance
    • Power management
    • Diagnostics
  • Package and deploy Windows Mobile-based application software to end users.
    • Setup tools
    • Application signing
Preparation Tools and ResourcesTo help you prepare for this exam, Microsoft Learning recommends that you have hands-on experience with the product and that you use the following training resources. These training resources do not necessarily cover all of the topics listed in the "Skills Measured" tab.
Classroom Training There is no classroom training currently available.
Microsoft E-Learning
Microsoft Press Books There are no Microsoft Press books currently available.
Practice Tests
Microsoft Online Resources
  • MSDN: The Microsoft Developer Network (MSDN) is a reference for developers that features code samples, technical articles, newsgroups, chats, and more.
  • Training and certification newsgroups: A newsgroup exists for every Microsoft certification. By participating in the ongoing dialogue, you take advantage of a unique opportunity to exchange ideas with and ask questions of others, including more than 750 Microsoft Most Valuable Professionals (MVPs) worldwide.
Have Questions? For advice about training and certification, connect with peers: For questions about a specific certification, chat with a Microsoft Certified Professional (MCP): To find out about recommended blogs, Web sites, and upcoming Live Meetings on popular topics, visit our community site:

How To Get It

Schedule your exam through the following exam provider:

Related Services