Share via


IMDServiceProvider2::CreateDevice (deprecated)

banner art

This is preliminary documentation and subject to change.

This topic documents a feature of the Windows Media Device Manager SDK. We recommend that you migrate your application to use the Windows Portable Devices API. For more information, see the Windows Portable Devices SDK.

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. This method must be implemented for PnP and Windows Explorer support, but otherwise it is optional. For more information, see Mandatory and Optional Interfaces.

Syntax

HRESULT CreateDevice(
  LPCWSTR  pwszDevicePath,
  DWORD*  pdwCount,
  IMDSPDevice***  pppDeviceArray
);

Parameters

pwszDevicePath

[in]  Pointer to a wide-character null-terminated string containing the device path of the device detected by Windows Media Device Manager. This name is obtained from the PnP subsystem, and is the canonical name plus "$#", where # is an auto-

incremented number. This name can be passed directly to functions such as CreateFile to gain access to the underlying kernel device object. The service provider should create a wrapper IMDSPDevice object(s) for this device.

pdwCount

[out]  Pointer to a DWORD containing the number of IMDSPDevice objects that are created.

pppDeviceArray

[out]  An array of IMDSPDevice interfaces representing the devices. Typically, there is only one array element, but a service provider can create more than one IMDSPDevice object corresponding to a device path name if it creates an IMDSPDevice object for each top-level storage. This is subject to change in the future, and the count may be restricted to 1.

Return Values

If the method succeeds it returns S_OK. If the method fails, it returns the Windows Media Device Manager error codes.

For an extenstive list of possible error codes, see Error Codes.

Remarks

Windows Media Device Manager calls this method when an application starts, or when a Plug and Play compliant device connects with the computer.

Requirements

Header: Defined in mswmdm.h.

Library: mssachlp.lib

See Also