共用方式為


強制和選擇性介面

下表說明服務提供者實作的必要和選擇性介面和方法。 所有具有一或多個必要方法的介面都必須實作。 強制方法無法傳回WMDM_E_NOTSUPPORTED或E_NOTIMPL。

介面和方法 實作選項
IMDServiceProvider::EnumDevices 命令的。
IMDServiceProvider::GetDeviceCount 命令的。
IMDServiceProvider2::CreateDevice 自選。 必須針對 PnP 和 Windows 檔案總管支持實作這個方法。
IMDSPDevice::EnumStorage 命令的。
IMDSPDevice::GetDeviceIcon 命令的。
IMDSPDevice::GetFormatSupport 命令的。
IMDSPDevice::GetManufacturer 命令的。
IMDSPDevice::GetName 命令的。
IMDSPDevice::GetPowerSource 自選。
IMDSPDevice::GetSerialNumber 自選。 針對受保護的內容傳輸,Windows Media 設備管理器會使用 IMDSPStorageGlobals::GetSerialNumber
IMDSPDevice::GetStatus 命令的。
IMDSPDevice::GetType 命令的。
IMDSPDevice::GetVersion 自選。
IMDSPDevice::SendOpaqueCommand 自選。
IMDSPDevice2::GetCanonicalName 自選。
IMDSPDevice2::GetFormatSupport2 命令的。
IMDSPDevice2::GetSpecifyPropertyPages 自選。
IMDSPDevice2::GetStorage 自選。
IMDSPDeviceControl 介面 自選。
IMDSPEnumDevice::Clone 命令的。
IMDSPEnumDevice::Next 命令的。
IMDSPEnumDevice::Reset 命令的。
IMDSPEnumDevice::Skip 命令的。
IMDSPEnumStorage::Clone 命令的。
IMDSPEnumStorage::Next 命令的。
IMDSPEnumStorage::Reset 命令的。
IMDSPEnumStorage::Skip 命令的。
IMDSPObject::Close 命令的。
IMDSPObject::D elete 命令的。
IMDSPObject::Move 自選。
IMDSPObject::Open 命令的。
IMDSPObject::Read 必要專案(如果需要 Windows Media Player 支援)。
IMDSPObject::Rename 自選。
IMDSPObject::Seek 自選。
IMDSPObject::Write 命令的。
IMDSPObjectInfo 介面 自選。
IMDSPRevoked 介面 自選。
IMDSPStorage::CreateStorage 只有在 dwAttributes 為WMDM_FILE_ATTR_FILE時,才強制。
IMDSPStorage::EnumStorage 命令的。
IMDSPStorage::GetAttributes 命令的。
IMDSPStorage::GetDate 命令的。
IMDSPStorage::GetName 命令的。
IMDSPStorage::GetRights 自選。
IMDSPStorage::GetSize 命令的。
IMDSPStorage::GetStorageGlobals 命令的。
IMDSPStorage::SendOpaqueCommands 自選。
IMDSPStorage::SetAttributes 自選。
IMDSPStorage2::CreateStorage2 命令的。
IMDSPStorage2::GetAttributes2 命令的。
IMDSPStorage2::GetStorage 自選。
IMDSPStorage2::SetAttributes2 自選。
IMDSPStorage3 介面 自選。 不過,如果 device 參數 UseMetadataViews 設定為 1,則必須實作此介面,而且 IMDSPStorage3::GetMetadata 變成必要專案,不過 IMDSPStorage3::SetMetadata 仍為選擇性。
IMDSPStorageGlobals::GetCapabilities 命令的。
IMDSPStorageGlobals::GetDevice 命令的。
IMDSPStorageGlobals::GetRootStorage 命令的。
IMDSPStorageGlobals::GetSerialNumber 僅限 PDDRM 的必要專案。 否則為選擇性。
IMDSPStorageGlobals::GetStatus 命令的。
IMDSPStorageGlobals::GetTotalBad 命令的。
IMDSPStorageGlobals::GetTotalFree 命令的。
IMDSPStorageGlobals::GetTotalSize 命令的。
IMDSPStorageGlobals::Initialize 自選。 如果裝置支援這項功能,則應該實作這個方法。 如果未實作此方法,IMDSPStorageGlobals::GetCapabilites 除了任何其他旗標之外,還必須傳回WMDM_STORAGECAP_NOT_INITIALIZABLE。
IMDSPDevice3IMDSPObject2
IMDSPStorage4
支援與 Windows Media Player 自動同步處理的必要專案

建立服務提供者