Share via


IMDServiceProvider::EnumDevices

banner art

The EnumDevices method enumerates the installed physical or software devices that are currently attached and are known by the service provider. This method must be implemented. It must not return WMDM_E_NOTSUPPORTED or E_NOTIMPL. For more information, see the second table under Implementing Service Providers.

Syntax

HRESULT EnumDevices(
  IMDSPEnumDevice**  ppEnumDevice
);

Parameters

ppEnumDevice

[out]  Pointer to an IMDSPEnumDevice object.

Return Values

The method returns an HRESULT. All the interface methods in Windows Media Device Manager and service provider can return any of the following classes of error codes:

  • Standard COM error codes
  • Windows error codes converted to HRESULT values
  • Windows Media Device Manager error codes

For a complete list of possible error codes, see Error Codes.

Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK The method succeeded.
E_INVALIDARG The ppEnumDevice parameter is an invalid or NULL pointer.
WMDM_E_NOTCERTIFIED The caller is not authorized, and calls to other service provider interfaces will also fail and return this code.

Remarks

A service provider should return only the enumerator, which will enumerate only the devices that are currently attached to the computer and are supported by the service provider.

At present, Windows Media Device Manager does not support the returning of installed devices. Also, EnumDevices essentially provides a snapshot of the devices present at the time of the call. If new devices are inserted or removed, the service provider cannot notify the clients of that.

Requirements

Header: Defined in wmsp.idl.

Library: mssachlp.lib

See Also