Client Interfaces

Applications use the methods supported by the following interfaces to perform operations on portable devices. These operations include opening a connection to a device, retrieving data from a device, writing data to a device, and so on.

Interface Description
IEnumPortableDeviceObjectIDs Enumerates the objects on a portable device.
IPortableDevice Provides low-level access to a portable device.
IPortableDeviceCapabilities Retrieves a variety of device capabilities, including supported formats, commands, and functional objects.
IPortableDeviceContent Provides methods to create, enumerate, and delete content on a device.
IPortableDeviceDataStream Exposes additional methods on an IStream used for data transfers.
IPortableDeviceEventCallback Implemented by the application to receive asynchronous callbacks.
IPortableDeviceManager Enumerates devices that are connected to the computer, and provides a simple way to request installation information for the device (including manufacturer, friendly name, and description).
IPortableDeviceProperties Read and write properties for an object on the device.
IPortableDevicePropertiesBulk Reads and writes multiple properties on multiple objects on a device, asynchronously.
IPortableDevicePropertiesBulkCallback Implemented by the application to track the progress of an asynchronous operation that was begun by using the IPortableDevicePropertiesBulk interface.
IPortableDeviceResources Provides access to an object's data.
IPortableDeviceService Windows 7 only. Provides low-level access to a portable device service.
IPortableDeviceServiceCapabilities Windows 7 only. Retrieves a variety of service capabilities, including supported formats, commands, methods, and rendering profiles.
IPortableDeviceServiceMethods Windows 7 only. Invokes methods synchronously and asynchronously on a service.
IPortableDeviceServiceMethodCallback Windows 7 only. Implemented by the application to track the completion of an asynchronous service method operation begun by calling IPortableDeviceServiceMethods::InvokeAsync
IPortableDeviceServiceManager Windows 7 only. Enumerates services that are supported by a device, and retrieves the device associated with a service.

 

The following diagram shows how an application gets most of the interfaces it needs. Not all methods of all the interfaces or the interfaces that are implemented by the application are shown.

diagram showing creation and retrieval of most required client interfaces

Programming Reference