The MTP Device Simulator

The Media Transfer Protocol Device Simulator (MTP Simulator) is a fully-featured, self-contained device simulator that emulates an MTP device. Its primary purpose is to enable developers to exercise expected behavior based on the MTP specification by returning appropriate MTP response packets and generating MTP events. The tool’s graphical user interface (GUI) enables easy configuration of…

6

Windows 7 Portable Device Development Kits

There are several different resources made available to portable device manufacturers to assist in device firmware and driver development, and to application developers wishing to create applications that interact with these portable devices. These resources are provided and maintained by members of the Windows Portable Devices team. This post provides a description for the following…

1

Driver Dev Guide: WPP Tracing in your WPD Driver

WPP Software Tracing is the recommended way to log trace and error messages in your WPD driver.  WPP, short for Windows Software Trace PreProcessor, provides an efficient real-time event logging mechanism.    In addition, WPP traces include the system timestamp and can be used as a way to measure performance, for example by calculating the elapsed time between function calls. …

1

Driver Dev Guide: How to Post Events from your WPD Driver

DimeBy8 wrote a great post on how a WPD application can receive driver-initiated WPD PnP events; this post will describe the driver’s side of our eventing story.   While this mechanism is “under the covers” for most WPD application developers, it helps to get an end-to-end picture of how stuff works in WPD land, especially if you are thinking about writing a WPD driver…

4

WPDMon Gotchas

If you’re developing a WPD driver or a WPD application, you may have come across the WPD Monitor tool (a.k.a. WpdMon).   This is a tool that displays WPD traffic between applications and a WPD driver for diagnostic purposes.   Plug and Play (PnP) messages and Raw (DeviceIoControl) traffic are also viewable.    WpdMon is available in the Windows Driver Kits, e.g. c:\WinDDK\6000\tools\wpd\x86.   Known…

1

Debugging Your WPD Driver with Visual Studio 8

WPD drivers are based on the Windows Driver Foundation (WDF) – User-Mode Driver Framework (UMDF) platform. UMDF drivers provide greater stability and security than kernel-mode drivers while providing comparable performance. And, UMDF drivers allow the use of user-mode debuggers such as Visual Studio 8. (Debugging a driver in user-mode tends to be faster than debugging…

0

Building Driver Samples from the WDK

Help! The WPD driver sample doesn’t build!  Seeing this error while building the WPD driver samples using the Windows Driver Kit (WDK) build environment? errors in directory c:\winddk\6000\src\umdf\wpd\wpdhelloworlddriverNMAKE : fatal error U1073: don’t know how to make ‘C:\WinDDK\6000\lib\mfc\i386\atls.lib’nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDLL=1 MAKEDIR_RELATIVE_TO_BASEDIR=src\umdf\wpd\wpdhelloworlddriver MAKEDIR_LOWERCASE=c:\winddk\6000\src\umdf\wpd\wpdhelloworlddriver failed – rc = 2 No worries, this is expected.  The is because…

4