Compartir a través de


Interfaces obligatorias y opcionales

En la tabla siguiente se describen las interfaces y métodos obligatorios y opcionales para que los proveedores de servicios implementen. Todas las interfaces con uno o varios métodos obligatorios deben implementarse. Un método obligatorio no puede devolver WMDM_E_NOTSUPPORTED ni E_NOTIMPL.

Interfaz y método Opción de implementación
IMDServiceProvider::EnumDevices Mandatory.
IMDServiceProvider::GetDeviceCount Mandatory.
IMDServiceProvider2::CreateDevice Opcional. Este método debe implementarse para la compatibilidad con PnP y el Explorador de Windows.
IMDSPDevice::EnumStorage Mandatory.
IMDSPDevice::GetDeviceIcon Mandatory.
IMDSPDevice::GetFormatSupport Mandatory.
IMDSPDevice::GetManufacturer Mandatory.
IMDSPDevice::GetName Mandatory.
IMDSPDevice::GetPowerSource Opcional.
IMDSPDevice::GetSerialNumber Opcional. Para la transferencia de contenido protegida, Windows Media Administrador de dispositivos usa IMDSPStorageGlobals::GetSerialNumber.
IMDSPDevice::GetStatus Mandatory.
IMDSPDevice::GetType Mandatory.
IMDSPDevice::GetVersion Opcional.
IMDSPDevice::SendOpaqueCommand Opcional.
IMDSPDevice2::GetCanonicalName Opcional.
IMDSPDevice2::GetFormatSupport2 Mandatory.
IMDSPDevice2::GetSpecifyPropertyPages Opcional.
IMDSPDevice2::GetStorage Opcional.
Interfaz IMDSPDeviceControl Opcional.
IMDSPEnumDevice::Clone Mandatory.
IMDSPEnumDevice::Next Mandatory.
IMDSPEnumDevice::Reset Mandatory.
IMDSPEnumDevice::Skip Mandatory.
IMDSPEnumStorage::Clone Mandatory.
IMDSPEnumStorage::Next Mandatory.
IMDSPEnumStorage::Reset Mandatory.
IMDSPEnumStorage::Skip Mandatory.
IMDSPObject::Close Mandatory.
IMDSPObject::D elete Mandatory.
IMDSPObject::Move Opcional.
IMDSPObject::Open Mandatory.
IMDSPObject::Read Obligatorio (si se desea Reproductor multimedia de Windows compatibilidad).
IMDSPObject::Rename Opcional.
IMDSPObject::Seek Opcional.
IMDSPObject::Write Mandatory.
Interfaz IMDSPObjectInfo Opcional.
Interfaz IMDSPRevoked Opcional.
IMDSPStorage::CreateStorage Obligatorio solo si dwAttributes es WMDM_FILE_ATTR_FILE.
IMDSPStorage::EnumStorage Mandatory.
IMDSPStorage::GetAttributes Mandatory.
IMDSPStorage::GetDate Mandatory.
IMDSPStorage::GetName Mandatory.
IMDSPStorage::GetRights Opcional.
IMDSPStorage::GetSize Mandatory.
IMDSPStorage::GetStorageGlobals Mandatory.
IMDSPStorage::SendOpaqueCommands Opcional.
IMDSPStorage::SetAttributes Opcional.
IMDSPStorage2::CreateStorage2 Mandatory.
IMDSPStorage2::GetAttributes2 Mandatory.
IMDSPStorage2::GetStorage Opcional.
IMDSPStorage2::SetAttributes2 Opcional.
Interfaz IMDSPStorage3 Opcional. Sin embargo, si el parámetro de dispositivo UseMetadataViews está establecido en 1, esta interfaz debe implementarse y IMDSPStorage3::GetMetadata se convierte en obligatoria, aunque IMDSPStorage3::SetMetadata sigue siendo opcional.
IMDSPStorageGlobals::GetCapabilities Mandatory.
IMDSPStorageGlobals::GetDevice Mandatory.
IMDSPStorageGlobals::GetRootStorage Mandatory.
IMDSPStorageGlobals::GetSerialNumber Obligatorio solo para PDDRM. De lo contrario, es opcional.
IMDSPStorageGlobals::GetStatus Mandatory.
IMDSPStorageGlobals::GetTotalBad Mandatory.
IMDSPStorageGlobals::GetTotalFree Mandatory.
IMDSPStorageGlobals::GetTotalSize Mandatory.
IMDSPStorageGlobals::Initialize Opcional. Este método debe implementarse si el dispositivo admite esta funcionalidad. Si no se implementa este método, IMDSPStorageGlobals::GetCapabilites debe devolver WMDM_STORAGECAP_NOT_INITIALIZABLE además de cualquier otra marca.
IMDSPDevice3IMDSPObject2
IMDSPStorage4
Necesario para admitir la sincronización automática con Reproductor multimedia de Windows

Creación de un proveedor de servicios