Device Object
The device object supports the following properties. An application can request these properties by querying the root object (specifying the defined WPD_DEVICE_OBJECT_ID constant object ID). All values of the device object are read-only.
If a given device implements the WPD_FUNCTIONAL_CATEGORY_DEVICE category, it must also support the properties associated with that category.
Property Name | Required or Optional |
---|---|
WPD_OBJECT_ID | Required. The value is WPD_DEVICE_OBJECT_ID. |
WPD_OBJECT_PARENT_ID | Required. The value is an empty string. |
WPD_OBJECT_NAME | Required if the object represents a file. |
WPD_OBJECT_PERSISTENT_UNIQUE_ID | Required. |
WPD_OBJECT_ISHIDDEN | Required if the device object should not be shown to the user. |
WPD_OBJECT_REFERENCES | Required if the device object has references to other objects. |
WPD_OBJECT_KEYWORDS | Optional. |
WPD_OBJECT_SYNC_ID | Optional. |
WPD_OBJECT_GENERATE_THUMBNAIL_FROM_RESOURCE | Optional. |
WPD_DEVICE_SYNC_PARTNER | Optional. |
WPD_DEVICE_FIRMWARE_VERSION | Required. |
WPD_DEVICE_POWER_LEVEL | Recommended if the device has a battery. |
WPD_DEVICE_POWER_SOURCE | Recommended. |
WPD_DEVICE_PROTOCOL | Recommended. |
WPD_DEVICE_MANUFACTURER | Required. |
WPD_DEVICE_MODEL | Required. |
WPD_DEVICE_SERIAL_NUMBER | Required. |
WPD_DEVICE_SUPPORTS_NON_CONSUMABLE | Required if the device supports non-consumable objects; that is, if it can be used for simple data storage. |
WPD_DEVICE_DATETIME | Optional. |
WPD_DEVICE_FRIENDLY_NAME | Recommended. |
WPD_DEVICE_SUPPORTED_DRM_SCHEME | Recommended if the device supports Digital Rights Management (DRM). |
WPD_DEVICE_SUPPORTED_FORMATS_ARE_ORDERED | Recommended if the device supports preferred format ordering. |
WPD_DEVICE_TYPE | Recommended. |
WPD_DEVICE_FUNCTIONAL_UNIQUE_ID | Optional. |
WPD_DEVICE_MODEL_UNIQUE_ID | Optional. |
WPD_DEVICE_TRANSPORT | Recommended. |
WPD_DEVICE_USE_DEVICE_STAGE | Optional. |
WPD_FUNCTIONAL_OBJECT_CATEGORY | Required. |
Typical Resources
These objects typically do not host resources.
Commands
In addition to properties, devices should support a specific set of commands defined by Windows Portable Devices. What commands an object or device supports depends on its type, functionality, and capabilities.
The following table describes the command classes that apply to devices, by functionality. Typically, a device falls under several categories, and it should support the commands for all applicable categories. For example, a mobile phone with a camera would fall under three categories: all devices, SMS devices, and still image capture devices. A custom driver and client application can support additional commands or properties that you define, but must support the following commands. For a description of the specific commands that fall under each command category, see Commands.
Description | Command categories |
---|---|
All devices. | WPD_CATEGORY_CAPABILITIESWPD_CATEGORY_COMMON WPD_CATEGORY_OBJECT_ENUMERATION WPD_CATEGORY_OBJECT_MANAGEMENT WPD_CATEGORY_OBJECT_PROPERTIES WPD_CATEGORY_OBJECT_PROPERTIES_BULK WPD_CATEGORY_OBJECT_RESOURCES |
Devices that can capture still images, such as digital cameras. | WPD_CATEGORY_STILL_IMAGE_CAPTURE |
Devices that can send short message service (SMS) messages, such as cellular phones. Sending SMS messages is often called "text messaging". | WPD_CATEGORY_SMS |
Devices that function as storage devices. These include external drives.If a device supports the ability to format a store or to move objects from one location to another, your driver should support this category. |
WPD_CATEGORY_STORAGE |