<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Portable Devices Team Blog : WIA</title><link>http://blogs.msdn.com/wpdblog/archive/tags/WIA/default.aspx</link><description>Tags: WIA</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Windows 7 Driver Samples</title><link>http://blogs.msdn.com/wpdblog/archive/2009/09/18/windows-7-driver-samples.aspx</link><pubDate>Sat, 19 Sep 2009 00:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9896984</guid><dc:creator>wpdblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wpdblog/comments/9896984.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wpdblog/commentrss.aspx?PostID=9896984</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The Windows Portable Devices Driver Kit in the Windows Driver Kit (WDK) comes bundled with five WPD sample drivers. Two of these drivers, WpdHelloWorldDriver and WpdWudfSampleDriver, were available in previous versions of the WDK. The remaining three drivers, WpdBasicHardwareDriver, WpdServiceSampleDriver, and WpdMultiTransportDriver, are new additions in the Windows 7 WDK. Together, these samples illustrate how to build a WPD driver for the different scenarios that WPD enables, including interaction with basic hardware, media synchronization, device services, and multi-transport. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;We had mentioned these samples in a previous post on the &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/wpdblog/archive/2009/09/11/windows-7-portable-device-development-kits.aspx" mce_href="http://blogs.msdn.com/wpdblog/archive/2009/09/11/windows-7-portable-device-development-kits.aspx"&gt;&lt;FONT size=2&gt;Windows 7 Portable Devices Development Kits&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;. The purpose of this post is to spend some time covering each sample in greater detail. Hopefully, this will help driver developers navigate the various WPD samples, and figure out which sample(s) best fit their driver requirements. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The following sections will describe each driver, the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd434932.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd434932.aspx"&gt;&lt;FONT size=2&gt;WPD commands&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; that each implements, and the operating systems that each supports. In addition, we will provide the links to instructions for building and installing.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2&gt;WpdHelloWorldDriver&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;Of all the sample drivers, the WpdHelloWorldDriver is the most simple. This driver supports and emulates four objects in software: a device object, a storage object, a folder object, and a text file object. WpdHelloWorldDriver was designed to provide the most basic scaffolding or skeleton required for developing a WPD driver; similar to the canonical "Hello World" program used for introducing a framework or programming language. If you are new to WPD driver development and need a kick start, we recommend starting with this sample.&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;The WpdHelloWorldDriver sample supports 22 commands. These commands cover the basic functionality that enables a WPD device to be browsed in Windows Explorer as a read-only device. The commands fall into four categories: object enumeration, object properties, object resources, and device capabilities. Like all WPD drivers, when this driver is installed and a WPD application calls a method to enumerate objects, set a property, open a resource, and so on, the driver will invoke a corresponding command handler for one of these supported commands. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;This driver is supported on Windows XP, Windows Vista (x86, amd64), and Windows 7 (x86, amd64). &lt;/P&gt;
&lt;P&gt;For instructions on how to build and install this driver, see: &lt;A href="http://msdn.microsoft.com/en-us/library/dd573842.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd573842.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd573842.aspx&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;WpdBasicHardwareDriver&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;The WpdBasicHardwareDriver sample is new for Windows 7 and builds upon the WpdHelloWorldDriver. This sample stands apart from the other WPD samples in that it accesses real device hardware instead of emulating a software-only device. We provided this sample to demonstrate how a basic WPD driver can be built to interact with simple devices. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For our demonstration device, we targetted a “hobbyist” microcontroller that reads data from a variety of sensors. The sensors include: a 2-axis accelerometer, a 3-axis accelerometer, a temperature/humidity sensor, a pressure sensor, a distance sensor, a passive infrared sensor, a compass, a vibration sensor, and a light sensor. These sensor devices are controlled by a Parallax BS2 microcontroller attached to the PC via an RS232 port. In addition to the driver source code, we also provided some sample firmware code that retrieves the sensor data and sends them over the serial port to the PC.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;The WpdBasicHardwareDriver sample supports an even smaller set of commands than the WpdHelloWorldDriver. In the interests of only providing the code that is necessary to demontrate the concepts, we removed some commands for object resources because the WpdBasicHardwareDriver does not need to support reading of files from the device. The remaining commands fall under these three categories: object enumeration, object properties, and device capabilities. To see this driver in action, you can use WpdMon to view the events corresponding to each sensor reading.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;This sample also showcases how WPP Software Tracing can be used for error checking macros. A while ago, we had a post &lt;FONT size=2&gt;that describes how you can &lt;A href="http://blogs.msdn.com/wpdblog/archive/2007/04/01/driver-dev-guide-using-wpp-tracing-in-your-wpd-driver.aspx" mce_href="http://blogs.msdn.com/wpdblog/archive/2007/04/01/driver-dev-guide-using-wpp-tracing-in-your-wpd-driver.aspx"&gt;migrate your existing WPD driver from OutputDebugString to WPP Tracing&lt;/A&gt;. The WpdBasicHardwareDriver is now bundled with the macros.&lt;/FONT&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;This driver is supported on Windows XP, Windows Vista (x86, amd64), and Windows 7 (x86, amd64). If you plan to develop drivers that integrate sensors with Windows 7, we recommend using the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd318953%28VS.85%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd318953(VS.85).aspx"&gt;&lt;FONT size=2&gt;Sensor API&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; and &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc974537.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc974537.aspx"&gt;&lt;FONT size=2&gt;Sensor Driver Model&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;. If you need to develop drivers to integrate sensors with Windows Vista or Windows XP, WPD provides a viable solution.&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For instructions on how to build and install this driver, see: &lt;A href="http://msdn.microsoft.com/en-us/library/dd573829.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd573829.aspx&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H2&gt;WpdWudfSampleDriver&lt;/H2&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;The WpdWudfSampleDriver is a comprehensive driver sample that demonstrates using the WPD DDI for media transfer scenarios.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In addition to file browsing and transfer via Windows Explorer, this sample contains additional functionality that supports media synchronization with Windows Media Device Manager (WMDM) applications (e.g. Windows Media Player), and photo acquisition with Windows Image Acquisition (WIA) applications (e.g. Paint). All interactions with hardware are emulated in software (meaning that this driver talks to a "fake" device).&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;To enable the media transfer scenarios, the WpdWudfSampleDriver sample had to support a large set of commands, including the commands supported by the WpdHelloWorldDriver. These commands can be divided into eight categories: object enumeration, object management, object properties, bulk properties, object resources, capabilities, and storage.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;In this version, we fixed &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/wpdblog/archive/2007/05/08/getting-a-wpd-sample-driver-working-with-windows-media-player-11.aspx" mce_href="http://blogs.msdn.com/wpdblog/archive/2007/05/08/getting-a-wpd-sample-driver-working-with-windows-media-player-11.aspx"&gt;&lt;FONT size=2&gt;a compatibility issue&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; in the Vista WDK version of the sample driver code that prevents it from being properly enumerated in Windows Media Player.&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;This driver is supported on Windows XP, Windows Vista (x86, amd64), and Windows 7 (x86, amd64).&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For instructions on how to build and install this driver, see: &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd573843.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd573843.aspx&lt;/A&gt; &lt;/P&gt;
&lt;H2&gt;WpdMultiTransportDriver&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;The WpdMultiTransportDriver builds upon the WpdHelloWorldDriver and demonstrates how driver developers can take advantage of the Windows 7 support for Multiple Transports. For an overview on what multi transport is all about, check out our post two weeks ago about &lt;A href="http://blogs.msdn.com/wpdblog/archive/2009/09/04/multi-transport-devices-in-windows-7.aspx" mce_href="http://blogs.msdn.com/wpdblog/archive/2009/09/04/multi-transport-devices-in-windows-7.aspx"&gt;Multi-Transport support in Windows 7&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: small" class=Apple-style-span&gt;This driver emulates a transport driver and illustrates how to set the relevant multi-transport settings and generate the Functional Unique Identifier (FUID) during device arrival, in order to perform handshaking with the WPD Composite Driver. In addition, this sample supports multiple Windows Driver Framework I/O queues, where all the other WPD samples only support a single I/O queue.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: small" class=Apple-style-span&gt;Other than the multi-transport support, the WpdMultiTransportDriver sample is virtually identical as the WpdHelloWorldDriver, and supports the same set of WPD commands. A quick way to zero-in on the code modifications needed to support Multi-Transport is to use your favorite diff program to compare the WpdHelloWorldDriver and WpdMultiTransportDriver source folders.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Because multi-transport support is a new feature in Windows 7, this sample driver is only supported on Windows 7 (x86, amd64). &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For instructions on how to build and install this driver, see: &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd573843.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd573843.aspx"&gt;&lt;FONT size=2&gt;http://msdn.microsoft.com/en-us/library/dd573843.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;H2&gt;WpdServiceSampleDriver&lt;/H2&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;The WpdServiceSampleDriver demonstrates how a driver can support Windows 7 Device Services. &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;We covered an &lt;A href="http://blogs.msdn.com/wpdblog/archive/2009/08/15/introducing-device-services.aspx" mce_href="http://blogs.msdn.com/wpdblog/archive/2009/08/15/introducing-device-services.aspx"&gt;introduction to Device Services&lt;/A&gt; in another recent post&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;. This driver emulates a basic Contacts device service that uses the Full Enumeration Sync device service. To support Device Services, this driver implements device services-specific WPD command sets: WPD_CATEGORY_SERVICE_COMMON, WPD_CATEGORY_SERVICE_CAPABILITIES, and WPD_CATEGORY_SERVICE_METHODS. These commands would allow an application to determine the capabilities of a service and invoke methods supported by the service. This driver also uses the new functionality in the WPD Class Extension (IPortableDeviceClassExtension) to register and unregister the Contacts device service interface. Last but not the least, to support object and property management, this sample also supports commands for object enumeration, object properties, bulk properties, object resources, and device capabilities.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;The WpdServiceSampleDriver does not emulate a Media Transfer Protocol (MTP) device. Like most of the other WPD samples, it simulates a software-only device that is not tied to a specific protocol or transport. If you are looking to build firmware for an MTP device that supports device services, you should start with the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://www.microsoft.com/whdc/device/wpd/MTP-DEK_Win7.mspx" mce_href="http://www.microsoft.com/whdc/device/wpd/MTP-DEK_Win7.mspx"&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;Device Enabling Kit&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;FONT size=2&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: small" class=Apple-style-span&gt;Device Services is a new feature we introduced in Windows 7, therefore this sample is only supported on Windows 7 (x86, amd64).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;For instructions on how to build and install this driver, see: &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd573846.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd573846.aspx"&gt;&lt;FONT size=2&gt;http://msdn.microsoft.com/en-us/library/dd573846.aspx&lt;/FONT&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;I&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;This posting is provided "AS IS" with no warranties and confers no rights.&lt;/SPAN&gt;&lt;/I&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896984" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wpdblog/archive/tags/WDK/default.aspx">WDK</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/WMDM/default.aspx">WMDM</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/WIA/default.aspx">WIA</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/Device+Services/default.aspx">Device Services</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/multi-transport/default.aspx">multi-transport</category></item><item><title>WIA Camera Support in Windows Vista (Part 2 of 2)</title><link>http://blogs.msdn.com/wpdblog/archive/2007/02/13/migrating-from-wia-to-wpd-part-2.aspx</link><pubDate>Tue, 13 Feb 2007 21:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1670507</guid><dc:creator>wpdblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wpdblog/comments/1670507.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wpdblog/commentrss.aspx?PostID=1670507</wfw:commentRss><description>&lt;p&gt;In the &lt;a href="http://blogs.msdn.com/wpdblog/archive/2007/02/13/migrating-from-wia-to-wpd.aspx" class="" title="WIA Camera Support on Vista" mce_href="http://blogs.msdn.com/wpdblog/archive/2007/02/13/migrating-from-wia-to-wpd.aspx"&gt;previous post&lt;/a&gt;, we gave an overview of the&amp;nbsp;WIA-WPD Compatibility Layer and how WIA Applications can register for WIA_EVENT_DEVICE_CONNECTED events.&lt;/p&gt;
&lt;p&gt;In this&amp;nbsp;post, we will cover a more advanced topic: customization for PTP and MTP devices.&amp;nbsp;&amp;nbsp; The WIA-WPD&amp;nbsp;Compatibility Layer supports basic extensibility for custom WIA events and WIA properties.&amp;nbsp;&amp;nbsp; These events and properties were provided in the PTP WIA class driver that shipped with Windows XP.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Adding Custom PTP/MTP WIA Event Codes&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;To specify a list of supported PTP/MTP event codes the '&lt;i&gt;&lt;b&gt;WiaEventCodes'&lt;/b&gt;&lt;/i&gt; entry should be provided.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The following example shows 3 custom event codes being reported.&lt;/p&gt;
&lt;p&gt;HKR,,"WiaEventCodes",”0x0001,0x0002,0x0003”&lt;/p&gt;
&lt;p&gt;For each event code specified in the &lt;i&gt;&lt;b&gt;'WiaEventCodes'&lt;/b&gt;&lt;/i&gt; entry, a corresponding &lt;i&gt;&lt;b&gt;'WiaEventCodeXXX'&lt;/b&gt;&lt;/i&gt; entry must exist that specifies the name of the event and the GUID to use when reporting the event to WIA applications.&amp;nbsp; The entry should be constructed using the prefix &lt;i&gt;‘&lt;b&gt;WiaEventCode + the event code specified in WiaEventCodes entry’&lt;/b&gt;&lt;/i&gt;.&amp;nbsp; If the WiaEventCodeXXX entry is missing, the event will not be reported to WIA applications.&lt;/p&gt;
&lt;p&gt;HKR,,"WiaEventCode0x0001”,”{20179E3D-139C-40D3-A0CA-962B33D67EE3},My Custom Event”&lt;br&gt;HKR,,"WiaEventCode0x0002”,”{259A62CF-D8FE-44D0-A747-B14F54A02133},My Amazing Event”&lt;br&gt;HKR,,"WiaEventCode0x0003”,”{639F80C6-94D1-48E2-9D8E-6D0F12237E48},My Super Event”&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Adding Custom PTP/WIA Property Codes&lt;/b&gt;&lt;/p&gt;
&lt;p mce_keep="true"&gt;To specify a list of supported PTP/MTP property codes the &lt;b&gt;&lt;i&gt;‘WiaPropertyCodes’&lt;/i&gt;&lt;/b&gt; entry should be provided. WIA properties will only appear on the root item.&amp;nbsp; These properties are commonly used to control/program the device.&amp;nbsp; &lt;/p&gt;
&lt;p mce_keep="true"&gt;The following example shows 3 custom property codes being reported.&lt;/p&gt;
&lt;p mce_keep="true"&gt;HKR,,"WiaPropertyCodes",”0x0001,0x0002,0x0003”&lt;/p&gt;
&lt;p mce_keep="true"&gt;For each property code specified in the &lt;i&gt;&lt;b&gt;‘WiaPropertyCodes’ &lt;/b&gt;&lt;/i&gt;entry, a corresponding &lt;i&gt;&lt;b&gt;‘WiaPropertyCodeXXX’ &lt;/b&gt;&lt;/i&gt;entry must exist that specifies the name of the property and the WIA property code to use when reporting the property to WIA applications.&amp;nbsp; The entry should be constructed using the prefix &lt;i&gt;&lt;b&gt;‘WiaPropertyCode + the property code specified in WiaPropertyCodes entry’&lt;/b&gt;&lt;/i&gt;.&amp;nbsp; If the WiaPropertyCodeXXX entry is missing, the event will not be reported to WIA applications.&lt;/p&gt;
&lt;p mce_keep="true"&gt;HKR,,"WiaPropertyCode0x0001”,”My Custom Device Property”&lt;br&gt;HKR,,"WiaPropertyCode0x0002”,”My Amazing Device Property”&lt;br&gt;HKR,,"WiaPropertyCode0x0003”,”My Super Device Property”&lt;/p&gt;
&lt;p mce_keep="true"&gt;&lt;b&gt;Sending PTP&amp;nbsp;Custom&amp;nbsp;Commands through WIA&lt;/b&gt;&lt;/p&gt;
&lt;p mce_keep="true"&gt;PTP extension commands can be sent to the vendor's driver using &lt;a href="http://msdn.microsoft.com/en-us/library/ms629973%28VS.85%29.aspx" title="IWiaItemExtras::Escape" mce_href="http://msdn.microsoft.com/en-us/library/ms629973(VS.85).aspx"&gt;IWiaItemExtras::Escape&lt;/a&gt;.&amp;nbsp;&amp;nbsp; In Windows Vista, the WIA-WPD Compatibility&amp;nbsp;Layer&amp;nbsp;repackages&amp;nbsp;PTP extension commands sent using this&amp;nbsp;method into WPD&amp;nbsp;MTP/PTP extension commands, which are dispatched&amp;nbsp;to the WPD MTP class driver.&amp;nbsp;&amp;nbsp; This mechanism exists&amp;nbsp;to support&amp;nbsp;legacy WIA vendor applications that relied on&amp;nbsp;custom PTP commands&amp;nbsp;from Windows XP.&amp;nbsp; &lt;/p&gt;
&lt;p mce_keep="true"&gt;&lt;b&gt;Sending&amp;nbsp;MTP Custom Commands through WPD&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p mce_keep="true"&gt;WPD supports sending of custom MTP commands to the MTP driver using the &lt;a href="http://msdn.microsoft.com/en-us/library/dd375691%28VS.85%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd375691(VS.85).aspx"&gt;IPortableDevice::SendCommand&lt;/a&gt;&amp;nbsp;API.&amp;nbsp;&amp;nbsp; For&amp;nbsp;a step-by-step description, visit DimeBy8's excellent post &lt;a href="http://blogs.msdn.com/dimeby8/archive/2006/10/04/Sending-MTP-commands-through-WPD-_2800_Part-1_2900_.aspx" mce_href="http://blogs.msdn.com/dimeby8/archive/2006/10/04/Sending-MTP-commands-through-WPD-_2800_Part-1_2900_.aspx"&gt;here&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_keep="true"&gt;&lt;b&gt;WIA to WPD Content Type and Format&amp;nbsp;Mapping&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The following table maps WIA&amp;nbsp;Item Types&amp;nbsp;to the WPD_OBJECT_CONTENT_TYPE.&amp;nbsp; &lt;/p&gt;
&lt;p mce_keep="true"&gt;In addition to video and image content, the WIA-WPD Compatiliby Layer supports thumbnails and audio annotations for objects that have them.&amp;nbsp;&amp;nbsp;Any data objects that do not fall under these categories (e.g. music files) will not appear in WIA applications.&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p mce_keep="true"&gt;
&lt;/p&gt;&lt;table style="border: medium none ; border-collapse: collapse;" class="MsoTableGrid" border="1" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr style=""&gt;
&lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt;"&gt;WPD Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt;"&gt;WPD Content Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt;"&gt;WIA Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;&lt;span style="font-size: 8pt;"&gt;WIA Item Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Device object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Root item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;(WiaItemTypeFolder | WiaItemTypeDevice | WiaItemTypeRoot)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Folder object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WPD_CONTENT_TYPE_FOLDER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Folder Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WiaItemTypeFolder&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Functional Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WPD_CONTENT_TYPE_FUNCTIONAL_OBJECT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Folder Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WiaItemTypeFolder&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Image Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WPD_CONTENT_TYPE_IMAGE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Image Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;(WiaItemTypeImage | WiaItemTypeFile | WiaItemTypeTransfer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Video Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WPD_CONTENT_TYPE_VIDEO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Video Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;(WiaItemTypeVideo | WiaItemTypeFile | WiaItemTypeTransfer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Audio Object (used for annotations)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WPD_CONTENT_TYPE_AUDIO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Audio Item &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;(WiaItemTypeAudio | WiaItemTypeFile | WiaItemTypeTransfer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=""&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 85.15pt; background-color: transparent;" valign="top" width="114"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;Other objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 142.85pt; background-color: transparent;" valign="top" width="190"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;WPD_CONTENT_TYPE_XXXX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 83.95pt; background-color: transparent;" valign="top" width="112"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;N/A (These are ignored)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 130.85pt; background-color: transparent;" valign="top" width="174"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;N/A (These are ignored)&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: 'Courier New';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;The following table maps the WIA_IPA_Format property&amp;nbsp;to the&amp;nbsp;WPD_OBJECT_FORMAT property:&lt;i&gt;&amp;nbsp;&lt;/i&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="border: medium none ; width: 404.6pt; border-collapse: collapse;" class="MsoTableGrid" width="539" border="1" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr style=""&gt;
&lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 139.3pt; background-color: transparent;" valign="top" width="186"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WIA_IPA_FORMAT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 265.3pt; background-color: transparent;" valign="top" width="354"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;The formats will be mapped as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style="border: medium none ; width: 254pt; border-collapse: collapse;" class="MsoNormalTable" width="339" border="1" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_EXIF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_EXIF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_JPEG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_JFIF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_PNG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_PNG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_GIF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_GIF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_TIFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_TIFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaAudFmt_WAV&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_WAVE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaAudFmt_MP3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_MP3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaAudFmt_AIFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_AIFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaAudFmt_WMA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_WMA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_MPG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_MPEG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_AVI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_AVI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height: 12.75pt;"&gt;
&lt;td style="border-style: none solid solid; border-color: rgb(240, 240, 240) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 95pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="127" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WiaImgFmt_ASF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="border-style: none solid solid none; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159pt; height: 12.75pt; background-color: transparent;" valign="bottom" width="212" nowrap="nowrap"&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;WPD_OBJECT_FORMAT_ASF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Configuration of the WIA-WPD Compatibility Layer&lt;/b&gt; &lt;/p&gt;
&lt;p minmax_bound="true"&gt;The following section lists the customization options in the WIA-WPD&amp;nbsp;Compatibility Layer that can be disabled/enabled by the device's INF [AddReg] section:&lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;b&gt;Report EXIF&amp;nbsp;Image&amp;nbsp;Format&amp;nbsp;as JPG&lt;/b&gt;&lt;/p&gt;
&lt;p minmax_bound="true"&gt;Some WIA applications expect the EXIF image format to be reported as WiaImgFmt_JPG and not WiaImgFmt_EXIF.&amp;nbsp;&amp;nbsp; To &lt;b&gt;"opt-in"&lt;/b&gt; for this functionality, vendors can add the following to your device's INF:&lt;/p&gt;
&lt;p minmax_bound="true"&gt;HKR,,"ReportJPGFormatForEXIF",0x10001,1&lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;b&gt;WIA Item Tree Behavior&amp;nbsp;for DCF&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p minmax_bound="true"&gt;If the WIA-WPD Compatibility layer encounters a storage that supports DCF, it will ‘shift’ the WIA item tree contents closer to the root item so items are easily found.&amp;nbsp; This will reduce the number of folder levels an application or user will have to navigate to get to the image or video content stored on the device.&amp;nbsp; This functionality can be &lt;b&gt;disabled &lt;/b&gt;by adding the following to your device’s .INF [AddReg] section.&lt;/p&gt;
&lt;p minmax_bound="true"&gt;HKR,,"DisableDCFSpecialProcessing",0x10001,1&lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;i minmax_bound="true"&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1670507" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wpdblog/archive/tags/MTP/default.aspx">MTP</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/WIA/default.aspx">WIA</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/PTP/default.aspx">PTP</category></item><item><title>WIA Camera Support in Windows Vista (Part 1 of 2)</title><link>http://blogs.msdn.com/wpdblog/archive/2007/02/13/migrating-from-wia-to-wpd.aspx</link><pubDate>Tue, 13 Feb 2007 11:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1667610</guid><dc:creator>wpdblog</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wpdblog/comments/1667610.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wpdblog/commentrss.aspx?PostID=1667610</wfw:commentRss><description>&lt;p&gt;In this two-part post, we will cover&amp;nbsp;WIA&amp;nbsp;support&amp;nbsp;for cameras on Windows Vista, and the migration from WIA to WPD for richer applications.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;WIA-WPD Compatibility Layer&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;On Windows XP, Picture Transfer Protocol (PTP) cameras are accessible through&amp;nbsp;the &lt;a href="http://msdn.microsoft.com/en-us/library/ms630368%28VS.85%29.aspx" title="Windows Image Acquisition" mce_href="http://msdn.microsoft.com/en-us/library/ms630368(VS.85).aspx"&gt;WIndows Image Acquisition&lt;/a&gt; (WIA) infrastructure.&amp;nbsp; This is still supported on Windows Vista through&amp;nbsp;the WIA-WPD Compatibility Layer (&lt;i&gt;PortableDeviceWiaCompat.dll&lt;/i&gt;).&amp;nbsp;&amp;nbsp;This&amp;nbsp;component is a WIA mini-driver that&amp;nbsp;communicates to the&amp;nbsp;inbox&amp;nbsp;Media&amp;nbsp;Transfer Protocol (MTP)&amp;nbsp;class driver&amp;nbsp;using the WPD API.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The following classes of devices&amp;nbsp;have the WIA-WPD Compatibility Layer enabled:&lt;/p&gt;
&lt;p&gt;1. PTP Cameras&lt;/p&gt;
&lt;p&gt;2. MTP devices that report WPD_DEVICE_TYPE_CAMERA (subcomp = 2) or WPD_DEVICE_TYPE_VIDEO (subcomp = 6)&lt;/p&gt;
&lt;p&gt;3. WPD devices that support WPD_CONTENT_TYPE_VIDEO&amp;nbsp;or WPD_CONTENT_TYPE_IMAGE, and&amp;nbsp;with the lowest bit set in the&amp;nbsp;&lt;b&gt;&lt;i&gt;EnableLegacySupport &lt;/i&gt;&lt;/b&gt;entry&amp;nbsp;under Device Parameters.&amp;nbsp;&amp;nbsp; This can be set in the driver INF:&lt;/p&gt;
&lt;p&gt;HKR,,"EnableLegacySupport",0x10001,1&lt;/p&gt;
&lt;p&gt;&lt;b&gt;WIA&amp;nbsp;Event Registration for Cameras&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;On Windows Vista, WIA &lt;i&gt;imaging &lt;/i&gt;applications communicate to PTP cameras&amp;nbsp;via the WPD-WIA Compatibility Layer and the Media Transfer Protocol (MTP) class driver.&amp;nbsp; Windows&amp;nbsp;Autoplay is supported, third party applications can register for WIA device-connected events and appear in the autoplay dialog.&amp;nbsp;&amp;nbsp;&amp;nbsp;Note that some third-party WIA applications may require Elevation ("Run as Administrator") at first launch to in order to successfully register for WIA events.&lt;/p&gt;
&lt;p&gt;1. Only &lt;b&gt;&lt;i&gt;Global WIA Event Registration&lt;/i&gt;&lt;/b&gt;&amp;nbsp;for WIA_EVENT_DEVICE_CONNECTED is supported.&amp;nbsp;&amp;nbsp;&amp;nbsp;Any WIA application that registers for&amp;nbsp;this event will be listed in&amp;nbsp;the&amp;nbsp;Windows Autoplay dialog&amp;nbsp;when any WIA-compatible&amp;nbsp;PTP camera is connected.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;2. Supported registration mechanisms: &lt;b&gt;STI Proxy &lt;/b&gt;registration (&lt;i&gt;IStillImage::RegisterLaunchApplication&lt;/i&gt;), &lt;b&gt;WIA CLSID &lt;/b&gt;registration (&lt;i&gt;IWiaDevMgr::RegisterEventCallbackCLSID&lt;/i&gt;), and &lt;b&gt;WIA Program &lt;/b&gt;registration (&lt;i&gt;IWiaDevMgr::RegisterEventCallbackProgram&lt;/i&gt;).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Custom Vendor Events&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To enable &lt;i&gt;&lt;b&gt;Device-Specific&lt;/b&gt;&lt;/i&gt; &lt;i&gt;&lt;b&gt;WIA Event Registration &lt;/b&gt;&lt;/i&gt;for custom vendor events, there is an "opt-in" mechanism.&amp;nbsp;&amp;nbsp; There are&amp;nbsp;2 steps to this:&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Step&amp;nbsp;1:&amp;nbsp;The vendor camera driver INF will&amp;nbsp;need to add the &lt;i&gt;&lt;b&gt;UseWiaAutoPlay&lt;/b&gt;&lt;/i&gt; setting in the &lt;i&gt;Device Parameters&lt;/i&gt; section in the registry.&amp;nbsp; This is a DWORD setting.&amp;nbsp; If set to 1, the WPD-WIA Compatiliby Layer will mark "device connected" and custom vendor events as "action events."&amp;nbsp;&amp;nbsp;&amp;nbsp; If unset, the default value is 0 (WIA autoplay is disabled).&lt;/p&gt;
&lt;p&gt;HKR,,"UseWiaAutoPlay",0x10001,1&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Step 2: The vendor's application&amp;nbsp;calls the&amp;nbsp;IWiaDevMgr APIs to create a&amp;nbsp;Device-specific WIA event registration for their custom WIA event.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The overall effect of&amp;nbsp;enabling device-specific registration is the WIA&amp;nbsp;Autoplay dialog will appear for the custom event.&amp;nbsp;&amp;nbsp;&amp;nbsp;This XP-style dialog&amp;nbsp;is implemented&amp;nbsp;by the WIA Service.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;It is recommended that applications only register via Windows Autoplay or WIA Autoplay, but not both.&amp;nbsp;&amp;nbsp; Windows Autoplay registration is preferred.&lt;/p&gt;
&lt;p mce_keep="true"&gt;&lt;b&gt;Image and Video Acquisition&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;On Windows Vista, the camera image import functionality of the Scanner and Camera Wizard&amp;nbsp;is replaced by the Photo Acquisition Wizard and the Windows Photo Gallery.&amp;nbsp;&amp;nbsp; This is also known as the "Importing Pictures and Videos" dialog.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The Photo Acquisition wizard communciates&amp;nbsp;to PTP cameras using WPD APIs (more specifically, it uses the WPD Namespace Extension).&amp;nbsp;&amp;nbsp;&amp;nbsp; It does not use the WIA APIs.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Video Content Support&lt;/b&gt;&lt;/p&gt;
&lt;p mce_keep="true"&gt;Video content support is removed from WIA for Windows Vista.&amp;nbsp;&amp;nbsp; The&amp;nbsp;effect is&amp;nbsp;video content on your device will not appear in WIA applications running on Windows Vista.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p mce_keep="true"&gt;To&amp;nbsp;access video content from your device, we recommend migrating your applciation to use the WPD API.&amp;nbsp;&amp;nbsp; WPD provides&amp;nbsp;broader content coverage (supports &lt;i&gt;both &lt;/i&gt;video and image content)&amp;nbsp;on Windows Vista for camera devices.&amp;nbsp;&amp;nbsp; For instance, the Vista Photo Acquisition Wizard uses WPD to retrieve pictures and video from PTP devices.&lt;/p&gt;
&lt;p mce_keep="true"&gt;For ease of migration, there is usually a straighforward correlation from WIA metadata to WPD object properties.&amp;nbsp; For example,&amp;nbsp;&lt;i&gt;WiaImgFmt_AVI&lt;/i&gt; corresponds to WPD_CONTENT_TYPE_VIDEO and WPD_OBJECT_FORMAT_AVI.&amp;nbsp;&amp;nbsp;&amp;nbsp;For more details,&amp;nbsp;refer to the&amp;nbsp;WPD &lt;a href="http://msdn.microsoft.com/en-us/library/dd420128.aspx" title="WPD video properties" mce_href="http://msdn.microsoft.com/en-us/library/dd420128.aspx"&gt;video properties&lt;/a&gt;&amp;nbsp;and &lt;a href="http://msdn.microsoft.com/en-us/library/dd375703%28VS.85%29.aspx" title="video format GUIDs" mce_href="http://msdn.microsoft.com/en-us/library/dd375703(VS.85).aspx"&gt;video format GUIDs&lt;/a&gt;&amp;nbsp;on MSDN.&lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;b&gt;Next Post...&lt;/b&gt;&lt;/p&gt;
&lt;p minmax_bound="true"&gt;Watch the next post for more details on custom PTP&amp;nbsp;vendor commands through the&amp;nbsp;WIA&amp;nbsp;Escape mechanism, custom WIA property and event codes.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;i minmax_bound="true"&gt;&lt;/i&gt;&amp;nbsp;&lt;/p&gt;
&lt;p minmax_bound="true"&gt;&lt;i minmax_bound="true"&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1667610" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wpdblog/archive/tags/MTP/default.aspx">MTP</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/WIA/default.aspx">WIA</category><category domain="http://blogs.msdn.com/wpdblog/archive/tags/PTP/default.aspx">PTP</category></item></channel></rss>