Windows Media Device Manager 11 SDK

Overview of the Windows Media Device Manager 11 SDK technology.

To develop Windows Media Device Manager 11 SDK, you need these headers:

For programming guidance for this technology, see:

Functions

 
AddItem

The AddItem method adds a metadata property to the interface.
Begin

The Begin method indicates that an operation is beginning. An estimate of the duration of the operation is provided when possible.
Begin3

The Begin3 method is called by Windows Media Device Manager to indicate that an operation is about to begin.
BeginRead

The BeginRead method indicates that a "read from device" action is beginning. Windows Media Device Manager only calls this method if the application calls IWMDMStorageControl::Read and passes in this IWMDMOperation interface.
BeginSession

The BeginSession method indicates beginning of a transfer session. It can be used to optimize operations that need to occur only once per transfer session.
BeginSession

The BeginSession method begins a device session.
BeginWrite

The BeginWrite method indicates that a "write to device" action is beginning. Windows Media Device Manager only calls this method if the application calls IWMDMStorageControl/2/3::Insert/2/3 and passes in this interface.
Clone

The Clone method creates another enumerator that contains the same enumeration state as the current one. (IMDSPEnumDevice.Clone)
Clone

The Clone method creates another enumerator that contains the same enumeration state as the current one. (IMDSPEnumStorage.Clone)
Clone

The Clone method returns a copy of the IWMDMEnumDevice interface. The new enumerator specifies the same enumeration state as the current enumerator.
Clone

The Clone method creates another enumerator with the same enumeration state as the current enumerator.
Close

The Close method closes a file on a storage medium of a media device.
CreateDevice

The CreateDevice method is called by the Windows Media Device Manager to get the IMDSPDevice object(s) corresponding to the canonical device obtained from the PnP subsystem.
CreateEmptyMetadataObject

The CreateEmptyMetadataObject method creates a new IWMDMMetaData interface. This interface is used to set or retrieve metadata properties of a storage.
CreateStorage

The CreateStorage method creates a new storage and returns a pointer to the IMDSPStorage interface on the newly created storage.
CreateStorage2

The CreateStorage2 method creates a new storage with the specified name and returns a pointer to the IMDSPStorage interface on the newly created storage.
CreateStorageWithMetadata

The CreateStorageWithMetadata method creates a new storage, applying the given metadata to the new storage, and returns a pointer to the IMDSPStorage interface on the newly created storage.
Delete

The Delete method removes an object or objects from a storage medium on a media device.
Delete

The Delete method permanently deletes this storage.
DeviceIoControl

The DeviceIoControl method calls the device I/O control.
DeviceIoControl

The DeviceIoControl method sends a Device I/O Control (IOCTL) code to the device. This is a pass-through method; Windows Media Device Manager just forwards the call to the service provider after validating the parameters.
Enable

The Enable method enables or disables logging. Logging is enabled by default.
End

The End method indicates that a read or write operation is finished, whether successful or not, and it returns a completion code.
End

The End method indicates that an operation is finished.
End2

The End2 method extends IWMDMProgress::End by providing a completion status indicator.
End3

The End3 method is called by Windows Media Device Manager to indicate that an operation has finished.
EndSession

The EndSession method indicates the ending of a transfer session.
EndSession

The EndSession method ends a device session.
EnumDevices

The EnumDevices method enumerates the installed physical or software devices that are currently attached and are known by the service provider.
EnumDevices

The EnumDevices method retrieves a pointer to the IWMDMEnumDevice interface that can be used to enumerate portable devices connected to the computer.
EnumDevices2

The EnumDevices2 method retrieves an enumeration interface that is used to enumerate portable devices connected to the computer.
EnumStorage

The EnumStorage method retrieves a pointer to an IMDSPEnumStorage interface of an enumerator object that represents the top-level storage(s) on the device. Top-level storage for a device is the root directory of the storage medium.
EnumStorage

The EnumStorage method accesses the IMDSPEnumStorage interface to enumerate the individual storage media on a device.
EnumStorage

The EnumStorage method retrieves an IWMDMEnumStorage interface to enumerate the storages on a device.
EnumStorage

The EnumStorage method retrieves an IWMDMEnumStorage interface to enumerate the immediate child storages of the current storage.
ExamineData

The ExamineData method determines rights and responsibility for the content by examining data that Windows Media Device Manager passes to this method.
FindStorage

The FindStorage method finds a storage with the given persistent unique identifier. The persistent unique identifier of a storage is described by the g_wszWMDMPersistentUniqueID property of that storage. (IMDSPDevice3.FindStorage)
FindStorage

The FindStorage method finds a storage with the given persistent unique identifier. The persistent unique identifier of a storage is described by the g_wszWMDMPersistentUniqueID property of that storage. (IMDSPStorage4.FindStorage)
FindStorage

The FindStorage method finds a storage by its persistent unique identifier. Unlike other methods, this method can search recursively from the root storage.
FindStorage

The FindStorage method retrieves a storage in the current root storage, based on its persistent unique identifier.
GetAttributes

The GetAttributes method retrieves the attributes of this storage object.
GetAttributes

The GetAttributes method retrieves the attributes of the storage.
GetAttributes2

The GetAttributes2 method gets attributes of files or storages.
GetAttributes2

The GetAttributes2 method retrieves extended attributes of the storage.
GetCanonicalName

The GetCanonicalPName method gets the canonical name of a device.
GetCanonicalName

The GetCanonicalName method retrieves the canonical name of the device.
GetCapabilities

The GetCapabilities method retrieves the capabilities mask for the device with which this control interface is associated. The capabilities describe the methods of the device control that are supported by the media device.
GetCapabilities

The GetCapabilities method retrieves the capabilities of the storage medium that an instance of this interface is associated with.
GetCapabilities

The GetCapabilities method retrieves the device capabilities to determine what operations the device can perform. The capabilities describe the methods of the device control that are supported by the media device.
GetCapabilities

The GetCapabilities method retrieves the capabilities of the root storage medium.
GetDataDemands

The GetDataDemands method reports which data the secure content provider needs to determine the rights and responsibility for a specified piece of content.
GetDate

The GetDate method retrieves the date on which the storage object (file or folder) was most recently modified.
GetDate

The GetDate method retrieves the date when the storage was last modified.
GetDCStatus

The GetDCStatus method retrieves the control status of the device.
GetDevice

The GetDevice method retrieves a pointer to the device on which the storage medium with which this interface is associated is mounted.
GetDeviceCount

The GetDeviceCount method returns the number of installed physical or software devices that are currently attached and are known by the service provider.
GetDeviceCount

The GetDeviceCount method retrieves the number of portable devices that are currently connected to the computer.
GetDeviceFromCanonicalName

The GetDeviceFromCanonicalName method retrieves an IWMDMDevice interface for a device with a specified canonical name. You can retrieve a device's canonical name by calling IWMDMDevice2::GetCanonicalName.
GetDeviceIcon

The GetDeviceIcon method returns a HICON that represents the icon that the device service provider indicates must be used to represent this device.
GetDeviceIcon

The GetDeviceIcon method retrieves a handle to the icon that the device manufacturer wants to display when the device is connected.
GetFormatCapability

The GetFormatCapability method retrieves information from a device about the values or ranges of values supported by the device for each aspect of a particular object format.
GetFormatCapability

The GetFormatCapability method retrieves device support for files of a specified format. The capabilities are expressed as supported properties and their allowed values.
GetFormatSupport

The GetFormatSupport method retrieves all the formats supported by the device. The format information includes codecs, file formats, and digital rights management schemes.
GetFormatSupport

The GetFormatSupport method retrieves all the formats supported by the device, including codecs and file formats.
GetFormatSupport2

The GetFormatSupport2 method gets the formats supported by a device, including audio and video codecs, and MIME file formats.
GetFormatSupport2

The GetFormatSupport2 method retrieves the formats supported by the device, including audio and video codecs, and MIME file formats.
GetItemCount

The GetItemCount method retrieves the total number of properties held by the interface.
GetLastPlayPosition

The GetLastPlayPosition method retrieves the last play position of the object. The object must be a music file on the media device.
GetLastPlayPosition

The GetLastPlayPosition method retrieves the last play position of the object. The object must be an audio file on the media device.
GetLogFileName

The GetLogFileName method returns the full path to the current log file.
GetLongestPlayPosition

The GetLongestPlayPosition method retrieves the longest play position of the object. The object must be a music file on the media device.
GetLongestPlayPosition

The GetLongestPlayPosition method retrieves the longest play position of the file. The file must be an audio file on the media device.
GetManufacturer

The GetManufacturer method retrieves the name of the manufacturer of the device. (IMDSPDevice.GetManufacturer)
GetManufacturer

The GetManufacturer method retrieves the name of the manufacturer of the device. (IWMDMDevice.GetManufacturer)
GetMetadata

The GetMetadata method retrieves metadata from the service provider.
GetMetadata

The GetMetadata method retrieves the metadata associated with the storage.
GetName

The GetName method retrieves the name of the device.
GetName

The GetName method retrieves the display name of the storage object.
GetName

The GetName method retrieves the human-readable name of the media device.
GetName

The GetName method retrieves the display name of the storage.
GetObjectAttributes

The GetObjectAttributes method allows the application to specify attributes for an object being written to a device. Windows Media Device Manager calls this method before a file is written to the device in order to learn the file's attributes.
GetObjectAttributes2

Windows Media Device Manager calls GetObjectAttributes when a file is written to the device in order to learn the attributes of the file.
GetObjectName

Windows Media Device Manager calls GetObjectName before an object is written to the device in order to know what it should be named on the device.
GetObjectTotalSize

Windows Media Device Manager calls GetObjectTotalSize before a file is written to the device in order to retrieve the total size of the object, in bytes.
GetParent

The GetParent method retrieves the parent of the current storage.
GetParent

The GetParent method retrieves the parent of the storage.
GetPlayLength

The GetPlayLength method retrieves the play length of the object in units pertinent to the object. This is the remaining length that the object can play, not its total length.
GetPlayLength

The GetPlayLength method retrieves the play length of the object in units appropriate to the format. This is the remaining length that the file can play, not its total length.
GetPlayOffset

The GetPlayOffset method retrieves the play offset of the object, in units pertinent to the object. This is the starting point for the next invocation of IMDSPDeviceControl::Play.
GetPlayOffset

The GetPlayOffset method retrieves the play offset of the object, in units appropriate to the format. This is the starting point for the next invocation of Play.
GetPowerSource

The GetPowerSource method reports whether the device is capable of running on batteries, external power, or both, and on which type of power source it is currently running.
GetPowerSource

The GetPowerSource method retrieves information about the power source and the percentage of power remaining for the device.
GetProperty

The GetProperty method retrieves a specific device property.
GetProperty

The GetProperty method retrieves a specific device metadata property.
GetReferences

The GetReferences method returns an array of pointers to IMDSPStorage objects comprising the references contained in an association storage, such as one representing playlist or album objects.
GetReferences

The GetReferences method retrieves an array of pointers to IWMDMStorage objects pointed to by this storage. An abstract album or playlist is typically stored as a collection of references on an MTP device.
GetRevision

The GetRevision method retrieves the version number of Windows Media Device Manager currently in use.
GetRevocationURL

The GetRevocationURL method retrieves the URL from which updated components can be downloaded. (IMDSPRevoked.GetRevocationURL)
GetRevocationURL

The GetRevocationURL method retrieves the URL from which updated components can be downloaded. (IWMDMRevoked.GetRevocationURL)
GetRights

The GetRights method retrieves the rights information for an object.
GetRights

The GetRights method retrieves rights information for the current piece of content. Rights are file-specific.
GetRights

The GetRights method retrieves rights information for a licensed storage.
GetRightsOnClearChannel

The GetRightsOnClearChannel method retrieves rights information for the current piece of content on a clear channel.
GetRightsWithProgress

The GetRightsWithProgress method retrieves the rights information for the storage object, providing a callback mechanism for monitoring progress.
GetRootStorage

The GetRootStorage method retrieves a pointer to the IMDSPStorage interface for the root storage of the storage medium.
GetSCPSession

The GetSCPSession method is used to obtain a pointer to the ISCPSecureQuery interface that represents a session object.
GetSecureQuery

The GetSecureQuery method is used to obtain a pointer to the ISCPSecureQuery interface.
GetSecureQuery

The GetSecureQuery method is used to obtain a secure query object for the session.
GetSerialNumber

The GetSerialNumber method retrieves the serial number that uniquely identifies the device.
GetSerialNumber

The GetSerialNumber method retrieves a serial number uniquely identifying the storage medium. This method must be implemented for protected content transfer, but otherwise it is optional. For more information, see Mandatory and Optional Interfaces.
GetSerialNumber

The GetSerialNumber method retrieves a serial number that uniquely identifies the device.
GetSerialNumber

The GetSerialNumber method retrieves a serial number that uniquely identifies the storage medium.
GetSize

The GetSize method retrieves the size of the storage object, in bytes.
GetSize

The GetSize method retrieves the size of the storage, in bytes.
GetSizeParams

The GetSizeParams method retrieves the current size parameters of the current log file.
GetSpecifiedMetadata

The GetSpecifiedMetadata method retrieves only the specified metadata object for a storage.
GetSpecifiedMetadata

The GetSpecifiedMetadata method retrieves one or more specific metadata properties from the storage.
GetSpecifyPropertyPages

The GetSpecifyPropertyPages method gets property pages describing non-standard capabilities of portable devices.
GetSpecifyPropertyPages

The GetSpecifyPropertyPages method retrieves the property page for the device. Property pages can be used to report device-specific properties and branding information.
GetStatus

The GetStatus method retrieves all the device status information that the device can provide.
GetStatus

The GetStatus method retrieves the current status of the storage medium.
GetStatus

The GetStatus method retrieves device status information.
GetStatus

The GetStatus method retrieves the control status of the device.
GetStatus

The GetStatus method retrieves the current status of a storage medium.
GetStorage

The GetStorage method makes it possible to go directly to a storage based on its name instead of enumerating through all storages to find it.
GetStorage

The GetStorage method makes it possible to go directly to a storage object from a storage name instead of enumerating through all storages to find it.
GetStorage

The GetStorage method searches the immediate children of the root storage for a storage with the given name.
GetStorage

The GetStorage method retrieves a child storage by name directly from the current storage without having to enumerate through all the children.
GetStorageGlobals

The GetStorageGlobals method retrieves the IMDSPStorageGlobals interface to provide access to global information about a storage medium.
GetStorageGlobals

The GetStorageGlobals method retrieves the IWMDMStorageGlobals interface of the root storage of this storage.
GetTotalBad

The GetTotalBad method retrieves the total amount of unusable space on the storage medium, in bytes. (IMDSPStorageGlobals.GetTotalBad)
GetTotalBad

The GetTotalBad method retrieves the total amount of unusable space on the storage medium, in bytes. (IWMDMStorageGlobals.GetTotalBad)
GetTotalFree

The GetTotalFree method retrieves the total free space on the storage medium, in bytes.
GetTotalFree

The GetTotalFree method retrieves the total amount of free space on the storage medium, in bytes.
GetTotalLength

The GetTotalLength method retrieves the total play length of the object in units pertinent to the object. The value returned is the total length regardless of the current settings of the play length and offset.
GetTotalLength

The GetTotalLength method retrieves the total play length of the object, in units appropriate to the format. The value returned is the total length regardless of the current settings of the play length and offset.
GetTotalSize

The GetTotalSize method retrieves the total size, in bytes, of the medium associated with this IMDSPStorageGlobals interface.
GetTotalSize

The GetTotalSize method retrieves the total size in bytes of the storage medium associated with the IWMDMStorageGlobals interface.
GetType

The GetType method retrieves device type information.
GetType

The GetType method retrieves the operations supported by the device.
GetVersion

The GetVersion method retrieves the version number of the device.
GetVersion

The GetVersion method retrieves the manufacturer-defined version number of the device.
Initialize

The Initialize method formats the storage medium. (IMDSPStorageGlobals.Initialize)
Initialize

The Initialize method formats the storage medium. (IWMDMStorageGlobals.Initialize)
Insert

The Insert method puts content into the storage on the device.
Insert2

The Insert2 method puts content into/next to the storage. This method extends IWMDMStorageControl::Insert by allowing the application to specify a new destination name, and provide a pointer to a custom COM object.
Insert3

The Insert3 method puts content into/next to the storage. This method extends IWMDMStorageControl2::Insert2 by allowing the application to explicitly specify the metadata and type of the object being sent.
IsEnabled

The IsEnabled method determines whether logging is enabled.
LogDword

The LogDword method logs a DWORD value to the current log file. A carriage return and line feed are added to each log entry.
LogString

The LogString method logs a string to the current log file. A carriage return and line feed are added to each log entry.
MakeDecision

The MakeDecision method determines whether access to the content is allowed. If access is allowed, this method returns the interface that will be used to access the content.
MakeDecision2

The MakeDecision2 method determines whether the secure content provider is responsible for the content by examining data that Windows Media Device Manager passes to this method.
MakeDecisionOnClearChannel

The MakeDecisionOnClearChannel method determines whether access to the content is allowed on a clear channel. If access is allowed, this method returns the interface used to access the content.
Move

The Move method moves a file or folder on a media device.
Move

The Move method moves the current storage to a new location on the device.
Next

The Next method retrieves a pointer to the next celtIMDSPDevice interfaces.
Next

The Next method returns a pointer to the next celtIMDSPStorage interfaces.
Next

The Next method returns a pointer to the next device, represented by an IWMDMDevice interface.
Next

The Next method retrieves a pointer to the next sibling storage.
ObjectData

The ObjectData method transfers a block of object data back to Windows Media Device Manager.
Open

The Open method opens the associated object and prepares it for Read or Write operations. This operation is valid only if the storage object represents a file.
Pause

The Pause method pauses the current play or record session at the current position within the content. (IMDSPDeviceControl.Pause)
Pause

The Pause method pauses the current play or record session at the current position within the content. (IWMDMDeviceControl.Pause)
Play

The Play method begins playing at the current seek position. If the Seek method has not been called, then playing begins at the beginning of the first file, and the play length is not defined.
Play

The Play method begins playing at the current seek position. If the IWMDMDeviceControl::Seek method has not been called, then playing begins at the beginning of the first file, and the play length is not defined.
Progress

The Progress method indicates that an operation is still in progress.
Progress3

The Progress3 method is called by Windows Media Device Manager to indicate the status of an action in progress.
QueryByIndex

The QueryByIndex method retrieves the value of a property specified by index.
QueryByName

The QueryByName method retrieves the value of a property specified by name.
Read

The Read method reads data from the object at the current position. This operation is valid only if the storage object represents a file.
Read

The Read method copies the current storage to the computer.
ReadOnClearChannel

The ReadOnClearChannel method reads data from the object at the current position without using secure authenticated channels.
Record

The Record method begins recording from the device's external record input at the current seek position. The Seek method must be called first.
Record

The Record method begins recording from the device's external record input at the current seek position. The IWMDMDeviceControl::Seek method must be called first.
Reinitialize

The Reinitialize method forces Windows Media Device Manager to rediscover all the Windows Media Device Manager devices.
Rename

The Rename method renames the associated object which can be a file or a folder.
Rename

The Rename method renames the current storage.
Reset

The Reset method resets the enumeration sequence to the beginning. A subsequent call to Next fetches the first Windows Media Device Manager interface in the enumeration sequence.
Reset

The Reset method resets the enumeration sequence to the beginning. A subsequent call to the Next method fetches the first storage interface in the enumeration sequence.
Reset

The Reset method resets the enumeration so that Next returns a pointer to the first device.
Reset

The Reset method sets the enumeration sequence back to the beginning.
Reset

The Reset method deletes the contents of the current log file.
Resume

The Resume method resumes the current playback or record operation from the file position saved during the call to Pause.
Resume

The Resume method resumes the current play or record operation from the file position saved during the call to Pause.
SACAuth

The SACAuth method establishes a secure authenticated channel between components.
SACGetProtocols

The SACGetProtocols method is used by a component to discover the authentication protocols supported by another component.
Seek

The Seek method seeks to a position that is used as the starting point by the Play or Record methods. (IMDSPDeviceControl.Seek)
Seek

The Seek method sets the current position within the object. This operation is valid only if the storage object represents a file.
Seek

The Seek method seeks to a position that is used as the starting point by the Play or Record methods. (IWMDMDeviceControl.Seek)
SendOpaqueCommand

The SendOpaqueCommand method sends a command through Windows Media Device Manager. Without acting on it, Windows Media Device Manager passes the command through to a device.
SendOpaqueCommand

The SendOpaqueCommands method sends a command through Windows Media Device Manager. Without acting on it, Windows Media Device Manager passes the command through to a device.
SendOpaqueCommand

The SendOpaqueCommand method sends a device-specific command to the device through Windows Media Device Manager. Windows Media Device Manager does not attempt to read the command.
SendOpaqueCommand

The SendOpaqueCommand method sends a command to the storage through Windows Media Device Manager, without processing it.
SetAttributes

The SetAttributes method sets the attributes of a storage object.
SetAttributes

The SetAttributes method sets the attributes of the storage.
SetAttributes2

The SetAttributes2 method extends IMDSPStorage::SetAttributes by enabling you to set audio and video formats and extended attributes of a storage object.
SetAttributes2

The SetAttributes2 method sets extended attributes of the storage.
SetDeviceEnumPreference

The SetDeviceEnumPreference method sets the device enumeration preferences. (IMDServiceProvider3.SetDeviceEnumPreference)
SetDeviceEnumPreference

The SetDeviceEnumPreference method sets the device enumeration preferences. (IWMDeviceManager3.SetDeviceEnumPreference)
SetEnumPreference

The SetEnumPreference method sets the preferred view mode for the storage.
SetLogFileName

The SetLogFileName method sets the full path to the current log file. All subsequent log entries will be placed in this file.
SetMetadata

The SetMetadata method provides the metadata associated with a specified content.
SetMetadata

The SetMetadata method sets metadata on the storage.
SetObjectAttributes

The SetObjectAttributes method specifies the file attributes. This method is currently not called by Windows Media Device Manager.
SetObjectAttributes2

The SetObjectAttributes2 method sets attributes of files or storages. This method is currently not called by Windows Media Device Manager.
SetObjectName

The SetObjectName method assigns a name to the content being read or written. This method is currently not called by Windows Media Device Manager.
SetObjectTotalSize

The SetObjectTotalSize method assigns the total size in bytes of an object. This method is currently not called by Windows Media Device Manager.
SetPlayLength

The SetPlayLength method sets the play length of the object, in units pertinent to the object. This is the maximum length that the object plays regardless of its actual length.
SetPlayLength

The SetPlayLength method sets the play length of the object, in units appropriate to the format. This is the maximum length that the object plays regardless of its actual length.
SetPlayOffset

The SetPlayOffset method sets the play offset of the object, in the units pertinent to the object. This specifies the starting point for the next invocation of IMDSPDeviceControl::Play.
SetPlayOffset

The SetPlayOffset method sets the play offset of the object, in the units appropriate to the format. This specifies the starting point for the next invocation of Play.
SetProperty

The SetProperty method sets a specific device property that is writable.
SetProperty

The SetProperty method sets a specific device property, if it is writable.
SetReferences

The SetReferences method sets the references contained in a storage that has references (such as playlist/album), overwriting any previously existing references contained in this storage.
SetReferences

The SetReferences method sets the references contained in a storage that has references (such as a playlist or album), overwriting any previously existing references held by the storage.
SetSizeParams

The SetSizeParams method sets the current size parameters for the current log file.
Skip

The Skip method skips over the next specified number of media device interface(s) in the enumeration sequence.
Skip

The Skip method skips over the next specified number of storage interface(s) in the enumeration sequence.
Skip

The Skip method skips over a specified number of devices in the enumeration sequence.
Skip

The Skip method skips over the specified number of storages in the enumeration sequence.
Stop

The Stop method stops the current stream.
Stop

The Stop method stops the current record or play operation.
TransferComplete

The TransferComplete method is called by Windows Media Device Manager to signal the end of a secure transfer of data. In this method, the secure content provider can perform any additional processing required to enable the content on the target device.
TransferCompleteForDevice

The TransferCompleteForDevice method is called by Windows Media Device Manager to signal the end of a data transfer for a specific device.
TransferContainerData

The TransferContainerData method transfers container file data to the secure content provider. The secure content provider breaks down the container internally and reports which parts of the content are available as they are extracted from the container.
TransferContainerData2

The TransferContainerData2 method transfers container file data to the secure content provider.
TransferContainerDataOnClearChannel

The TransferContainerDataOnClearChannel method transfers container file data to the content provider through the clear channel.
TransferObjectData

The TransferObjectData method is called to allow the application to transfer a block of data to or from the computer.
TransferObjectDataOnClearChannel

The TransferObjectDataOnClearChannel method is a more efficient implementation of IWMDMOperation::TransferObjectData.
TransferToDevice

The TransferToDevice method is called by Windows Media Device Manager to delegate content transfer content to the service provider. The source can be specified either as a file or as an operation interface.
WMDMMessage

The WMDMMessage method is a callback method implemented by a client, and called by Windows Media Device Manager when a Plug and Play compliant device or storage medium is connected or removed.
Write

The Write method writes data to the object at the current position within the object. This operation is valid only if the storage object represents a file.
WriteOnClearChannel

The WriteOnClearChannel method writes data to the object to the current position within the object, without using secure authenticated channels.

Interfaces

 
IComponentAuthenticate

The IComponentAuthenticate interface provides secure, encrypted communication between modules of Windows Media Device Manager.
IMDServiceProvider

The IMDServiceProvider interface is the initial interface that Windows Media Device Manager uses to connect to your service provider.
IMDServiceProvider2

The IMDServiceProvider2 interface extends the IMDServiceProvider interface by providing a way of obtaining IMDSPDevice object(s) for a given device path name. The device path name comes from the Plug and Play (PnP) subsystem.
IMDServiceProvider3

The IMDServiceProvider3 interface extends the IMDServiceProvider2 interface by providing a method for setting the device enumeration preferences.
IMDSPDevice

The IMDSPDevice interface provides an instance-based association with a media device.
IMDSPDevice2

The IMDSPDevice2 interface extends IMDSPDevice by getting extended formats, getting Plug and Play (PnP) device names, enabling the use of property pages, and making it possible to get a pointer to a storage medium from its name.
IMDSPDevice3

The IMDSPDevice3 interface must be supported for devices that expect to synchronize with Windows Media Player.
IMDSPDeviceControl

The IMDSPDeviceControl interface provides methods for controlling devices.
IMDSPDirectTransfer

The IMDSPDirectTransfer interface enables Windows Media Device Manager to delegate content transfer to the service provider.
IMDSPEnumDevice

The IMDSPEnumDevice interface is used to enumerate the media devices.
IMDSPEnumStorage

The IMDSPEnumStorage interface is used to enumerate the storage media on a device.
IMDSPObject

The IMDSPObject interface manages the transfer of data to and from storage media.The Open, Read, Write, and Close methods are valid only if the storage object is a file.
IMDSPObject2

Windows Media Device Manager uses IMDSPObject2 to enable more efficient file reading and writing.Note  Unless the service provider has added the device parameter UseExtendedWmdm with a value of 1, Windows Media Device Manager will not call this interface. See Device Parameters for more information about this. .
IMDSPObjectInfo

The IMDSPObjectInfo interface provides methods for getting and setting parameters that describe how playable objects on a storage medium are referenced or accessed by the IMDSPDeviceControl interface.
IMDSPRevoked

The IMDSPRevoked interface retrieves the URL from which updated components can be downloaded. Implementing this interface is optional. For more information, see Mandatory and Optional Interfaces.
IMDSPStorage

The IMDSPStorage interface provides an instanced-based association with a storage medium on a device.
IMDSPStorage2

The IMDSPStorage2 interface extends IMDSPStorage by providing methods for getting and setting extended attributes and making it possible to get a pointer to a storage medium from its name.
IMDSPStorage3

The IMDSPStorage3 interface extends IMDSPStorage2 by supporting metadata.
IMDSPStorage4

The IMDSPStorage4 interface extends IMDSPStorage3 for supporting virtual storages (such as playlists and albums) and metadata.Note  Unless the service provider has added the device parameter UseExtendedWmdm with a value of 1, Windows Media Device Manager will not call this interface. See Device Parameters for more information about this. .
IMDSPStorageGlobals

The IMDSPStorageGlobals interface, acquired from the IMDSPStorage interface, provides methods for retrieving global information about a storage medium. This might include the amount of free space, serial number of the medium, and so on.
ISCPSecureAuthenticate

The ISCPSecureAuthenticate interface is the primary interface of the secure content provider, which Windows Media Device Manager queries to authenticate the secure content provider and to be authenticated by the secure content provider.
ISCPSecureAuthenticate2

The ISCPSecureAuthenticate2 interface extends ISCPSecureAuthenticate by providing a way to get a session object.
ISCPSecureExchange

The ISCPSecureExchange interface is used to exchange secured content and rights associated with content. The secure content provider implements this interface and secure Windows Media Device Manager implementations call its methods.
ISCPSecureExchange2

The ISCPSecureExchange2 interface extends ISCPSecureExchange by providing a new version of the TransferContainerData method.
ISCPSecureExchange3

The ISCPSecureExchange3 interface extends ISCPSecureExchange2 by providing improved data exchange performance, and a transfer-complete callback method.
ISCPSecureQuery

The ISCPSecureQuery interface is queried by Windows Media Device Manager to determine ownership of secured content.
ISCPSecureQuery2

The ISCPSecureQuery2 interface extends ISCPSecureQuery through functionality that determines whether the secure content provider is responsible for the content, and if so, providing a URL for updating revoked components and determining which components have been revoked.
ISCPSecureQuery3

The ISCPSecureQuery3 interface extends ISCPSecureQuery2 by providing a set of new methods for retrieving the rights and making decision on a clear channel.
ISCPSession

The ISCPSession interface provides efficient common state management for multiple operations.A secure content provider (SCP) session is useful when transferring multiple files.
IWMDeviceManager

The IWMDeviceManager interface is the top level Windows Media Device Manager interface for applications.
IWMDeviceManager2

The IWMDeviceManager2 interface extends IWMDeviceManager interface.
IWMDeviceManager3

The IWMDeviceManager3 interface extends the IWMDeviceManager2 interface by providing a method that sets the device enumeration preferences.
IWMDMDevice

The IWMDMDevice interface provides methods to examine and explore a single portable device. The interface can be used to get information about a device and enumerate its storages. IWMDMDevice2 extends the capabilities of this interface.
IWMDMDevice2

The IWMDMDevice2 interface extends IWMDMDevice by making it possible to get the video formats supported by a device, find storage from its name, and use property pages.
IWMDMDevice3

The IWMDMDevice3 interface extends IWMDMDevice2 by providing methods to query a device for properties, send device I/O control codes, and also providing upgraded methods to search for storages and retrieve device format capabilities.
IWMDMDeviceControl

The IWMDMDeviceControl interface provides methods for controlling playback on a device.
IWMDMDeviceSession

The IWMDMDeviceSession interface improves the efficiency of device operations by bundling multiple operations into one session.
IWMDMEnumDevice

The IWMDMEnumDevice interface enumerates portable devices attached to a computer. To obtain this interface, call IWMDeviceManager::EnumDevices.
IWMDMEnumStorage

The IWMDMEnumStorage interface enumerates storages on a device.
IWMDMLogger

The IWMDMLogger interface is used by Windows Media Device Manager applications and service providers to log entries in a common log file.
IWMDMMetaData

The IWMDMMetaData interface sets and retrieves metadata properties (such as artist, album, genre, and so on) of a storage.
IWMDMNotification

The optional, application-implemented IWMDMNotification interface allows applications and service providers to receive notifications when either devices or memory storages (such as RAM cards) are connected or disconnected from the computer.Note  This method will be called only for registered Plug and Play devices. Other device arrivals or departures will not cause this interface to be called. This interface GUID is not properly defined in mssachlp.lib; therefore, you must
IWMDMObjectInfo

The IWMDMObjectInfo interface gets and sets information that controls how playable files on device are handled by the IWMDMDeviceControl interface.This interface is not intended for non-playable files.
IWMDMOperation

This optional, application-implemented IWMDMOperation interface allows the application to control how data is read from or written to the computer during a file transfer.
IWMDMOperation2

The optional, application-implemented IWMDMOperation2 interface extends IWMDMOperation by providing methods to get and set extended attributes.
IWMDMOperation3

The optional, application-implemented IWMDMOperation3 interface extends IWMDMOperation by providing a new method for transferring data unencrypted for added efficiency.
IWMDMProgress

The optional, application-implemented IWMDMProgress allows an application to track the progress of operations, such as formatting media or file transfers.
IWMDMProgress2

The optional, application-implemented IWMDMProgress2 interface extends the IWMDMProgress::End method by providing a status indicator.
IWMDMProgress3

The optional, application-implemented IWMDMProgress3 interface extends IWMDMProgress2 by providing additional input parameters to specify which event is being monitored, and to allow for context-specific information.Applications that implement this callback interface should provide an implementation for methods corresponding to IWMDMProgress and IWMDMProgress2 for backward compatibility, in addition to the new methods.
IWMDMRevoked

The IWMDMRevoked interface retrieves the URL from which updated components can be downloaded, if a transfer fails with a revocation error.
IWMDMStorage

An instance of the IWMDMStorage interface provides methods to examine and explore a storage (a generic name for a data or collection object, such as a file, folder, or playlist) on a device.
IWMDMStorage2

The IWMDMStorage2 interface extends IWMDMStorage by making it possible to get a child storage by name, and to get and set extended attributes. IWMDMStorage3 interface extends this interface by supporting metadata.
IWMDMStorage3

The IWMDMStorage3 interface extends IWMDMStorage2 by exposing metadata.
IWMDMStorage4

The IWMDMStorage4 interface extends IWMDMStorage3 by providing methods for retrieving a subset of available metadata for a storage, and for setting and retrieving a list of references to other storages.
IWMDMStorageControl

The IWMDMStorageControl interface is used to insert, delete, or move files within a storage, a device, or between a device and the computer.
IWMDMStorageControl2

The IWMDMStorageControl2 interface extends IWMDMStorageControl by making it possible to set the name of the destination file when inserting content into a storage.
IWMDMStorageControl3

The IWMDMStorageControl3 interface extends IWMDMStorageControl2 by providing an Insert method that accepts an IWMDMMetaData interface pointer.
IWMDMStorageGlobals

The IWMDMStorageGlobals interface provides methods for retrieving global information about a storage medium (such as a flash ROM card) on a device.

Structures

 
MTP_COMMAND_DATA_IN

The MTP_COMMAND_DATA_IN structure contains Media Transport Protocol (MTP) custom commands that are sent to the device by using the IWMDMDevice3::DeviceIoControl method.
MTP_COMMAND_DATA_OUT

The MTP_COMMAND_DATA_OUT structure contains Media Transport Protocol (MTP) responses that are filled by the device driver on exiting a call to IWMDMDevice3::DeviceIoControl.