Obligatorische und optionale Schnittstellen

In der folgenden Tabelle werden die obligatorischen und optionalen Schnittstellen und Methoden für die Implementierung von Dienstanbietern beschrieben. Alle Schnittstellen mit einer oder mehreren obligatorischen Methoden müssen implementiert werden. Eine obligatorische Methode kann keine WMDM_E_NOTSUPPORTED oder E_NOTIMPL zurückgeben.

Schnittstelle und Methode Implementierungsoption
IMDServiceProvider::EnumDevices Erforderlich.
IMDServiceProvider::GetDeviceCount Erforderlich.
IMDServiceProvider2::CreateDevice Optional. Diese Methode muss für die Unterstützung von PnP und Windows Explorer implementiert werden.
IMDSPDevice::EnumStorage Erforderlich.
IMDSPDevice::GetDeviceIcon Erforderlich.
IMDSPDevice::GetFormatSupport Erforderlich.
IMDSPDevice::GetManufacturer Erforderlich.
IMDSPDevice::GetName Erforderlich.
IMDSPDevice::GetPowerSource Optional.
IMDSPDevice::GetSerialNumber Optional. Für die Übertragung geschützter Inhalte verwendet Windows Media Geräte-Manager IMDSPStorageGlobals::GetSerialNumber.
IMDSPDevice::GetStatus Erforderlich.
IMDSPDevice::GetType Erforderlich.
IMDSPDevice::GetVersion Optional.
IMDSPDevice::SendOpaqueCommand Optional.
IMDSPDevice2::GetCanonicalName Optional.
IMDSPDevice2::GetFormatSupport2 Erforderlich.
IMDSPDevice2::GetSpecifyPropertyPages Optional.
IMDSPDevice2::GetStorage Optional.
IMDSPDeviceControl-Schnittstelle Optional.
IMDSPEnumDevice::Clone Erforderlich.
IMDSPEnumDevice::Next Erforderlich.
IMDSPEnumDevice::Reset Erforderlich.
IMDSPEnumDevice::Skip Erforderlich.
IMDSPEnumStorage::Clone Erforderlich.
IMDSPEnumStorage::Weiter Erforderlich.
IMDSPEnumStorage::Reset Erforderlich.
IMDSPEnumStorage::Skip Erforderlich.
IMDSPObject::Close Erforderlich.
IMDSPObject::D elete Erforderlich.
IMDSPObject::Move Optional.
IMDSPObject::Open Erforderlich.
IMDSPObject::Read Obligatorisch (wenn Windows Medienwiedergabe Unterstützung gewünscht ist).
IMDSPObject::Rename Optional.
IMDSPObject::Seek Optional.
IMDSPObject::Write Erforderlich.
IMDSPObjectInfo-Schnittstelle Optional.
IMDSPRevoked-Schnittstelle Optional.
IMDSPStorage::CreateStorage Nur obligatorisch, wenn dwAttributes WMDM_FILE_ATTR_FILE ist.
IMDSPStorage::EnumStorage Erforderlich.
IMDSPStorage::GetAttributes Erforderlich.
IMDSPStorage::GetDate Erforderlich.
IMDSPStorage::GetName Erforderlich.
IMDSPStorage::GetRights Optional.
IMDSPStorage::GetSize Erforderlich.
IMDSPStorage::GetStorageGlobals Erforderlich.
IMDSPStorage::SendOpaqueCommands Optional.
IMDSPStorage::SetAttributes Optional.
IMDSPStorage2::CreateStorage2 Erforderlich.
IMDSPStorage2::GetAttributes2 Erforderlich.
IMDSPStorage2::GetStorage Optional.
IMDSPStorage2::SetAttributes2 Optional.
IMDSPStorage3-Schnittstelle Optional. Wenn der Geräteparameter UseMetadataViews jedoch auf 1 festgelegt ist, muss diese Schnittstelle implementiert werden, und IMDSPStorage3::GetMetadata wird obligatorisch, obwohl IMDSPStorage3::SetMetadata weiterhin optional ist.
IMDSPStorageGlobals::GetCapabilities Erforderlich.
IMDSPStorageGlobals::GetDevice Erforderlich.
IMDSPStorageGlobals::GetRootStorage Erforderlich.
IMDSPStorageGlobals::GetSerialNumber Nur für PDDRM obligatorisch. Andernfalls optional.
IMDSPStorageGlobals::GetStatus Erforderlich.
IMDSPStorageGlobals::GetTotalBad Erforderlich.
IMDSPStorageGlobals::GetTotalFree Erforderlich.
IMDSPStorageGlobals::GetTotalSize Erforderlich.
IMDSPStorageGlobals::Initialize Optional. Diese Methode sollte implementiert werden, wenn das Gerät diese Funktionalität unterstützt. Wenn diese Methode nicht implementiert ist, muss IMDSPStorageGlobals::GetCapabilites zusätzlich zu allen anderen Flags WMDM_STORAGECAP_NOT_INITIALIZABLE zurückgeben.
IMDSPDevice3IMDSPObject2
IMDSPStorage4
Erforderlich, um die automatische Synchronisierung mit Windows Medienwiedergabe zu unterstützen

Erstellen eines Dienstanbieters