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 |