basic driver requirements for wpd devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017...

106
Basic Driver Requirements for WPD Devices May 2, 2006 Abstract The Windows Portable Device (WPD) infrastructure for the Microsoft® Windows® family of operating systems supersedes both Windows Media Device Manager (WMDM) and Windows Image Acquisition (WIA) by providing a flexible, robust way for a computer to communicate with music players, storage devices, mobile phones, and other types of connected devices. This paper provides a preview of the basic requirements that all WPD drivers must meet to be eligible to receive a digital signature under the Windows Logo Program. Note: In addition to these basic driver requirements, additional requirements might be defined for drivers and for specific device types under the Windows Logo Program. For complete, up-to-date information about these requirements, see Windows Logo Program Device Requirements for Windows Vista and Windows Server code named "Longhorn," Version 3.0, available on the WHDC Web site. For an overview of the architecture and conceptual model for WPD, see the white paper titled “Introduction to the Windows Portable Device Infrastructure” on the WHDC Web site. References and resources discussed here are listed at the end of this paper. This information applies for the following operating systems: Microsoft Windows Vista™ Microsoft Windows XP. The current version of this paper is maintained on the Web at: http://www.microsoft.com/whdc/whdc/device/media/WPDguide.mspx Important: Documentation for developing WPD drivers and the related tests for WPD drivers is provided in the Windows Driver Kit (WDK). The information in this paper is provided as a preview. All solutions should be implemented based on final documentation and tests in the WDK. Contents

Upload: others

Post on 28-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD DevicesMay 2, 2006

AbstractThe Windows Portable Device (WPD) infrastructure for the Microsoft® Windows® family of operating systems supersedes both Windows Media Device Manager (WMDM) and Windows Image Acquisition (WIA) by providing a flexible, robust way for a computer to communicate with music players, storage devices, mobile phones, and other types of connected devices.

This paper provides a preview of the basic requirements that all WPD drivers must meet to be eligible to receive a digital signature under the Windows Logo Program.

Note: In addition to these basic driver requirements, additional requirements might be defined for drivers and for specific device types under the Windows Logo Program. For complete, up-to-date information about these requirements, see Windows Logo Program Device Requirements for Windows Vista and Windows Server code named "Longhorn," Version 3.0, available on the WHDC Web site.

For an overview of the architecture and conceptual model for WPD, see the white paper titled “Introduction to the Windows Portable Device Infrastructure” on the WHDC Web site.

References and resources discussed here are listed at the end of this paper.This information applies for the following operating systems:

Microsoft Windows Vista™ Microsoft Windows XP.

The current version of this paper is maintained on the Web at: http://www.microsoft.com/whdc/whdc/device/media/WPDguide.mspx

Important: Documentation for developing WPD drivers and the related tests for WPD drivers is provided in the Windows Driver Kit (WDK). The information in this paper is provided as a preview. All solutions should be implemented based on final documentation and tests in the WDK.

ContentsIntroduction..............................................................................................................................3Driver and General Object Requirements................................................................................4Requirements for Content Objects...........................................................................................5Requirements for Functional Objects.....................................................................................18Requirements for Resources.................................................................................................22Requirements for Properties..................................................................................................26Requirements for Commands................................................................................................78Requirements for Event Parameters......................................................................................80References.............................................................................................................................82

Page 2: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 2

DisclaimerThis is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred.

© 2006 Microsoft Corporation. All rights reserved.

Microsoft, DirectShow, DirectSound, Windows, Windows Media, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 3: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 3

IntroductionMicrosoft Windows Portable Devices (WPD) is a new way for a computer to communicate with attached media and storage devices. This system supersedes both Windows Media Device Manager (WMDM) and Windows Image Acquisition (WIA) by providing a flexible, robust way for a computer to communicate with music players, storage devices, mobile phones, and many other types of connected devices.

WPD is designed to support many different kinds of portable devices. It is initially focused on smart storage devices such as portable media players, digital still cameras, and mobile phones. However, it can support a multitude of other devices as long as they have a WPD driver.

Microsoft provides several drivers for standard protocols and devices, including Media Transport Protocol (MTP) devices and Mass Storage Class (MSC) devices. Therefore, manufacturers who implement MTP on their devices do not have to supply their own WPD driver. If a device supports a unique protocol, the manufacturer might need to develop a driver, which is implemented by using the Windows Driver Foundation (WDF) User-Mode Driver Framework (UMDF), as documented in the Windows Driver Kit (WDK).

This paper provides a preview of the basic requirements that all WPD drivers must meet to be signable under the Windows Logo Program. Complete driver design and implementation details are defined in the WDK.

Requirements Summarized in this DocumentThis section … Defines …Basic Driver Model, Installation, and Setup Requirements

UMDF design, Plug and Play, and INF requirements for WPD drivers

General Requirements for Objects Object model, Object ID, and other requirements for objects

Requirements for Content Objects Required properties and resources for content objects

Requirements for Functional Objects Required properties and resources for function objects

Requirements for Resources Requirements for each resource type and its related attributes

Requirements for Properties Properties and attributes defined by WPDRequirements for Commands The commands that WPD definesRequirements for Event Parameters Event values defined for WPD

Important: Additional requirements might be defined for the Windows Logo Program for drivers and for specific device type. For complete, up-to-date information about these requirements, see Windows Logo Program Device Requirements for Windows Vista and Windows Server code named "Longhorn," Version 3.0, available on the WHDC Web site.

Basic WPD Conceptsobject

In WPD, a logical entity on a device. Typically these represent data objects on the device such as pictures on a camera or songs on a media player. Objects can also represent functional or informational parts of the device such as camera settings and player controls (play/record/pause).Objects have properties and are referenced by object identifiers.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 4: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 4

In these guidelines, see “Requirements for Content Objects” and “Requirements for Functional Objects.”

propertyA mechanism for exchanging object-describing metadata, such as the file name, size, and format of an image object.Properties have a current value and attributes. WPD defines a set of standard properties that make up the application programming interface (API) and device driver interface (DDI) definitions, but vendors can define their own. In these guidelines, see “Requirements for Properties.”

property attributeA description of the access rights, valid values, and other information that are related to a property.

resourceA placeholder for binary data. An object can have more than one resource. In these guidelines, see “Requirements for Resources.”

resource attributeSimilar to property attributes, a description of the access rights, size, format, and other information that are related to a resource.

Driver and General Object RequirementsThis section summarizes the basic WPD driver requirements and the general requirements for objects that must be met for the driver to be signable under the Windows Logo Program.WPD drivers are UMDF compliant. Therefore they use the Windows Plug and Play infrastructure for installation. A Plug and Play experience can be created for connectivity on non-Plug and Play buses—for example, by using PnP-X for network devices. Such a solution enables discovery of the device over arbitrary buses and lets the Windows Plug and Play Manager perform the installation. After the driver for the device is installed on the system, clients use WPD APIs to enumerate all installed and active WPD devices.

For a WPD driver to be signable through the Windows Logo Program: The WPD driver must be UMDF compliant. The UMDF redirector—Wudfrd.sys—should be the top-most filter driver. The driver’s INF must include UMDF as one of its co-installers. For example:

[DDInstall.CoInstallers]AddReg = WDF.CoInstaller

[WDF.CoInstaller]HKR,,CoInstallers32,0x00010000,"WUDFCoinstaller.dll"

If the device was installed on a Plug and Play bus such as USB, then disconnecting the device from the bus must result in the WPD driver being unloaded and the Plug and Play Manager sending a DBT_DEVICE_REMOVE_COMPLETE message. Connecting the device to the bus must result in the WPD driver being loaded and the Plug and Play Manager sending a DBT_DEVICE_ARRIVAL message.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 5: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 5

Requirements for Content ObjectsThis section describes the required properties and resources for content objects.

WPD_CONTENT_TYPE_FUNCTIONAL_OBJECTA functional object, not content data on the device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by Digital Rights Management (DRM)

WPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY

Required

ResourcesNone.

WPD_CONTENT_TYPE_FOLDERA folder.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resource

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 6: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 6

Property name Condition WPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_IMAGEImage data (such as a JPEG file).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_MEDIA_WIDTH RequiredWPD_MEDIA_HEIGHT Required

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the image (file)

data.

WPD_CONTENT_TYPE_DOCUMENTDocument data (such as a Microsoft Word [.doc] file or text [.txt] file).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 7: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 7

Property name Condition WPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_CONTACTContact data (such as name and number or a vCard file).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_CONTACT_DISPLAY_NAME Required

ResourcesTBD.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 8: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 8

WPD_CONTENT_TYPE_AUDIOAudio data (such as a Microsoft Windows Media® Audio [WMA] or MP3 file).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_MEDIA_DURATION Required

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the audio (file)

data.

WPD_CONTENT_TYPE_VIDEOVideo data (such as a WMV or AVI file).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objects

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 9: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 9

Property name Condition WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_MEDIA_DURATION RequiredWPD_MEDIA_WIDTH RequiredWPD_MEDIA_HEIGHT RequiredWPD_VIDEO_SCAN_TYPE RequiredWPD_VIDEO_BITRATE RequiredWPD_VIDEO_FOURCC_CODE Required if the codec is one supported by

Microsoft Video for Windows, Microsoft DirectShow®, and Microsoft Windows Media format.

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the video (file)

data.

WPD_CONTENT_TYPE_PLAYLISTA playlist.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 10: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 10

WPD_CONTENT_TYPE_MIXED_CONTENT_ALBUMAn album, which may contain objects of different content types (typically, music, image, and video).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_AUDIO_ALBUMAn audio album.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 11: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 11

Property name Condition WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_IMAGE_ALBUMAn image album.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as represents a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_VIDEO_ALBUMA video album.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hidden

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 12: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 12

Property name Condition WPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_MEMOA memo data.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_COMMON_INFORMATION_SUBJECT

Required

ResourcesNone.

WPD_CONTENT_TYPE_EMAILE-mail data.

Properties Property name Condition WPD_OBJECT_ID Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 13: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 13

Property name Condition WPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_COMMON_INFORMATION_SUBJECT

Required

WPD_EMAIL_TO_LINE RequiredWPD_EMAIL_SENDER_ADDRESS Required

ResourcesNone.

WPD_CONTENT_TYPE_APPOINTMENTAn appointment in a calendar.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 14: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 14

Property name Condition WPD_COMMON_INFORMATION_SUBJECT

Required

WPD_APPOINTMENT_LOCATION Required

ResourcesNone.

WPD_CONTENT_TYPE_TASKA task for tracking (such as a to-do list).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_COMMON_INFORMATION_SUBJECT

Required

ResourcesNone.

WPD_CONTENT_TYPE_PROGRAMA file that can be run, such as. a script or an executable file.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hidden

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 15: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 15

Property name Condition WPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the program

(file).

WPD_CONTENT_TYPE_GENERIC_FILEA file that does not fall into any of the other predefined WPD types for files.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

ResourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the (file) data.

WPD_CONTENT_TYPE_CALENDARA calendar. This object can be either a file that contains calendar information or a folder that contains other objects such as tasks or appointments.

Properties Property name Condition WPD_OBJECT_ID Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 16: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 16

Property name Condition WPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required if the object

is backed by binary data

Contains the (file) data.

WPD_CONTENT_TYPE_GENERIC_MESSAGEA message, such as an Short Message Service (SMS) or e-mail message.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 17: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 17

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required if the object

is backed by binary data

Contains the (file) data.

WPD_CONTENT_TYPE_NETWORK_ASSOCIATIONAn association between a host and a device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_NETWORK_ASSOCIATION_HOST_NETWORK_IDENTIFIERS

Required

ResourcesNone.

WPD_CONTENT_TYPE_CERTIFICATEA certificate that is used for authentication.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as representing a system file)

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 18: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 18

Property name Condition WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the (file) data.

WPD_CONTENT_TYPE_WIRELESS_PROFILEWireless network access information.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required Contains the (file) data.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 19: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 19

WPD_CONTENT_TYPE_MEDIA_CASTA media cast. A media cast object can be thought of as a container object that groups related content, similar to how a playlist groups songs to play. Often, a media cast object is used to group media content originally published online. For example, a receive-side scaling (RSS) channel can be represented as a media cast object, whose object references point to content objects that represent each item in the channel.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_SECTIONA section of data in another object. The WPD_OBJECT_REFERENCES property indicates which object contains the actual data. For example, a large audio file may best be described by a number of chapters. Each chapter could be a WPD_CONTENT_TYPE_SECTION object with its own chapter art, metadata, and so on, and whose data is a subset of the large audio file (such as the first chapter is the first 10 minutes, the second chapter is the next 20 minutes, and so on).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 20: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 20

Property name Condition WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

ResourcesNone.

WPD_CONTENT_TYPE_UNSPECIFIEDAn object that is not in the predefined WPD content types.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object (such

as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED

Required if the object is protected by DRM

WPD_OBJECT_CAN_DELETE Required if the object cannot be deleted

Resources Resource name Condition Description WPD_RESOURCE_DEFAULT Required if the

object is backed by binary data

Contains the binary data.

WPD_CONTENT_TYPE_ALLContent type that is valid as a parameter only to API functions and driver commands. The driver should not report it as a supported content type.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 21: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 21

Requirements for Functional ObjectsFunctional objects describe capabilities or informational elements of a device such as camera settings and player controls (play, record, and pause). This section describes the required properties and resources for function objects.

WPD_FUNCTIONAL_CATEGORY_DEVICEAn object that is used for the device object, which is always the top-most object of the device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID RequiredWPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system

object (such as representing a system file)

WPD_OBJECT_SIZE Required if the object has at least one resource

WPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references

to other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by

DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be

deletedWPD_FUNCTIONAL_OBJECT_CATEGORY RequiredWPD_DEVICE_FIRMWARE_VERSION RequiredWPD_DEVICE_MANUFACTURER RequiredWPD_DEVICE_MODEL RequiredWPD_DEVICE_SERIAL_NUMBER RequiredWPD_DEVICE_SUPPORTS_NON_CONSUMABLE

Required if the device supports nonconsumable objects.

WPD_FUNCTIONAL_CATEGORY_STORAGEAn object that encapsulates storage functionality on the device (such as memory cards and internal memory). Children of these objects are typically files and folders.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID RequiredWPD_OBJECT_FORMAT Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 22: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 22

Property name Condition WPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by

DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY RequiredWPD_STORAGE_TYPE RequiredWPD_STORAGE_CAPACITY Required

WPD_FUNCTIONAL_CATEGORY_STILL_IMAGE_CAPTUREA object that encapsulates still image capture functionality on the device (such as a camera or a camera attachment). This object represents programmatic control of a digital still camera functionality on the device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID RequiredWPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by

DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY RequiredWPD_STILL_IMAGE_CAPTURE_RESOLUTION

Required

WPD_STILL_IMAGE_CAPTURE_FORMAT Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 23: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 23

WPD_FUNCTIONAL_CATEGORY_AUDIO_CAPTUREAn object that encapsulates audio capture functionality on the device (such as a voice recorder or other audio recording component). This object represents programmatic control of the audio capturing functionality on the device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY

Required

WPD_FUNCTIONAL_CATEGORY_VIDEO_CAPTUREAn object that encapsulates video capture functionality on the device (such as a video recorder or a video recording component). This object represents programmatic control of the video capturing functionality on the device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 24: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 24

Property name Condition WPD_OBJECT_REFERENCES Required if the object has references to other

objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY

Required

WPD_FUNCTIONAL_CATEGORY_SMSAn object that encapsulates SMS sending functionality on the device (not the receiving or saved SMS messages because those are represented as content objects on the device).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID RequiredWPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by

DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY RequiredWPD_SMS_PROVIDER RequiredWPD_SMS_TIMEOUT RequiredWPD_SMS_MAX_PAYLOAD RequiredWPD_SMS_ENCODING Required

WPD_FUNCTIONAL_CATEGORY_RENDERING_INFORMATIONAn object that provides information about the rendering characteristics of the device.

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID RequiredWPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 25: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 25

Property name Condition WPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME Required if the object represents a fileWPD_OBJECT_REFERENCES Required if the object has references to

other objectsWPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by

DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY RequiredWPD_RENDERING_INFORMATION_PROFILES

Required

WPD_FUNCTIONAL_CATEGORY_NETWORK_CONFIGURATIONAn object that encapsulates network configuration functionality on the device (such as Wi-Fi profiles and partnerships).

Properties Property name Condition WPD_OBJECT_ID RequiredWPD_OBJECT_PARENT_ID RequiredWPD_OBJECT_NAME RequiredWPD_OBJECT_PERSISTENT_UNIQUE_ID

Required

WPD_OBJECT_FORMAT RequiredWPD_OBJECT_CONTENT_TYPE RequiredWPD_OBJECT_ISHIDDEN Required if the object is hiddenWPD_OBJECT_ISSYSTEM Required if the object is a system object

(such as representing a system file)WPD_OBJECT_SIZE Required if the object has at least one

resourceWPD_OBJECT_ORIGINAL_FILE_NAME

Required if the object represents a file

WPD_OBJECT_REFERENCES Required if the object has references to other objects

WPD_OBJECT_IS_DRM_PROTECTED Required if the object is protected by DRMWPD_OBJECT_CAN_DELETE Required if the object cannot be deletedWPD_FUNCTIONAL_OBJECT_CATEGORY

Required

WPD_FUNCTIONAL_CATEGORY_ALLA functional category that is valid as a parameter only to API functions and driver commands. The driver should not report it as a supported functional category.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 26: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 26

Requirements for ResourcesWPD defines a set of resource categories (such as PROPERTYKEY values). These values are used to describe individual resources in an object. The pid member of the property key can be different to describe different resources of the same type for all types except WPD_RESOURCE_DEFAULT, which can describe only one resource. This section describes the requirements for each resource type and its related attributes.

WPD_RESOURCE_DEFAULTThe entire object's data. An object can have only one default resource.

Attributes WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

WPD_RESOURCE_CONTACT_PHOTOThe contact's photo data. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_MEDIA_WIDTH

RequiredWPD_MEDIA_HEIGHT

RequiredWPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 27: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 27

WPD_RESOURCE_THUMBNAILThe thumbnail data for an object. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_MEDIA_WIDTH

RequiredWPD_MEDIA_HEIGHT

RequiredWPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

WPD_RESOURCE_ICONThe icon data for an object. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 28: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 28

WPD_RESOURCE_AUDIO_CLIPAn audio sample data for an object. If the object is a picture, this could be a voice annotation. If the object is a music file, this could be a sample clip. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

WPD_RESOURCE_ALBUM_ARTThe album artwork from which this media originated. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_MEDIA_WIDTH

RequiredWPD_MEDIA_HEIGHT

RequiredWPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 29: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 29

WPD_RESOURCE_GENERICAn arbitrary binary blob that is associated with this object.

Attributes WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

WPD_RESOURCE_VIDEO_CLIPA video sample for an object. If the object is a video, this could be a small video clip. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_MEDIA_WIDTH

RequiredWPD_MEDIA_HEIGHT

RequiredWPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 30: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 30

WPD_RESOURCE_BRANDING_ARTThe product branding artwork or logo for an object. This resource is typically found on, but not limited to, the device object. Multiple resources for an object are indicated by changing the .pid of the resource key to be unique for each resource of the same type.

Attributes WPD_MEDIA_WIDTH

RequiredWPD_MEDIA_HEIGHT

RequiredWPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE

RequiredWPD_RESOURCE_ATTRIBUTE_CAN_READ

Required if clients can read this resourceWPD_RESOURCE_ATTRIBUTE_CAN_WRITE

Required if clients can write this resourceWPD_RESOURCE_ATTRIBUTE_CAN_DELETE

Required if clients can delete this resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZE

Required if clients have read access to the resourceWPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZE

Required if clients have write access to the resourceWPD_RESOURCE_ATTRIBUTE_FORMAT

Required

Requirements for PropertiesProperties and attributes are defined as PROPERTYKEY structures with two parts:

A category GUID A unique ID for that category

Properties that describe related things share a common GUID, which is their property category. A category can describe one or more properties, each with a unique ID. Microsoft defines a set of property categories; vendors can use these for their own properties or create new categories.

This section describes the properties and attributes that are defined by WPD.

WPD_PROPERTY_NULLA NULL property key.

Additional Requirements: Must be of VarType: VT_EMPTY

WPD_OBJECT_IDA unique object on the portable device. Object identifiers are unique across the device (that is, each object on the device must have an ID that is different from all other objects), but may be tied to the session (that is, two different sessions may have two different IDs for the same object). The device or driver defines its ID scheme, but the requirement is that each object be referenced by a unique ID.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 31: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 31

Cannot contain the following invalid filename characters: \ / : * ? " < > |

WPD_OBJECT_PARENT_IDObject identifier that indicates the parent object.

Additional Requirements: Must be of VarType: VT_LPWSTR Cannot contain the following invalid filename characters: \ / : * ? " < > | Must include a parent object. Empty string value that is valid only for the DEVICE object.

WPD_OBJECT_NAMEThe display name for this object.

Additional Requirements: Must be of VarType: VT_LPWSTR Cannot contain the following invalid filename characters: \ / : * ? " < > | Must be human readable. An application may display this property if WPD_ORIGINAL_FILE_NAME is not present or is missing.

WPD_OBJECT_PERSISTENT_UNIQUE_IDUnique identification of the object on the portable device, similar to WPD_OBJECT_ID, but which ID does not change between sessions. Synchronization engines typically extensively use this property to identify content.

Additional Requirements: Must be of VarType: VT_LPWSTR Cannot contain the following invalid filename characters: \ / : * ? " < > |

WPD_OBJECT_FORMATThe format of the object's data.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_OBJECT_CONTENT_TYPEThe abstract type for the object content, which indicates the kinds of properties and data that may be supported on the object. See WPD_CONTENT_TYPE_XXXX definitions.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_OBJECT_ISHIDDENWhether the object should be hidden.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_OBJECT_ISSYSTEMWhether the object represents system data.

Additional Requirements: Must be of VarType: VT_BOOL

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 32: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 32

WPD_OBJECT_SIZEThe size of the object data.

Additional Requirements: Must be of VarType: VT_UI8 Must match the WPD_DEFAULT_RESOURCE attribute setting WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE.

WPD_OBJECT_ORIGINAL_FILE_NAMEThe name of the file that this object represents.

Additional Requirements: Must be of VarType: VT_LPWSTR Cannot contain the following invalid file name characters: \ / : * ? " < > | Must contain a file name with extension. Must not include a folder path.

WPD_OBJECT_NON_CONSUMABLEA determination of whether this object is intended to be understood by the device or whether it has been placed on the device just for storage. If this property is not present, all data is assumed to be intended for consumption.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_OBJECT_REFERENCESAn IPortableDevicePropVariantCollection of type VT_LPWSTR that indicates a list of ObjectIDs. Some objects are "containers" for other objects (contain the actual data). An example of this is an audio playlist object, which references other objects that represent the actual music files.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_OBJECT_KEYWORDSA string that contains a list of keywords that are associated with this object.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_OBJECT_SYNC_IDAn opaque string that the client sets to retain the state between sessions without retaining a catalog of connected device content.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 33: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 33

WPD_OBJECT_IS_DRM_PROTECTEDWhether the media data is DRM protected.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_OBJECT_DATE_CREATEDThe date and time that the object was created on the device.

Additional Requirements: Must be of VarType: VT_DATE

WPD_OBJECT_DATE_MODIFIEDThe date and time that the object was modified on the device.

Additional Requirements: Must be of VarType: VT_DATE

WPD_OBJECT_DATE_AUTHOREDThe date and time that the object was authored (for music, for example, this would be the date that the music was recorded).

Additional Requirements: Must be of VarType: VT_DATE

WPD_OBJECT_BACK_REFERENCESAn IPortableDevicePropVariantCollection of type VT_LPWSTR that indicates a list of ObjectIDs. When an object is referenced by a container object (such as an audio object referenced by a playlist), the referenced object uses this property to refer back to its container object (that is, the audio object may refer back to the playlist object in this example).

Additional Requirements: Must be of VarType: VT_LPWSTR Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_OBJECT_CONTAINER_FUNCTIONAL_OBJECT_IDThe Object ID of the closest functional object ancestor. For example, objects that represent files or folders under a Storage functional object have this property set to the object ID of the storage functional object.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 34: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 34

WPD_OBJECT_GENERATE_THUMBNAIL_FROM_RESOURCEWhether the thumbnail for this object should be generated from the default resource. This is useful for creating friendly browsing experience when the object does not provide a thumbnail resource, but has a thumbnail that can be generated from the content of the default resource. For example, objects that represent video files may choose to set this flag to allow the Portable Devices Namespace to extract a thumbnail from a key frame in the video file. Note that this may affect the UI responsiveness because the object contents must be first transferred and then the thumbnail extracted. It is far more efficient to provide a thumbnail resource where appropriate.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_OBJECT_HINT_LOCATION_DISPLAY_NAMEThe hint-specific name to display instead of the object name. Drivers can specify location hints for various content types if this object appears as a hint location. These can be thought of as shortcuts to top-level folder objects that contain objects of the specified types. Clients that use these location hints can display a name for these shortcuts that differs from the folder's object name. If this property does not exist, the WPD_OBJECT_NAME is typically used instead.

Additional Requirements: Must be of VarType: VT_LPWSTR Cannot contain the following invalid file name characters: \ / : * ? " < > | Must be human readable; this property may be displayed by an application. Must contain a file name with extension. Must not include a folder path.

WPD_OBJECT_CAN_DELETEWhether the object can be deleted.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_FUNCTIONAL_OBJECT_CATEGORYThe object's functional category.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_FOLDER_CONTENT_TYPES_ALLOWEDThe subset of content types that can be created in this folder directly (that is, children may have different restrictions). This property holds an IPortableDevicePropVariantCollection of type VT_CLSID.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains globally unique identifier (GUID) values.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 35: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 35

WPD_IMAGE_BITDEPTHThe bit depth of an image.

Additional Requirements: Must be of VarType: VT_UI4

WPD_IMAGE_CROPPED_STATUSWhether the file has been cropped. This prevents multiple devices from automatically cropping the image during post-processing.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_CROPPED_STATUS_VALUES enumeration that is defined in "PortableDevice.h". Values are:WPD_CROPPED_STATUS_NOT_CROPPED WPD_CROPPED_STATUS_CROPPED WPD_CROPPED_STATUS_SHOULD_NOT_BE_CROPPED

WPD_IMAGE_COLOR_CORRECTED_STATUSWhether the file has been color corrected. This prevents multiple devices from automatically color-correcting the image during post-processing.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_COLOR_CORRECTED_STATUS_VALUES enumeration that is defined in "PortableDevice.h". Values are:WPD_COLOR_CORRECTED_STATUS_NOT_CORRECTED WPD_COLOR_CORRECTED_STATUS_CORRECTEDWPD_COLOR_CORRECTED_STATUS_SHOULD_NOT_BE_CORRECTED

WPD_IMAGE_FNUMBERThe aperture setting of the lens when this image was captured. Units are equal to the F-number scaled by 100.

Additional Requirements: Must be of VarType: VT_UI4

WPD_IMAGE_EXPOSURE_TIMEThe shutter speed of the device when this image was captured, in seconds scaled by 10000.

Additional Requirements: Must be of VarType: VT_UI4

WPD_IMAGE_EXPOSURE_INDEXThe emulation of film speed settings when this image was captured. The settings correspond to the ISO designations of (ASA/DIN). Typically, a device supports discrete enumerated values, but continuous control over a range is possible. A value of 0xFFFFFFFF corresponds to automatic ISO setting.

Additional Requirements: Must be of VarType: VT_UI4

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 36: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 36

WPD_MEDIA_TOTAL_BITRATEThe total number of bits that one second consumes.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_BITRATE_TYPEFurther qualification of the bit rate of audio or video data.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_BITRATE_TYPES enumeration that are defined in "PortableDevice.h". Values are:WPD_BITRATE_TYPE_UNUSED WPD_BITRATE_TYPE_DISCRETE WPD_BITRATE_TYPE_VARIABLE WPD_BITRATE_TYPE_FREE

WPD_MEDIA_COPYRIGHTThe copyright information.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_SUBSCRIPTION_CONTENT_IDAdditional information to identify a piece of content relative to an online subscription service. The client typically sets this value.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_USE_COUNTThe total number of times that this media has been played or viewed on the device.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_SKIP_COUNTThe total number of times that this media was set up to be played or viewed but was manually skipped by the user.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_LAST_ACCESSED_TIMEThe date and time that the media was last accessed on the device.

Additional Requirements: Must be of VarType: VT_DATE

WPD_MEDIA_PARENTAL_RATINGThe parental rating of the media file.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 37: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 37

WPD_MEDIA_META_GENREFurther qualification of a piece of media in a contextual way.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_META_GENRES enumeration that is defined in PortableDevice.h. Values are:WPD_META_GENRE_UNUSED WPD_META_GENRE_GENERIC_MUSIC_AUDIO_FILE WPD_META_GENRE_GENERIC_NON_MUSIC_AUDIO_FILE WPD_META_GENRE_SPOKEN_WORD_AUDIO_BOOK_FILES WPD_META_GENRE_SPOKEN_WORD_FILES_NON_AUDIO_BOOK WPD_META_GENRE_SPOKEN_WORD_NEWS WPD_META_GENRE_SPOKEN_WORD_TALK_SHOWS WPD_META_GENRE_GENERIC_VIDEO_FILE WPD_META_GENRE_NEWS_VIDEO_FILE WPD_META_GENRE_MUSIC_VIDEO_FILE WPD_META_GENRE_HOME_VIDEO_FILE WPD_META_GENRE_FEATURE_FILM_VIDEO_FILE WPD_META_GENRE_TELEVISION_VIDEO_FILE WPD_META_GENRE_TRAINING_EDUCATIONAL_VIDEO_FILE WPD_META_GENRE_PHOTO_MONTAGE_VIDEO_FILE WPD_META_GENRE_GENERIC_NON_AUDIO_NON_VIDEO WPD_META_GENRE_PODCAST

WPD_MEDIA_COMPOSERThe composer's name if the composer is not the artist who performed it. This applies primarily to musical works, but can be applied to any created performance.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_EFFECTIVE_RATINGAn assigned rating for media not set by the user, but generated based upon usage statistics. The value is from 1 to 100, or 0 if not set.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_SUB_TITLEFurther qualification of the title when the title is ambiguous or general (such as when the title describes a series and the subtitle describes the episode).

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_RELEASE_DATEWhen the media was released.

Additional Requirements: Must be of VarType: VT_DATE

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 38: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 38

WPD_MEDIA_SAMPLE_RATEThe number of times that the media selection was sampled per second during encoding.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_STAR_RATINGThe star rating for this media. This is a value from 0 to 5, with 0 being unrated, 1 being worst, and 5 being best.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_USER_EFFECTIVE_RATINGThe rating for this media. This is a value from 0 to 100, with 0 being worst and 100 being best.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_TITLEThe title of this media.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_DURATIONThe duration of this media, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI8

WPD_MEDIA_BUY_NOW.TBD

Additional Requirements: Must be of VarType: VT_BOOL

WPD_MEDIA_ENCODING_PROFILEA profile by which media codecs may be encoded, which defines a particular encoding algorithm or optimization process. The meaning of this property depends upon the codec of the media object to which it is applied. This property should not be supported unless profile information is necessary to decode the bitstream of the encoded media. If profile is used only to identify a collection of encoding parameters, those should be identified instead by the other appropriate WPD properties and this property becomes redundant.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_WIDTHThe width of an object in pixels.

Additional Requirements: Must be of VarType: VT_UI4

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 39: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 39

WPD_MEDIA_HEIGHTThe height of an object, in pixels.

Additional Requirements: Must be of VarType: VT_UI4

WPD_MEDIA_ARTISTThe artist for this media. For music objects, this indicates the artist who performed the music. For images, this indicates the photographer who took the picture.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_ALBUM_ARTISTThe artist of the entire album rather than for a particular track. For music objects, This is the artist of the entire album rather than for a particular track.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_OWNERThe e-mail address of the owner for this media. This property is often used on media cast objects to indicate the owner of an RSS channel or series.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_MANAGING_EDITORThe e-mail address of the managing editor for this media. This property is often used on media cast objects to indicate the managing editor of an RSS channel or series.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_WEBMASTERThe e-mail address of the webmaster for this media. This property is often used on media cast objects to indicate the webmaster of an RSS channel or series.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_SOURCE_URLThe source URL for this object. This property is often used on media cast and related objects to indicate where the content originated.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_DESTINATION_URLThe URL to which an object is linked if a user clicks on it. This property is often used on media cast and related objects to indicate a location (usually a Web address) where associated information is available.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 40: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 40

WPD_MEDIA_SUMMARYA summary of the content for this object. This property is often used on media cast objects to summarize the content in the media cast.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_CATEGORYThe category (or genre) to which this media belongs..

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_TIME_BOOKMARKA bookmark (of the last position played or viewed on media that have duration, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI8

WPD_MEDIA_OBJECT_BOOKMARKA WPD_OBJECT_ID of the last object that was viewed or played for those objects that refer to a list of objects (such as playlists or media casts).

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MEDIA_LAST_BUILD_DATEThe last time a series in a media cast was changed or edited.

Additional Requirements: Must be of VarType: VT_DATE

WPD_CONTACT_DISPLAY_NAMEThe display name of the contact (such as "Done Hall").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_FIRST_NAMEThe first name of the contact (such as "John").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_MIDDLE_NAMESThe middle name of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 41: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 41

WPD_CONTACT_LAST_NAMEThe last name of the contact (such as "Doe").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PREFIXThe prefix of the name of the contact (such as "Mr.").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_SUFFIXThe suffix of the name of the contact (such as "Jr.").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PHONETIC_FIRST_NAMEThe phonetic guide for pronouncing the contact's first name.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PHONETIC_LAST_NAMEThe phonetic guide for pronouncing the contact's last name.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_FULL_POSTAL_ADDRESSThe full postal address of the contact (such as "555 Dial Drive, PhoneLand, WA 12345").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_POSTAL_ADDRESS_LINE1The first line of a postal address of the contact (such as "555 Dial Drive").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_POSTAL_ADDRESS_LINE2The second line of a postal address of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_POSTAL_ADDRESS_CITYThe city of a postal address of the contact (such as "PhoneLand").

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 42: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 42

WPD_CONTACT_PERSONAL_POSTAL_ADDRESS_REGIONThe region of a postal address of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_POSTAL_ADDRESS_POSTAL_CODEThe postal code of the address.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_POSTAL_ADDRESS_COUNTRYThe country of the postal address.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_FULL_POSTAL_ADDRESSThe full postal address of the contact (such as "555 Dial Drive, PhoneLand, WA 12345").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_POSTAL_ADDRESS_LINE1The first line of a postal address of the contact (such as "555 Dial Drive").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_POSTAL_ADDRESS_LINE2The second line of a postal address of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_POSTAL_ADDRESS_CITYThe city of a postal address of the contact (such as "PhoneLand").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_POSTAL_ADDRESS_REGIONThe region of a postal address of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_POSTAL_ADDRESS_POSTAL_CODEThe postal code of the address.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 43: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 43

WPD_CONTACT_BUSINESS_POSTAL_ADDRESS_COUNTRYThe country of the postal address.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_FULL_POSTAL_ADDRESSThe full postal address of the contact (such as "555 Dial Drive, PhoneLand, WA 12345").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_POSTAL_ADDRESS_LINE1The first line of a postal address of the contact (such as "555 Dial Drive").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_POSTAL_ADDRESS_LINE2The second line of a postal address of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_POSTAL_ADDRESS_CITYThe city of a postal address of the contact (such as "PhoneLand").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_POSTAL_ADDRESS_REGIONThe region of a postal address of the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_POSTAL_ADDRESS_POSTAL_CODEThe postal code of the address.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_POSTAL_ADDRESS_POSTAL_COUNTRYThe country of the postal address.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PRIMARY_EMAIL_ADDRESSThe primary e-mail address for the contact (such as "[email protected]").

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 44: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 44

WPD_CONTACT_PERSONAL_EMAILThe personal e-mail address for the contact (such as "[email protected]").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_EMAIL2An alternate personal e-mail address for the contact (such as "[email protected]").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_EMAILThe business e-mail address for the contact (such as "[email protected]").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_EMAIL2An alternate business e-mail address for the contact (such as "[email protected]").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_EMAILSAn IPortableDevicePropVariantCollection of type VT_LPWSTR, where each element is an alternate e-mail address for the contact.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_CONTACT_PRIMARY_PHONEThe primary phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_PHONEThe personal phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_PHONE2An alternate personal phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 45: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 45

WPD_CONTACT_BUSINESS_PHONEThe business phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_PHONE2An alternate business phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_MOBILE_PHONEThe mobile phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_MOBILE_PHONE2An alternate mobile phone number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_FAXThe personal fax number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_FAXThe business fax number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PAGERThe pager number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_OTHER_PHONESAn IPortableDevicePropVariantCollection of type VT_LPWSTR, where each element is an alternate phone number for the contact.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 46: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 46

WPD_CONTACT_PRIMARY_WEB_ADDRESSThe primary Web address for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PERSONAL_WEB_ADDRESSThe personal Web address for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_BUSINESS_WEB_ADDRESSThe business Web address for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_INSTANT_MESSENGERThe instant messenger address for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_INSTANT_MESSENGER2An alternate instant messenger address for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_INSTANT_MESSENGER3An alternate instant messenger address for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_COMPANY_NAMEThe company name for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_PHONETIC_COMPANY_NAMEThe phonetic guide for pronouncing the contact's company name.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_ROLEThe role for the contact (such as "Software Engineer").

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 47: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 47

WPD_CONTACT_BIRTHDATEThe birthdate for the contact.

Additional Requirements: Must be of VarType: VT_DATE

WPD_CONTACT_PRIMARY_FAXThe primary fax number for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_SPOUSEThe full name of the spouse for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_CHILDRENAn IPortableDevicePropVariantCollection of type VT_LPWSTR, where each element is the full name of a child of the contact.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_CONTACT_ASSISTANTThe full name of the assistant for the contact.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CONTACT_ANNIVERSARY_DATEThe anniversary date for the contact.

Additional Requirements: Must be of VarType: VT_DATE

WPD_MUSIC_ALBUMThe album of the music file.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MUSIC_TRACKThe track number for the music file.

Additional Requirements: Must be of VarType: VT_UI4

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 48: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 48

WPD_MUSIC_GENREThe genre to which this style of music belongs.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MUSIC_LYRICSThe lyrics for the music file.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MUSIC_DESCRIPTIONThe description of the music file.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_MUSIC_MOODThe mood for the music file.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_AUDIO_BITRATEThe bit rate for the audio data, in bits per second.

Additional Requirements: Must be of VarType: VT_UI4

WPD_AUDIO_CHANNEL_COUNTThe number of channels in this audio file (such as 1, 2, or 5.1).

Additional Requirements: Must be of VarType: VT_R4

WPD_AUDIO_FORMAT_CODEThe registered WAVE format code. These codes are used to uniquely identify audio formats and in various legacy and current software development kits (SDKs), including MCI, Microsoft Video for Windows, Microsoft DirectShow, Microsoft DirectSound®, and Microsoft Windows Media format.

Additional Requirements: Must be of VarType: VT_UI4

WPD_AUDIO_BIT_DEPTHThe bit depth of the audio.

Additional Requirements: Must be of VarType: VT_UI4

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 49: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 49

WPD_AUDIO_BLOCK_ALIGNMENTTBD.

Additional Requirements: Must be of VarType: VT_UI4

WPD_VIDEO_AUTHORThe author of the video file.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_VIDEO_GENREThe genre for this video file.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_VIDEO_RECORDEDTV_STATION_NAMEThe TV station from which the video was recorded.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_VIDEO_RECORDEDTV_CHANNEL_NUMBERThe TV channel number from which the video was recorded.

Additional Requirements: Must be of VarType: VT_UI4

WPD_VIDEO_RECORDEDTV_PROGRAM_DESCRIPTIONThe description of the recorded video program.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_VIDEO_RECORDEDTV_REPEATWhether the recorded TV program was a repeat showing.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_VIDEO_BUFFER_SIZEThe video buffer size.

Additional Requirements: Must be of VarType: VT_UI4

WPD_VIDEO_CREDITSThe credit text for the video file.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 50: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 50

WPD_VIDEO_KEY_FRAME_DISTANCEThe interval between key frames, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI4

WPD_VIDEO_QUALITY_SETTINGThe quality setting for the video file.

Additional Requirements: Must be of VarType: VT_UI4

WPD_VIDEO_SCAN_TYPEThe video scan information.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_VIDEO_SCAN_TYPES enumeration that is defined in "PortableDevice.h". Values are:WPD_VIDEO_SCAN_TYPE_UNUSED WPD_VIDEO_SCAN_TYPE_PROGRESSIVE WPD_VIDEO_SCAN_TYPE_FIELD_INTERLEAVED_UPPER_FIRST WPD_VIDEO_SCAN_TYPE_FIELD_INTERLEAVED_LOWER_FIRST WPD_VIDEO_SCAN_TYPE_FIELD_SINGLE_UPPER_FIRST WPD_VIDEO_SCAN_TYPE_FIELD_SINGLE_LOWER_FIRST WPD_VIDEO_SCAN_TYPE_MIXED_INTERLACE WPD_VIDEO_SCAN_TYPE_MIXED_INTERLACE_AND_PROGRESSIVE

WPD_VIDEO_BITRATEThe bit rate for the video data.

Additional Requirements: Must be of VarType: VT_UI4

WPD_VIDEO_FOURCC_CODEThe registered FourCC code that indicates the codec that is used for the video file. These codes are used to uniquely identify video formats and in various legacy and current software development kits (SDKs), including those for Microsoft Video for Windows, Microsoft DirectShow, and Microsoft Windows Media format.

Additional Requirements: Must be of VarType: VT_DWORD

WPD_VIDEO_FRAMERATEThe frame rate for the video data. This property is represented in 1/1000 of a frame, so a frame rate of 29.97 is represented as 29970.

Additional Requirements: Must be of VarType: VT_UI4

WPD_COMMON_INFORMATION_SUBJECTThe subject field of this object.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 51: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 51

WPD_COMMON_INFORMATION_BODY_TEXTThe body text of an object, in plaintext or HTML format. If the body text is in a format other than plain text or HTML and the device or driver does not extract it, this property may not exist and the actual body text will be contained in a WPD resource for that object.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_COMMON_INFORMATION_PRIORITYThe priority of this object. 0 indicates the highest priority.

Additional Requirements: Must be of VarType: VT_UI4

WPD_COMMON_INFORMATION_START_DATETIMEFor appointments, tasks, and similar objects, the date and time that this item is scheduled to start.

Additional Requirements: Must be of VarType: VT_DATE

WPD_COMMON_INFORMATION_END_DATETIMEFor appointments, tasks, and similar objects, the date and time that this item is scheduled to end.

Additional Requirements: Must be of VarType: VT_DATE

WPD_COMMON_INFORMATION_NOTESFor appointments, tasks, and similar objects, any notes for this object.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_EMAIL_TO_LINEThe normal recipients for the message.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_EMAIL_CC_LINEThe copied recipients for the message.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_EMAIL_BCC_LINEThe recipients for the message who receive a "blind copy."

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 52: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 52

WPD_EMAIL_HAS_BEEN_READWhether the user has read this message.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_EMAIL_RECEIVED_TIMEThe time at which the message was received.

Additional Requirements: Must be of VarType: VT_DATE

WPD_EMAIL_HAS_ATTACHMENTSWhether the message has attachments.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_EMAIL_SENDER_ADDRESSWho sent the message.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_LOCATIONThe location of the appointment (such as "Building 5, Conf. room 7").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_TYPEThe type of appointment (such as "Personal" or "Business").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_REQUIRED_ATTENDEESA semicolon-separated list of required attendees.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_OPTIONAL_ATTENDEESA semicolon-separated list of optional attendees.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_ACCEPTED_ATTENDEESA semicolon-separated list of attendees who have accepted the appointment.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 53: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 53

WPD_APPOINTMENT_RESOURCESA semicolon-separated list of resources that are required for the appointment.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_TENTATIVE_ATTENDEESA semicolon-separated list of attendees who have tentatively accepted the appointment.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_APPOINTMENT_DECLINED_ATTENDEESA semicolon-separated list of attendees who have declined the appointment.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_TASK_STATUSThe status of the task (such as "In Progress").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_TASK_PERCENT_COMPLETEHow much of the task has been completed. This is a value from 0 to 100, with 0 being "not started" and 100 being "completed."

Additional Requirements: Must be of VarType: VT_UI4

WPD_TASK_REMINDER_DATEThe date and time set for the reminder. If this value is 0, then it is assumed that this task has no reminder.

Additional Requirements: Must be of VarType: VT_DATE

WPD_TASK_OWNERThe owner of the task.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STORAGE_TYPEThe type of storage (such as fixed or removable).

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_STORAGE_TYPE_VALUES enumeration that is defined in "PortableDevice.h". Values are:WPD_STORAGE_TYPE_UNDEFINED WPD_STORAGE_TYPE_FIXED_ROM WPD_STORAGE_TYPE_REMOVABLE_ROM

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 54: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 54

WPD_STORAGE_TYPE_FIXED_RAM WPD_STORAGE_TYPE_REMOVABLE_RAM

WPD_STORAGE_FILE_SYSTEM_TYPEThe file system type (such as "FAT32" or "NTFS" or "My Special File System").

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STORAGE_CAPACITYThe total storage capacity, in bytes.

Additional Requirements: Must be of VarType: VT_UI8

WPD_STORAGE_FREE_SPACE_IN_BYTESThe available space, in bytes.

Additional Requirements: Must be of VarType: VT_UI8

WPD_STORAGE_FREE_SPACE_IN_OBJECTSThe available space in objects such as available slots on a SIM card.

Additional Requirements: Must be of VarType: VT_UI8

WPD_STORAGE_DESCRIPTIONA description of the storage.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STORAGE_SERIAL_NUMBERThe serial number of the storage. The format of this string is vendor specific.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STORAGE_MAX_OBJECT_SIZEThe maximum size of a single object (in bytes) that can be placed on this storage.

Additional Requirements: Must be of VarType: VT_UI8

WPD_STORAGE_CAPACITY_IN_OBJECTSThe total storage capacity in objects such as available slots on a SIM card.

Additional Requirements: Must be of VarType: VT_UI8

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 55: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 55

WPD_NETWORK_ASSOCIATION_HOST_NETWORK_IDENTIFIERSThe list of EUI-64 host identifiers valid for this association. This is an array of bytes that contain an integral number of EUI-64 physical network addresses. These EUI-64 values are the physical network addresses that are available on the host at network association time. If the host has MAC-48 physical network addresses (typical of IPv4 networks), each MAC-48 address is encoded in the EUI-64 address as the two halves of the MAC-48 address separated by FF-FF.

Additional Requirements: Must be of VarType: VT_VECTOR | VT_UI1

WPD_NETWORK_ASSOCIATION_X509V3SEQUENCEThe sequence of X.509 v3 certificates to be provided for Transport Layer Security (TLS) server authentication.

Additional Requirements: Must be of VarType: VT_VECTOR | VT_UI1

WPD_STILL_IMAGE_CAPTURE_RESOLUTIONThe size of the image dimensions to capture in pixel width and height. This property takes the form of "WidthxHeight" such as "800x600."

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STILL_IMAGE_CAPTURE_FORMATThe format of the image to capture.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_STILL_IMAGE_COMPRESSION_SETTINGThe device-specific quality setting. This is a vendor-specific range, with low values being low quality and high values being high quality.

Additional Requirements: Must be of VarType: VT_UI8

WPD_STILL_IMAGE_WHITE_BALANCEHow the device weights color channels.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_WHITE_BALANCE_SETTINGS enumeration that is defined in "PortableDevice.h". Values are:WPD_WHITE_BALANCE_UNDEFINED WPD_WHITE_BALANCE_MANUAL WPD_WHITE_BALANCE_AUTOMATIC WPD_WHITE_BALANCE_ONE_PUSH_AUTOMATIC WPD_WHITE_BALANCE_DAYLIGHT WPD_WHITE_BALANCE_TUNGSTEN WPD_WHITE_BALANCE_FLASH

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 56: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 56

WPD_STILL_IMAGE_RGB_GAINThe RGB gain. The format is "R:G:B".

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STILL_IMAGE_FNUMBERThe aperture of the lens. Units are equal to the F-number scaled by 100.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_FOCAL_LENGTHThe 35-mm equivalent focal length. The values of this property correspond to the focal length in millimeters multiplied by 100.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_FOCUS_DISTANCETBD.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_FOCUS_MODETBD.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_FOCUS_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_FOCUS_UNDEFINED WPD_FOCUS_MANUAL WPD_FOCUS_AUTOMATIC WPD_FOCUS_AUTOMATIC_MACRO

WPD_STILL_IMAGE_EXPOSURE_METERING_MODETBD.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_EXPOSURE_METERING_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_EXPOSURE_METERING_MODE_UNDEFINED WPD_EXPOSURE_METERING_MODE_AVERAGE WPD_EXPOSURE_METERING_MODE_CENTER_WEIGHTED_AVERAGE WPD_EXPOSURE_METERING_MODE_MULTI_SPOT WPD_EXPOSURE_METERING_MODE_CENTER_SPOT

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 57: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 57

WPD_STILL_IMAGE_FLASH_MODETBD.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_FLASH_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_FLASH_MODE_UNDEFINED WPD_FLASH_MODE_AUTO WPD_FLASH_MODE_OFF WPD_FLASH_MODE_FILL WPD_FLASH_MODE_RED_EYE_AUTO WPD_FLASH_MODE_RED_EYE_FILL WPD_FLASH_MODE_EXTERNAL_SYNC

WPD_STILL_IMAGE_EXPOSURE_TIMEThe shutter speed of the device, in seconds scaled by 10000.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_EXPOSURE_PROGRAM_MODEThe exposure program mode of the device.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_EXPOSURE_PROGRAM_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_EXPOSURE_PROGRAM_MODE_UNDEFINED WPD_EXPOSURE_PROGRAM_MODE_MANUAL WPD_EXPOSURE_PROGRAM_MODE_AUTO WPD_EXPOSURE_PROGRAM_MODE_APERTURE_PRIORITY WPD_EXPOSURE_PROGRAM_MODE_SHUTTER_PRIORITY WPD_EXPOSURE_PROGRAM_MODE_CREATIVE WPD_EXPOSURE_PROGRAM_MODE_ACTION WPD_EXPOSURE_PROGRAM_MODE_PORTRAIT

WPD_STILL_IMAGE_EXPOSURE_INDEXThe emulation of film speed settings, which correspond to the ISO designations of (ASA/DIN).

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_EXPOSURE_BIAS_COMPENSATIONThe adjustment of the auto exposure control, in "stops," scaled by a factor of 1000. A setting of 0 does not change the factory default. The setting values are in additive system of photographic exposure (APEX) units.

Additional Requirements: Must be of VarType: VT_I4

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 58: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 58

WPD_STILL_IMAGE_CAPTURE_DELAYThe amount of time delay between the capture trigger and the actual data capture, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_CAPTURE_MODEThe type of still image capture.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_CAPTURE_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_CAPTURE_MODE_UNDEFINED WPD_CAPTURE_MODE_NORMAL WPD_CAPTURE_MODE_BURST WPD_CAPTURE_MODE_TIMELAPSE

WPD_STILL_IMAGE_CONTRASTThe perceived contrast of captured images. This is a range, with the minimal value being the least contrast and the maximum being the most contrast.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_SHARPNESSThe perceived sharpness of the captured image. This is a range, with the minimal value being the least sharp and the maximum being the most sharp.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_DIGITAL_ZOOMThe effective zoom ratio of a digital camera's acquired image scaled by a factor of 10.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_EFFECT_MODEThe special effect mode of the capture.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_EFFECT_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_EFFECT_MODE_UNDEFINED WPD_EFFECT_MODE_COLOR WPD_EFFECT_MODE_BLACK_AND_WHITE WPD_EFFECT_MODE_SEPIA

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 59: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 59

WPD_STILL_IMAGE_BURST_NUMBERThe number of images that the device attempts to capture upon initiation of a burst operation.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_BURST_INTERVALThe time delay between captures upon initiation of a burst operation, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_TIMELAPSE_NUMBERThe number of images that the device attempts to capture upon initiation of a time-lapse capture.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_TIMELAPSE_INTERVALThe time delay between captures upon initiation of a time-lapse operation, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI4

WPD_STILL_IMAGE_FOCUS_METERING_MODEWhich automatic focus mechanism the device uses.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_FOCUS_METERING_MODES enumeration that is defined in "PortableDevice.h". Values are:WPD_FOCUS_METERING_MODE_UNDEFINED WPD_FOCUS_METERING_MODE_CENTER_SPOT WPD_FOCUS_METERING_MODE_MULTI_SPOT

WPD_STILL_IMAGE_UPLOAD_URLThe URL that the device may use to upload images upon capture.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_STILL_IMAGE_ARTISTThe owner or user of the device, which may be inserted as metadata into any images that are captured.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 60: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 60

WPD_SMS_PROVIDERThe service provider name.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_SMS_TIMEOUTThe time until a timeout is returned, in milliseconds.

Additional Requirements: Must be of VarType: VT_UI4

WPD_SMS_MAX_PAYLOADThe maximum number of bytes that a message can contain.

Additional Requirements: Must be of VarType: VT_UI4

WPD_SMS_ENCODINGHow the driver will encode the text message sent by the client. Note that the caller always specifies WPD_PROPERTY_SMS_TEXT_MESSAGE as a Unicode string and the driver does the transencoding. This property is provided for informational purposes only (for example, the UI may choose not to allow Asian characters when the encoding on the phone indicates it is only 7 bits per character).

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_SMS_ENCODING_TYPES enumeration that is defined in "PortableDevice.h". Values are:SMS_ENCODING_7_BITSMS_ENCODING_8_BIT SMS_ENCODING_UTF_16

WPD_SECTION_DATA_OFFSETThe zero-based offset of the starting byte of data for the referenced object.

Additional Requirements: Must be of VarType: VT_UI8

WPD_SECTION_DATA_LENGTHThe zero-based offset of the ending byte of data for the referenced object.

Additional Requirements: Must be of VarType: VT_UI8

WPD_RENDERING_INFORMATION_PROFILESAn IPortableDeviceValuesCollection, where each element indicates the property settings for a supported profile.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValuesCollection that contains IPortableDeviceValues for each supported profile settings.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 61: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 61

WPD_CLIENT_NAMEThe name that the client uses to identify itself.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_CLIENT_MAJOR_VERSIONThe major version of the client. Drivers can differentiate among versions of the same client by assuming a version scheme of WPD_CLIENT_MAJOR_VERSION.WPD_CLIENT_MINOR_VERSION.WPD_CLIENT_REVISION.

Additional Requirements: Must be of VarType: VT_UI4

WPD_CLIENT_MINOR_VERSIONThe major version of the client. Drivers can differentiate among versions of the same client by assuming a version scheme of WPD_CLIENT_MAJOR_VERSION.WPD_CLIENT_MINOR_VERSION.WPD_CLIENT_REVISION.

Additional Requirements: Must be of VarType: VT_UI4

WPD_CLIENT_REVISIONThe revision (or build number) of the client. Drivers can differentiate among versions of the same client by assuming a version scheme of WPD_CLIENT_MAJOR_VERSION.WPD_CLIENT_MINOR_VERSION.WPD_CLIENT_REVISION.

Additional Requirements: Must be of VarType: VT_UI4

WPD_CLIENT_WMDRM_APPLICATION_PRIVATE_KEYThe Windows Media DRM application private key of the client. This is the key that you received when you signed the license agreement for your project. This key is used during protected content transfers that use Windows Media DRM.

Additional Requirements: Must be of VarType: VT_VECTOR | VT_UI1

WPD_CLIENT_WMDRM_APPLICATION_CERTIFICATEThe Windows Media DRM application certificate of the client. This is the key that you received when you signed the license agreement for your project. This certificate is used during protected content transfers that use Windows Media DRM.

Additional Requirements: Must be of VarType: VT_VECTOR | VT_UI1

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 62: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 62

WPD_CLIENT_SECURITY_QUALITY_OF_SERVICEThe security quality of service for the connection to the driver. This relates to the security quality of service flags for CreateFile. For example, these allow or disallow a driver to impersonate the client. SECURITY_IDENTIFICATION is assumed if this value is not provided. Typically, applications should set this value to SECURITY_IMPERSONATION because some drivers require impersonation to function. However, applications that run under strict security requirements with a known subset of devices may want to restrict the driver's ability to identify or impersonate the caller. Note that reducing the impersonation level to anything lower than SECURITY_IMPERSONATION may result in some drivers having reduced functionality.

Additional Requirements: Must be of VarType: VT_UI4

WPD_CLIENT_DESIRED_ACCESSThe desired access to this driver that the client is requesting. The possible values are the same as for CreateFile (such as GENERIC_READ, and GENERIC_WRITE). GENERIC_READ | GENERIC_WRITE is assumed if the client does not specify this parameter. This is the recommended default. However, if a different access permission is required (such as GENERIC_READ only), this parameter is required.

Additional Requirements: Must be of VarType: VT_UI4

WPD_CLIENT_SHARE_MODEThe share mode to this driver that the client is requesting. The possible values are the same as for CreateFile (such as FILE_SHARE_READ and FILE_SHARE_WRITE). FILE_SHARE_READ | FILE_SHARE_WRITE is assumed if the client does not specify this parameter. This is the recommended default. However, if a different share mode is required (such as FILE_SHARE_READ to request only read sharing), this parameter is required.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_ATTRIBUTE_FORMThe form of the valid values that is allowed for this property. See enum type WpdAttributeForm.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WpdAttributeForm enumeration that is defined in "PortableDevice.h". Values are:WPD_PROPERTY_ATTRIBUTE_FORM_UNSPECIFIED WPD_PROPERTY_ATTRIBUTE_FORM_RANGE WPD_PROPERTY_ATTRIBUTE_FORM_ENUMERATION WPD_PROPERTY_ATTRIBUTE_FORM_REGULAR_EXPRESSION

WPD_PROPERTY_ATTRIBUTE_CAN_READWhether client applications have permission to read the property.

Additional Requirements: Must be of VarType: VT_BOOL

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 63: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 63

Can be one of the following values:VARIANT_FALSE VARIANT_TRUE

WPD_PROPERTY_ATTRIBUTE_CAN_WRITEWhether client applications have permission to write the property.

Additional Requirements: Must be of VarType: VT_BOOL Can be one of the following values:VARIANT_FALSE VARIANT_TRUE

WPD_PROPERTY_ATTRIBUTE_CAN_DELETEWhether client applications have permission to delete the property. Properties can be deleted by setting their value to VT_EMPTY.

Additional Requirements: Must be of VarType: VT_BOOL Can be one of the following values:VARIANT_FALSE VARIANT_TRUE

WPD_PROPERTY_ATTRIBUTE_DEFAULT_VALUEThe default value for a writeable property. Drivers are not required to provide a default value. It is often used to restore device settings to their factory defaults.

Additional Requirements: Must be of VarType: VT_XXXX

WPD_PROPERTY_ATTRIBUTE_FAST_PROPERTYIf True, a property that belongs to the PORTABLE_DEVICE_FAST_PROPERTIES group. When an application calls IPortableDeviceProperties::GetValues with the PORTABLE_DEVICE_FAST_PROPERTIES flag, this property is one of the properties that are returned in that group.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_PROPERTY_ATTRIBUTE_RANGE_MINThe minimum value for a property whose form is of WPD_PROPERTY_ATTRIBUTE_FORM_RANGE. Actual VarType depends on the property, but must be one of the numeric types (such as VT_UI4 or VT_R4).

Additional Requirements: Must be of VarType: VT_XXXX

WPD_PROPERTY_ATTRIBUTE_RANGE_MAXThe maximum value for a property whose form is of WPD_PROPERTY_ATTRIBUTE_FORM_RANGE. Actual VarType depends on the property, but must be one of the numeric types (such as VT_UI4 or VT_R4).

Additional Requirements: Must be of VarType: VT_XXXX

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 64: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 64

WPD_PROPERTY_ATTRIBUTE_RANGE_STEPThe step value for a property whose form is of WPD_PROPERTY_ATTRIBUTE_FORM_RANGE. Step indicates by how much a range property must change. For example, a property with a minimum of 10 and a maximum of 20, with a step of 5, could take on the following values: 10, 15, or 20. Actual VarType depends on the property, but must be one of the numeric types (such as VT_UI4 or VT_R4).

Additional Requirements: Must be of VarType: VT_XXXX

WPD_PROPERTY_ATTRIBUTE_ENUMERATION_ELEMENTSAn IPortableDevicePropVariantCollection that contains the enumeration values. Actual VarType of each element in the collection depends on the VarType of the property.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains values of the particular VARTYPE for the property value.

WPD_PROPERTY_ATTRIBUTE_REGULAR_EXPRESSIONA regular expression string that indicates acceptable values for properties whose form is WPD_PROPERTY_ATTRIBUTE_FORM_REGULAR_EXPRESSION.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_ATTRIBUTE_MAX_SIZEThe maximum size for the value of this property, in bytes.

Additional Requirements: Must be of VarType: VT_UI8

WPD_CLASS_EXTENSION_OPTIONS_SUPPORTED_CONTENT_TYPESThe (super-set) list of content types that the driver supports (similar to calling WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_CONTENT_TYPES on WPD_FUNCTIONAL_CATEGORY_ALL). An IPortableDevicePropVariantCollection (of type VT_CLSID) contains all the content types that the driver supports.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains GUID values.

WPD_CLASS_EXTENSION_OPTIONS_DONT_REGISTER_WPD_DEVICE_INTERFACEAn indication that the caller does not want the WPD class extension library to register the WPD Device Class interface. The caller takes responsibility for doing it. This is not recommended for most drivers. It should be used only when registering the WPD Device Class interface by the class extension library causes adverse affects.

Additional Requirements: Must be of VarType: VT_BOOL

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 65: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 65

WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZETotal size of the resource data, in bytes.

Additional Requirements: Must be of VarType: VT_UI8

WPD_RESOURCE_ATTRIBUTE_CAN_READWhether client applications have permission to open the resource for read access.

Additional Requirements: Must be of VarType: VT_BOOL Can be one of the following values:VARIANT_FALSEVARIANT_TRUE

WPD_RESOURCE_ATTRIBUTE_CAN_WRITEWhether client applications have permission to open the resource for write access.

Additional Requirements: Must be of VarType: VT_BOOL Can be one of the following values:VARIANT_FALSEVARIANT_TRUE

WPD_RESOURCE_ATTRIBUTE_CAN_DELETEWhether client applications have permission to delete a resource from the device.

Additional Requirements: Must be of VarType: VT_BOOL Can be one of the following values:VARIANT_FALSEVARIANT_TRUE

WPD_RESOURCE_ATTRIBUTE_OPTIMAL_READ_BUFFER_SIZEThe recommended buffer size that a caller should use when doing buffered reads on the resource.

Additional Requirements: Must be of VarType: VT_UI4

WPD_RESOURCE_ATTRIBUTE_OPTIMAL_WRITE_BUFFER_SIZEThe recommended buffer size a caller should use when doing buffered writes on the resource.

Additional Requirements: Must be of VarType: VT_UI4

WPD_RESOURCE_ATTRIBUTE_FORMATThe format of the resource data.

Additional Requirements: Must be of VarType: VT_CLSID

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 66: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 66

WPD_RESOURCE_ATTRIBUTE_RESOURCE_KEYAn IPortableDeviceKeyCollection that contains a single value, which is the key that identifies the resource.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceKeyCollection that contains a single PROPERTYKEY value.

WPD_DEVICE_SYNC_PARTNERA human-readable description of a synchronization partner for the device.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_DEVICE_FIRMWARE_VERSIONThe firmware version for the device.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_DEVICE_POWER_LEVELThe power level of the device's battery. A value from 0 to 100, with 0 being none and 100 being full charge.

Additional Requirements: Must be of VarType: VT_UI4

WPD_DEVICE_POWER_SOURCEThe power source of the device, such as whether it is battery or external.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_POWER_SOURCES enumeration that is defined in "PortableDevice.h". Values are:WPD_POWER_SOURCE_BATTERY WPD_POWER_SOURCE_EXTERNAL

WPD_DEVICE_PROTOCOLThe device protocol that is being used. This value is vendor specific.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_DEVICE_MANUFACTURERThe device manufacturer. If this property appears on the device object, it indicates the manufacturer of the device. If this property appears on a content object, it indicates the manufacturer of the device that initially created the object (such as the manufacturer of the camera that produced the image object).

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 67: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 67

WPD_DEVICE_MODELThe device model. If this property appears on the device object, it indicates the model of the device. If this property appears on a content object, it indicates the model of the device that initially created the object (such as the model of the camera that produced the image object).

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_DEVICE_SERIAL_NUMBERThe serial number of the device. If this property appears on the device object, it indicates the serial number of the device. If this property appears on a content object, it indicates the serial number of the device that initially created the object (such as the serial number of the camera that produced the image object).

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_DEVICE_SUPPORTS_NON_CONSUMABLEWhether the device supports nonconsumable objects.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_DEVICE_DATETIMEThe current date and time settings of the device.

Additional Requirements: Must be of VarType: VT_DATE

WPD_DEVICE_FRIENDLY_NAMEThe friendly name that the user sets on the device. When displaying the device name, applications should look for this property first, before using the device object's name.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_DEVICE_SUPPORTED_DRM_SCHEMESAn IPortableDevicePropVariantCollection of VT_LPWSTR values that indicate the DRM schemes that the driver supports. Applications may use this to determine whether a device supports content that is protected by a specific DRM scheme.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_DEVICE_SUPPORTED_FORMATS_ARE_ORDEREDWhether the supported formats that are returned from the device are in a preferred order. (The first format in the list is most preferred by the device, whereas the last is the least preferred.) Applications may use this to determine whether a device's supported formats are listed in a preferred ordered.

Additional Requirements: Must be of VarType: VT_BOOL

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 68: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 68

PD_DEVICE_TYPEThe device type (used only for representation purposes). Functional characteristics of the device are decided through functional objects. Devices that do not supply a device icon (that is, a WPD_RESOURCE_ICON for the device object) are represented in the WPD Namespace with a generic icon. This icon depends on the specified device type (for example, if the device type is a mobile phone, the generic phone icon is used). On first install of the device, the WPD Class Installer queries this property value and stores it in the device registry under the PORTABLE_DEVICE_TYPE value as a REG_DWORD.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_DEVICE_TYPES enumeration that is defined in "PortableDevice.h". Values are:WPD_DEVICE_TYPE_GENERIC WPD_DEVICE_TYPE_CAMERA WPD_DEVICE_TYPE_MEDIA_PLAYER WPD_DEVICE_TYPE_PHONE WPD_DEVICE_TYPE_VIDEO WPD_DEVICE_TYPE_PERSONAL_INFORMATION_MANAGER WPD_DEVICE_TYPE_AUDIO_RECORDER

WPD_DEVICE_NETWORK_IDENTIFIERThe EUI-64 network identifier of the device (used for out-of-band network association operations). The EUI-64 physical network address of the device. If the device has MAC-48 physical network addresses (typical of IPv4 networks), the MAC-48 address is encoded in the EUI-64 address as the two halves of the MAC-48 address separated by FF-FF. The EUI-64 value is stored in "network" or "big-endian" order, whereas an EUI-64 address of 01-02-03-FF-FF-04-05-06 is be placed in the VT_UI8 so that the decimal value is 72624942021346566. This property is required on any device that supports nominal or secure authentication. This property is recommended on devices that support only zero authentication. The host can use the value to automatically establish access to the device without user intervention.

Additional Requirements: Must be of VarType: VT_UI8

WPD_EVENT_PARAMETER_PNP_DEVICE_IDThe device that originated the event. This is the interface name of the device that was given by the Plug and Play system and is the same string that is used in IPortableDevice::Open().

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_EVENT_PARAMETER_EVENT_IDThe event that was sent.

Additional Requirements: Must be of VarType: VT_CLSID

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 69: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 69

WPD_EVENT_PARAMETER_OPERATION_STATEThe current state of the operation (such as started, running, or stopped).

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the WPD_OPERATION_STATES enumeration that is defined in "PortableDevice.h". Values are:WPD_OPERATION_STATE_UNSPECIFIED WPD_OPERATION_STATE_STARTED WPD_OPERATION_STATE_RUNNING WPD_OPERATION_STATE_PAUSED WPD_OPERATION_STATE_CANCELLED WPD_OPERATION_STATE_FINISHED WPD_OPERATION_STATE_ABORTED

WPD_EVENT_PARAMETER_OPERATION_PROGRESSThe progress of a currently executing operation. The value is from 0 to 100, with 100 indicating that the operation is complete.

Additional Requirements: Must be of VarType: VT_UI4

WPD_EVENT_PARAMETER_OBJECT_PARENT_PERSISTENT_UNIQUE_IDThe parent object, similar to WPD_OBJECT_PARENT_ID, but this ID does not change between sessions.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_EVENT_PARAMETER_OBJECT_CREATION_COOKIEThe cookie that is returned to a client when it requested an object creation by using the IPortableDeviceContent::CreateObjectWithPropertiesAndData method. This parameter is added as a convenience to help the caller tie an object added event to the request that it sent to create the object. The driver returned this cookie as the WPD_PROPERTY_OBJECT_MANAGEMENT_CONTEXT return value when processing the WPD_COMMAND_OBJECT_MANAGEMENT_CREATE_OBJECT_WITH_PROPERTIES_AND_DATA command.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_EVENT_PARAMETER_CHILD_HIERARCHY_CHANGEDAn indication that the child hierarchy for the object has changed. This parameter is used to notify the caller that some children for the specified object have been added or removed. Clients might need to reenumerate this folder's children to keep their views up to date.

Additional Requirements: Must be of VarType: VT_BOOL

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 70: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 70

WPD_EVENT_OPTION_IS_BROADCAST_EVENTAn indication that the event is broadcast to all clients. Clients can receive this event by registering their callback with IPortableDevice::Advise(..).

Additional Requirements: Must be of VarType: VT_BOOL

WPD_EVENT_OPTION_IS_AUTOPLAY_EVENTAn indication that the event is sent to and handled by Autoplay. Clients can receive this event by registering with Autoplay. See Autoplay documentation in MSDN. The event name to use with Autoplay when registering for the event is "OnPortableDeviceEvent{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}", where {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} is the WPD event GUID.

Additional Requirements: Must be of VarType: VT_BOOL

WPD_API_OPTION_USE_CLEAR_DATA_STREAMAn indication that the data stream that was created for data transfer will be clear only (that is, no DRM is involved). Clients can set this option by adding it to the object properties that are passed to IPortableDeviceContent::CreateObjectWithPropertiesAndData(..).

Additional Requirements: Must be of VarType: VT_BOOL

WPD_PROPERTY_COMMON_COMMAND_CATEGORYThe command category (that is, the GUID portion of the PROPERTYKEY that indicates the command). For example, for starting enumeration this would be WPD_COMMAND_OBJECT_ENUMERATION_START_FIND.fmtid

Additional Requirements: Must be of VarType: VT_CLSID

WPD_PROPERTY_COMMON_COMMAND_IDThe command ID, which is the PID portion of the PROPERTYKEY that indicates the command. For example, for starting enumeration this would be WPD_COMMAND_OBJECT_ENUMERATION_START_FIND.pid

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_COMMON_HRESULTThe HRESULT of the requested operation. This is the HRESULT that the client sees after calling a WPD API. The return from the driver’s DeviceIOControl is returned only to WDF and merely indicates whether the driver successfully received the command buffer.

Additional Requirements: Must be of VarType: VT_ERROR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 71: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 71

WPD_PROPERTY_COMMON_DRIVER_ERROR_CODESpecial driver-specific code that the driver may return on error. It is typically used only with diagnostic tools or vertical solutions.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_COMMON_COMMAND_TARGETThe object for which the command is intended.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_COMMON_PERSISTENT_UNIQUE_IDSAn IPortableDevicePropVariantCollection of type VT_LPWSTR that specifies the list of persistent unique IDs.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_PROPERTY_COMMON_OBJECT_IDSAn IPortableDevicePropVariantCollection of type VT_LPWSTR that specifies the list of objects IDs.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_PROPERTY_COMMON_CLIENT_INFORMATIONAn IPortableDeviceValues that is used to identify itself to the driver. It may be empty, but typically contains WPD_CLIENT_NAME, WPD_CLIENT_MAJOR_VERSION, WPD_CLIENT_MINOR_VERSION, and WPD_CLIENT_REVISION. These are all optional; drivers should not return an error if they are not present.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValues that contains client information properties.

WPD_PROPERTY_COMMON_CLIENT_INFORMATION_CONTEXTDriver-specified context that is sent for the particular client on all subsequent operations. Driver can use this to adjust behavior based on the connected client. Typically, this is unused, but some drivers may use this information to implement workarounds for App Compat.

Additional Requirements: Must be of VarType: VT_LPWSTR

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 72: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 72

WPD_PROPERTY_OBJECT_ENUMERATION_PARENT_IDThe ObjectID that specifies the parent object where enumeration should start.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_ENUMERATION_FILTERAn IPortableDeviceValues that specifies the properties on which to filter. If the caller does not want filtering, then this value is not set. Note: Currently, this is unused.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValues that contains filter-specific property values.

WPD_PROPERTY_OBJECT_ENUMERATION_OBJECT_IDSAn IPortableDevicePropVariantCollection of ObjectIDs (of type VT_LPWSTR). If zero objects are returned, this should be an empty collection, not NULL.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_PROPERTY_OBJECT_ENUMERATION_CONTEXTA driver-specified identifier for the context that is associated with this enumeration.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_ENUMERATION_NUM_OBJECTS_REQUESTEDThe maximum number of ObjectIDs to return to the client. The driver can return less if there are not enough object IDs to match the request, but it should never return more.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_PROPERTIES_OBJECT_IDThe ObjectID that specifies the object whose properties are being queried or manipulated.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_PROPERTIES_PROPERTY_KEYSAn IPortableDeviceKeyCollection that identifies which specific property values are being queries or manipulated.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropertyKeyCollection that contains PROPERTYKEY values.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 73: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 73

WPD_PROPERTY_OBJECT_PROPERTIES_PROPERTY_ATTRIBUTESAn IPortableDeviceValues that contains the attributes for each requested property. For any property whose attributes could not be read, the type must be set to VT_ERROR, and the “scode” field must contain the failure HRESULT. Attributes for nonresource properties are assumed to be fast.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValues that contains attribute values.

WPD_PROPERTY_OBJECT_PROPERTIES_PROPERTY_VALUESAn IPortableDeviceValues that contains the values read. For any property whose value could not be read, the type must be set to VT_ERROR and the “scode” field must contain the failure HRESULT.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValues that contains property values.

WPD_PROPERTY_OBJECT_PROPERTIES_PROPERTY_WRITE_RESULTSAn IPortableDeviceValues that contains the result of each property write operation. The types must be set to VT_ERROR, and the “scode” field must contain the success or failure HRESULT.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValues that contains result values for the property operation.

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_OBJECT_IDSA collection of ObjectIDs for which a supported property list must be returned. This is an IPortableDevicePropVariantCollection of type VT_LPWSTR.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDevicePropVariantCollection that contains LPWSTR values.

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_CONTEXTThe driver-specified context that identifies this particular bulk operation.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_VALUESAn IPortableDeviceValuesCollection that specifies the next set of IPortableDeviceValues elements. The driver returns as many object property values as it wants, but must ensure that they fit into the output data buffer. If zero values are returned, it is assumed that the operation is complete and there are no more values to return.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceValuesCollection that contains IPortableDeviceValues elements.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 74: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 74

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_PROPERTY_KEYSAn IPortableDeviceKeyCollection that specifies which properties the caller wants to return. It may not exist, which indicates that the caller wants all properties.

Additional Requirements: Must be of VarType: VT_UNKNOWN Must be a valid IPortableDeviceKeyCollection that contains PROPERTYKEY values.

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_DEPTHThe hierarchical depth from the parent to include in this operation.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_PARENT_OBJECT_IDThe ObjectID of the object from which to start the operation.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_OBJECT_FORMATThe object format in which the client is interested.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_PROPERTY_OBJECT_PROPERTIES_BULK_WRITE_RESULTSAn IPortableDeviceValuesCollection that specifies the set of IPortableDeviceValues elements that indicate the write results for each property set. The driver returns as many object property write results as it wants, but must ensure that they can fit into the output data buffer. If zero values are returned, it is assumed that the operation is complete and there are no more results.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_OBJECT_RESOURCES_OBJECT_IDTBD.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_RESOURCES_ACCESS_MODEThe type of access that the client is requesting for the resource.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_RESOURCES_RESOURCE_KEYSTBD.

Additional Requirements: Must be of VarType: VT_UNKNOWN

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 75: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 75

WPD_PROPERTY_OBJECT_RESOURCES_RESOURCE_ATTRIBUTESAn IPortableDeviceValues that contains the attributes for the requested resource. For any attribute that could not be read, the type must be set to VT_ERROR and the 'scode' field must contain the failure HRESULT. Attributes for resources are not assumed to be fast.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_OBJECT_RESOURCES_CONTEXTA driver-specified identifier for the context that is associated with the resource operation.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_RESOURCES_NUM_BYTES_TO_READThe number of bytes that the client is requesting to read.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_RESOURCES_NUM_BYTES_READThe number of bytes that are actually read from the resource. The driver sets this on return to let the caller know how many bytes were actually read. It is assumed that, if this number is less than the number of bytes requested, there is no more resource data.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_RESOURCES_NUM_BYTES_TO_WRITEThe number of bytes that the client is requesting to write.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_RESOURCES_NUM_BYTES_WRITTENAn amount set by the driver to inform the caller of how many bytes were actually written. It is normally considered an error if this value does not match the number of bytes that the client requested to write.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_RESOURCES_DATATBD.

Additional Requirements: Must be of VarType: VT_VECTOR|VT_UI1

WPD_PROPERTY_OBJECT_RESOURCES_OPTIMAL_TRANSFER_BUFFER_SIZEThe optimal transfer buffer size that clients should use when reading or writing this resource, in bytes.

Additional Requirements: Must be of VarType: VT_UI4

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 76: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 76

WPD_PROPERTY_OBJECT_RESOURCES_SEEK_OFFSETDisplacement to be added to the location that is indicated by the WPD_PROPERTY_OBJECT_RESOURCES_SEEK_ORIGIN_FLAG parameter. If WPD_PROPERTY_OBJECT_RESOURCES_SEEK_ORIGIN_FLAG is STREAM_SEEK_SET, this is interpreted as an unsigned value rather than signed.

Additional Requirements: Must be of VarType: VT_I8

WPD_PROPERTY_OBJECT_RESOURCES_SEEK_ORIGIN_FLAGThe origin of the displacement for the seek operation.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_RESOURCES_POSITION_FROM_STARTThe value of the new seek pointer from the beginning of the data stream.

Additional Requirements: Must be of VarType: VT_UI8

WPD_PROPERTY_OBJECT_MANAGEMENT_CREATION_PROPERTIESAn IPortableDeviceValues that specifies the properties that are used to create the new object. For the minimal set of required properties, see the portable device API reference documentation.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_OBJECT_MANAGEMENT_CONTEXTA driver-specified identifier for the context that is associated with this “create object” operation.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_MANAGEMENT_NUM_BYTES_TO_WRITEThe number of bytes that the client is requesting to write.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_MANAGEMENT_NUM_BYTES_WRITTENThe number of bytes that are written for the object. The driver sets this on return to let the caller know how many bytes were actually written. It is normally considered an error if this value does not match number of bytes that the client requested to write.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_MANAGEMENT_DATAThe binary data of the object that is being created on the device.

Additional Requirements: Must be of VarType: VT_VECTOR|VT_UI1

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 77: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 77

WPD_PROPERTY_OBJECT_MANAGEMENT_OBJECT_IDA newly created object on the device.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_MANAGEMENT_DELETE_OPTIONSWhether the delete operation should be recursive. Note: If a driver is asked to delete an object that has children and the PORTABLE_DEVICE_DELETE_NO_RECURSION option is used, the driver must fail this operation. The driver is not required to support recursive deletion. For how a driver can indicate whether it supports recursive deletion, see WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the DELETE_OBJECT_OPTIONS enumeration that is defined in "PortableDevice.h". Values are:PORTABLE_DEVICE_DELETE_NO_RECURSION PORTABLE_DEVICE_DELETE_WITH_RECURSION

WPD_PROPERTY_OBJECT_MANAGEMENT_OPTIMAL_TRANSFER_BUFFER_SIZEThe optimal transfer buffer size that clients should use when writing this object's data, in bytes.

Additional Requirements: Must be of VarType: VT_UI4

WPD_PROPERTY_OBJECT_MANAGEMENT_OBJECT_IDSAn IPortableDevicePropVariantCollection of type VT_LPWSTR that contains the ObjectIDs to delete.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_OBJECT_MANAGEMENT_DELETE_RESULTSAn IPortableDevicePropVariantCollection of type VT_ERROR, in which each element is the HRESULT that indicates the success or failure of the operation.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_OBJECT_MANAGEMENT_DESTINATION_FOLDER_OBJECT_IDThe destination folder for the move operation.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_OBJECT_MANAGEMENT_MOVE_RESULTSAn IPortableDevicePropVariantCollection of type VT_ERROR, in which each element is the HRESULT that indicates the success or failure of the operation.

Additional Requirements: Must be of VarType: VT_UNKNOWN

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 78: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 78

WPD_PROPERTY_OBJECT_MANAGEMENT_COPY_RESULTSAn IPortableDevicePropVariantCollection of type VT_ERROR, in which each element is the HRESULT that indicates the success or failure of the operation.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_SUPPORTED_COMMANDSAn IPortableDeviceKeyCollection that contains all commands that a driver supports.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_COMMANDThe command whose options the caller is interested in. An IPortableDeviceKeyCollection that contains a single value, which identifies the specific command options are requested to return.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_COMMAND_OPTIONSAn IPortableDeviceValues with the relevant command options. If no options are available for the specified command, the driver should return an IPortableDeviceValues with no elements in it.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_FUNCTIONAL_CATEGORIESAn IPortableDevicePropVariantCollection of type VT_CLSID that indicates the functional categories that the driver supports. If no categories are supported, this should be an empty collection, not NULL.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_FUNCTIONAL_CATEGORYThe category in which the caller is interested. If the value is WPD_FUNCTIONAL_CATEGORY_ALL, then the driver must return all functional objects, no matter which category they belong to.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_PROPERTY_CAPABILITIES_FUNCTIONAL_OBJECTSAn IPortableDevicePropVariantCollection (of type VT_LPWSTR) that contains the ObjectIDs of the functional objects that belong to the specified functional category. If no objects are in the specified category, the driver should return an empty collection.

Additional Requirements: Must be of VarType: VT_UNKNOWN

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 79: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 79

WPD_PROPERTY_CAPABILITIES_CONTENT_TYPESThe list of content types that are supported for the specified functional category. An IPortableDevicePropVariantCollection (of type VT_CLSID) that contains the content types that the specified functional category supports. If no content types are in the specified category, the driver should return an empty collection.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_CONTENT_TYPEThe content type whose formats the caller is interested in. If the value is WPD_CONTENT_TYPE_ALL, then the driver must return a list of all formats that the device supports.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_PROPERTY_CAPABILITIES_FORMATSAn IPortableDevicePropVariantCollection of VT_CLSID values that indicate the formats that are supported for the specified content type. If no formats are supported by the specified content type, the driver should return an empty collection.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_FORMATThe format in which the caller is interested.

Additional Requirements: Must be of VarType: VT_CLSID

WPD_PROPERTY_CAPABILITIES_PROPERTY_KEYSAn IPortableDeviceKeyCollection that contains the property keys.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_PROPERTY_ATTRIBUTESAn IPortableDeviceValues that contains the property attributes.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_SUPPORTED_EVENTSAn IPortableDevicePropVariantCollection of VT_CLSID values that contains all events that a driver supports.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CAPABILITIES_EVENTThe event in which the caller is interested.

Additional Requirements: Must be of VarType: VT_CLSID

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 80: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 80

WPD_PROPERTY_CAPABILITIES_EVENT_OPTIONSAn IPortableDeviceValues with the relevant event options.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_STORAGE_OBJECT_IDThe object to format, move, or eject.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_STORAGE_DESTINATION_OBJECT_IDThe (folder) object destination for a move operation.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_SMS_RECIPIENTThe recipient's address.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_SMS_MESSAGE_TYPEWhether the message is binary or text.

Additional Requirements: Must be of VarType: VT_UI4 Possible values from the SMS_MESSAGE_TYPES enumeration that is defined in "PortableDevice.h". Values are:SMS_TEXT_MESSAGE SMS_BINARY_MESSAGE

WPD_PROPERTY_SMS_TEXT_MESSAGEThe message body, if WPD_PROPERTY_SMS_MESSAGE_TYPE == SMS_TEXT_MESSAGE.

Additional Requirements: Must be of VarType: VT_LPWSTR

WPD_PROPERTY_SMS_BINARY_MESSAGEThe binary message body, if WPD_PROPERTY_SMS_MESSAGE_TYPE == SMS_BINARY_MESSAGE.

Additional Requirements: Must be of VarType: VT_VECTOR|VT_UI1

WPD_PROPERTY_DEVICE_HINTS_CONTENT_TYPEThe WPD content type for which the caller is looking. For example, to get the top-level folder objects that contain images, this parameter would be WPD_CONTENT_TYPE_IMAGE.

Additional Requirements: Must be of VarType: VT_CLSID

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 81: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 81

WPD_PROPERTY_DEVICE_HINTS_CONTENT_LOCATIONSAn IPortableDevicePropVariantCollection of type VT_LPWSTR that indicates a list of folder ObjectIDs. This result contains the list of ObjectIDs of folders that can contain objects of the specified content type. If 0 objects are returned, this should be an empty collection, not NULL. Note: the folders that are indicated by the result may or may not contain objects of other content types. For information on folder restrictions, see the WPD_FOLDER_CONTENT_TYPES_ALLOWED property.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CLASS_EXTENSION_DEVICE_INFORMATION_VALUESAn IPortableDeviceValues that contains the values.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_CLASS_EXTENSION_DEVICE_INFORMATION_WRITE_RESULTSAn IPortableDeviceValues that contains the result of each value write operation. The types must be set to VT_ERROR, and the 'scode' field must contain the success or failure HRESULT.

Additional Requirements: Must be of VarType: VT_UNKNOWN

WPD_PROPERTY_PUBLIC_KEYA public key generated for RSA public-key exchange.

Additional Requirements: Must be of VarType: VT_VECTOR|VT_UI1

Requirements for CommandsA command is identified by a PROPERTYKEY structure. This structure consists of two parts:

A GUID part (the fmtid member), which indicates the category to which the command belongs, that is, related commands belong to the same category and therefore have the same fmtid. A DWORD part (the pid member), which indicates the command ID and is used to distinguish the individual commands within a command category, that is, the pid values for commands in the same category are different.

This section describes the commands that WPD defines. Manufacturers can define their own commands by creating their own command categories and command IDs; however, a manufacturer should not add commands to the predefined categories because these are reserved by Microsoft.

The driver must support the following commands. The commands should be listed in the driver capabilities, and processing of the command should occur as specified in MSDN (that is, the driver should perform the appropriate action and return the appropriate result set).

Commands WPD_COMMAND_COMMON_GET_OBJECT_IDS_FROM_PERSISTENT_UNIQUE_IDS

Required.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 82: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 82

WPD_COMMAND_OBJECT_ENUMERATION_START_FINDRequired.

WPD_COMMAND_OBJECT_ENUMERATION_FIND_NEXTRequired.

WPD_COMMAND_OBJECT_ENUMERATION_END_FINDRequired.

WPD_COMMAND_OBJECT_PROPERTIES_GET_SUPPORTEDRequired.

WPD_COMMAND_OBJECT_PROPERTIES_GET_ATTRIBUTESRequired.

WPD_COMMAND_OBJECT_PROPERTIES_GETRequired.

WPD_COMMAND_OBJECT_PROPERTIES_GET_ALLRequired.

WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_COMMANDSRequired.

WPD_COMMAND_CAPABILITIES_GET_COMMAND_OPTIONSRequired.

WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_FUNCTIONAL_CATEGORIESRequired.

WPD_COMMAND_CAPABILITIES_GET_FUNCTIONAL_OBJECTSRequired.

WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_CONTENT_TYPESRequired.

WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_FORMATSRequired.

WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_FORMAT_PROPERTIESRequired.

WPD_COMMAND_CAPABILITIES_GET_FIXED_PROPERTY_ATTRIBUTESRequired.

WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_EVENTSRequired.

WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATERequired if the Still Image Capture functional object (WPD_FUNCTIONAL_CATEGORY_STILL_IMAGE_CAPTURE) is supported.

WPD_COMMAND_MEDIA_CAPTURE_STARTRequired if the Audio or Video Capture functional object (WPD_FUNCTIONAL_CATEGORY_AUDIO_CAPTURE or WPD_FUNCTIONAL_CATEGORY_VIDEO_CAPTURE) is supported

WPD_COMMAND_MEDIA_CAPTURE_STOPRequired if the Audio or Video Capture functional object (WPD_FUNCTIONAL_CATEGORY_AUDIO_CAPTURE or WPD_FUNCTIONAL_CATEGORY_VIDEO_CAPTURE) is supported.

WPD_COMMAND_GENERATE_KEYPAIRRequired if the Network Configuration functional object (WPD_CATEGORY_NETWORK_CONFIGURATION) is supported.

WPD_COMMAND_COMMIT_KEYPAIRRequired if the Network Configuration functional object (WPD_CATEGORY_NETWORK_CONFIGURATION) is supported.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 83: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 83

WPD_COMMAND_PROCESS_WIRELESS_PROFILERequired if the Network Configuration functional object (WPD_CATEGORY_NETWORK_CONFIGURATION) is supported.

Requirements for Event ParametersThis section describes the event values that are defined for WPD.

WPD_EVENT_OBJECT_ADDEDThis event is sent after a new object is available on the device. The object could be a content object (such as a new image file arrived) or a functional object (such as a new storage was plugged into the device).

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.WPD_OBJECT_PERSISTENT_UNIQUE_ID

Required.WPD_EVENT_PARAMETER_OBJECT_PARENT_PERSISTENT_UNIQUE_ID

Required.WPD_EVENT_PARAMETER_OBJECT_CREATION_COOKIE

Required if this event is being sent as a direct result of the client calling IPortableDevicecontent::CreatePropertiesWithObjectAndData. To the driver, this would be processing the WPD_COMMAND_OBJECT_MANAGEMENT_COMMIT_OBJECT operation that was started with WPD_COMMAND_OBJECT_MANAGEMENT_CREATE_OBJECT_WITH_PROPERTIES_AND_DATA.

WPD_EVENT_OBJECT_REMOVEDThis event is sent after a previously existing object has been removed from the device. The object could be a content object (such as a new image file arrived) or a functional object (such as a new storage was plugged into the device).

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.WPD_OBJECT_PERSISTENT_UNIQUE_ID

Required.WPD_EVENT_PARAMETER_OBJECT_PARENT_PERSISTENT_UNIQUE_ID

Required.

WPD_EVENT_OBJECT_UPDATEDThis event is sent after an object has been updated so that any connected client should refresh its view of that object.

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 84: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 84

WPD_EVENT_PARAMETER_EVENT_IDRequired.

WPD_OBJECT_PERSISTENT_UNIQUE_IDRequired.

WPD_EVENT_PARAMETER_OBJECT_PARENT_PERSISTENT_UNIQUE_IDRequired.

WPD_EVENT_PARAMETER_CHILD_HIERARCHY_CHANGEDRequired if the object hierarchy at any level under this object has changed.

WPD_EVENT_DEVICE_RESETThis event indicates that the device is about to be reset and all connected clients should close their connection to the device.

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.

WPD_EVENT_DEVICE_CAPABILITIES_UPDATEDThis event indicates that the device capabilities have changed. Clients should requery the device if they have made any decisions based on device capabilities.

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.

WPD_EVENT_STORAGE_FORMATThis event indicates the progress of a format operation on a storage object.

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.WPD_EVENT_PARAMETER_OPERATION_STATE

Required.WPD_EVENT_PARAMETER_OPERATION_PROGRESS

Required.WPD_OBJECT_PERSISTENT_UNIQUE_ID

Required.

WPD_EVENT_OBJECT_TRANSFER_REQUESTEDThis event is sent to request an application to transfer a particular object from the device. The object is usually a content object (such as an image file).

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.

Page 85: Basic Driver Requirements for WPD Devicesdownload.microsoft.com/download/9/c/5/9c5b2167-8017 …  · Web viewMay 2, 2006 . Abstract. The Windows Portable Device (WPD) infrastructure

Basic Driver Requirements for WPD Devices - 85

WPD_OBJECT_PERSISTENT_UNIQUE_IDRequired.

WPD_EVENT_DEVICE_REMOVEDThis event is sent when a driver for a device is being unloaded. This is typically a result of the device being unplugged. Clients should release the IPortableDevice interface that is open on the device that is specified in WPD_EVENT_PARAMETER_PNP_DEVICE_ID.

Parameters WPD_EVENT_PARAMETER_PNP_DEVICE_ID

Required.WPD_EVENT_PARAMETER_EVENT_ID

Required.

ReferencesIntroduction to the Windows Portable Device Infrastructure

http://www.microsoft.com/whdc/device/media/WPDintro.mspxTips and Tricks for WPD Developers

http://www.microsoft.com/whdc/device/media/WPD_tips.mspxUser-Mode Driver Framework (UMDF)

http://www.microsoft.com/whdc/driver/wdf/UMDF.mspxWindows Logo Program Device Requirements for Windows Vista and Windows Server code named "Longhorn," Version 3.0

http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx

May 2, 2006© 2006 Microsoft Corporation. All rights reserved.