dimeby8
Sample XML document for ProvisioningAgent.provisionFromXmlDocumentAsync()
Below is an example of a provisioning XML document that may be passed to the...
Date: 11/01/2011
Change ‘Unidentified network’ from Public to Work in Windows 7
There isn’t an easy way to set the category of an Unidentified network in Windows 7 RC+...
Date: 06/10/2009
Where is wpdmtpextensions.h?
The header file - Wpdmtpextensions.h - has been referenced in several of my posts and is needed to...
Date: 05/15/2007
Creating a WPD playlist object in C#
This is a C# follow-up post on the earlier C++ playlist creation post. Be sure to read the earlier...
Date: 01/08/2007
Creating WPD PROPVARIANTs in C# without using interop
Previous posts have covered how to create, manage and marshal PROPVARIANTs using interop. Here's a...
Date: 01/08/2007
Connecting to a WPD device in C#
This is the C# equivalent of an earlier C++ post on connecting to a WPD device. We'll concentrate on...
Date: 12/21/2006
Marshalling variant properties in C#
This post is a continuation of the one covering WPD property retrieval in C#. That post explained...
Date: 12/12/2006
WPD Content Enumeration in C#
WPD content enumeration in C# is pretty close to the C++ style. Here's a basic example that...
Date: 12/12/2006
Setting WPD properties in C#
Since setting a WPD property requires manipulating a PROPVARIANT structure through interop, we must...
Date: 12/11/2006
WPD property retrieval in C#
WPD property values are retrieved as PROPVARIANTs through the WPD API. Unfortunately there is no...
Date: 12/11/2006
Where are the WPD property keys in C#?
If you followed the exercise from our first C# post, you must have noticed that the...
Date: 12/06/2006
Flying Wiimotes
I just bought a Wii and it has totally changed my gamer attitude, and I wasn't even a gamer to start...
Date: 12/06/2006
Enumerating WPD devices in C#
Let's take a look at how we can enumerate WPD devices in C#. This post assumes that you already have...
Date: 12/05/2006
C# and the WPD API
There currently is no managed/C# flavor of the WPD API. This, of course, doesn't mean that you are...
Date: 12/05/2006
Help! WPD API calls randomly fail with 0x800700AA (ERROR_BUSY)
If you notice your API calls are randomly failing with HRESULT_FROM_WIN32(ERROR_BUSY) / 0x800700AA /...
Date: 11/08/2006
Transferring playlists through WPD
A playlist (.WPL, .M3U, etc.) is a text file which contains a list of filenames. This list is the...
Date: 11/08/2006
Custom MTP formats in WPD
The list of supported WPD formats is available in MSDN here. But what if your MTP device supports a...
Date: 10/24/2006
MTP array properties (AINT*/AUINT*) in WPD
MTP allows for a wide range of array-based data types ranging from an array of bytes (AINT8/AUINT8)...
Date: 10/18/2006
Accessing MTP vendor extended properties through WPD
Apart from the standard device and object properties defined in the MTP specification, device...
Date: 10/17/2006
Setting WPD properties
The IPortableDeviceProperties::SetValues API can be used to set WPD object properties. The...
Date: 10/17/2006
How to check if a WPD property can be modified
We'll create a little helper function that we can use to figure out if a WPD object property can be...
Date: 10/16/2006
Sending MTP commands through WPD (Part 3 - data from device)
Let's use the GetDevicePropValue command (MTP spec - section D.2.21) to illustrate this....
Date: 10/16/2006
Sending MTP commands through WPD (Part 2 - data to the device)
We'll pick the SetDevicePropValue MTP command (MTP spec - section D.2.22) to illustrate this...
Date: 10/13/2006
Save Often!
One of the problems of living on the cutting edge is that it tends to make you bleed. I have a...
Date: 10/13/2006
Creating an MTP string
In some of our later examples, we'll have to send MTP strings to the device. MTP strings are defined...
Date: 10/12/2006
Listening to MTP events
MTP devices can fire events as well. These events are used to educate the PC (or the initiator)...
Date: 10/06/2006
Sending MTP commands through WPD (Part 1 - without a data phase)
Most WPD API are wrappers around the SendCommand API. The documentation for the SendCommand API...
Date: 10/04/2006
Sample code to walk the WPD object hierarchy
Here's a quick example of a console app that can enumerate the contents of a WPD device. You'll need...
Date: 10/04/2006
Understanding WPD object hierarchy
Almost all WPD devices allow content to be stored on them and this suggests that a way of organizing...
Date: 10/02/2006
WPD Collection Interfaces (Part 3)
We'll cover the last collection type, IPortableDeviceValuesCollection, here. To refresh - Part 1...
Date: 09/28/2006
WPD Collection Interfaces (Part 2)
In the previous part, we took a look at IPortableDeviceKeyCollection and IPortableDeviceValues. In...
Date: 09/28/2006
WPD video on Channel 9!
Check out this Channel 9 video on the WPD platform. It's full of demos - check out the one with a...
Date: 09/27/2006
WPD Collection Interfaces (Part 1)
The WPD collection interfaces are documented here in MSDN. These interfaces are used extensively as...
Date: 09/27/2006
Enumerating WPD devices (Part 2)
In part 1 we obtained a list of available WPD devices (the device paths to be precise). In this...
Date: 09/27/2006
Connecting to a WPD device
This post covers how to connect to a WPD device. We obtained a list of device paths in Enumerating...
Date: 09/27/2006
What is MTP anyway?
MTP is the successor to PTP (Picture Transfer Protocol) that has been used by cameras. Since PTP was...
Date: 08/28/2006
Enumerating WPD devices (Part 1)
The IPortableDeviceManager interface can be used to enumerate WPD devices. The GetDevices method...
Date: 08/15/2006
Using the WPD API
The WPD API is a COM API. Unfortunately it does not support IDispatch so we can't use it in...
Date: 08/15/2006
WPD API Documentation
The WPD API documentation is part of the Windows Vista SDK and is available right now on MSDN...
Date: 08/15/2006
Windows Portable Devices (WPD)
Windows Media Player 10 (WMP) introduced the User-mode Driver Framework (UMDF). UMDF allowed drivers...
Date: 08/14/2006
Why dimeby8?
The answer's pretty obvious if you think in terms of currency. I was shooting for the witty...
Date: 08/14/2006