必需接口和可选接口

下表描述了服务提供商要实现的必需接口和可选接口和方法。 必须实现具有一个或多个必需方法的所有接口。 强制方法无法返回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 媒体播放器支持,则强制 (。
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 接口 可选。 但是,如果设备参数 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 媒体播放器 的自动同步所必需的

创建服务提供商