Interfacce obbligatorie e facoltative
La tabella seguente descrive le interfacce e i metodi obbligatori e facoltativi per i provider di servizi da implementare. Tutte le interfacce con uno o più metodi obbligatori devono essere implementati. Un metodo obbligatorio non può restituire WMDM_E_NOTSUPPORTED o E_NOTIMPL.
Interfaccia e metodo | Opzione di implementazione |
---|---|
IMDServiceProvider::EnumDevices | Mandatory. |
IMDServiceProvider::GetDeviceCount | Mandatory. |
IMDServiceProvider2::CreateDevice | Facoltativa. Questo metodo deve essere implementato per il supporto di PnP e Windows Explorer. |
IMDSPDevice::EnumStorage | Mandatory. |
IMDSPDevice::GetDeviceIcon | Mandatory. |
IMDSPDevice::GetFormatSupport | Mandatory. |
IMDSPDevice::GetManufacturer | Mandatory. |
IMDSPDevice::GetName | Mandatory. |
IMDSPDevice::GetPowerSource | Facoltativa. |
IMDSPDevice::GetSerialNumber | Facoltativa. Per il trasferimento del contenuto protetto, Windows Media Gestione dispositivi usa IMDSPStorageGlobals::GetSerialNumber. |
IMDSPDevice::GetStatus | Mandatory. |
IMDSPDevice::GetType | Mandatory. |
IMDSPDevice::GetVersion | Facoltativa. |
IMDSPDevice::SendOpaqueCommand | Facoltativa. |
IMDSPDevice2::GetCanonicalName | Facoltativa. |
IMDSPDevice2::GetFormatSupport2 | Mandatory. |
IMDSPDevice2::GetSpecifyPropertyPages | Facoltativa. |
IMDSPDevice2::GetStorage | Facoltativa. |
Interfaccia IMDSPDeviceControl | Facoltativa. |
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 | Facoltativa. |
IMDSPObject::Open | Mandatory. |
IMDSPObject::Read | Obbligatorio (se è desiderato Lettore multimediale Windows supporto). |
IMDSPObject::Rinomina | Facoltativa. |
IMDSPObject::Seek | Facoltativa. |
IMDSPObject::Write | Mandatory. |
Interfaccia IMDSPObjectInfo | Facoltativa. |
Interfaccia IMDSPRevoked | Facoltativa. |
IMDSPStorage::CreateStorage | Obbligatorio solo se dwAttributes è WMDM_FILE_ATTR_FILE. |
IMDSPStorage::EnumStorage | Mandatory. |
IMDSPStorage::GetAttributes | Mandatory. |
IMDSPStorage::GetDate | Mandatory. |
IMDSPStorage::GetName | Mandatory. |
IMDSPStorage::GetRights | Facoltativa. |
IMDSPStorage::GetSize | Mandatory. |
IMDSPStorage::GetStorageGlobals | Mandatory. |
IMDSPStorage::SendOpaqueCommands | Facoltativa. |
IMDSPStorage::SetAttributes | Facoltativa. |
IMDSPStorage2::CreateStorage2 | Mandatory. |
IMDSPStorage2::GetAttributes2 | Mandatory. |
IMDSPStorage2::GetStorage | Facoltativa. |
IMDSPStorage2::SetAttributes2 | Facoltativa. |
Interfaccia IMDSPStorage3 | Facoltativa. Tuttavia, se il parametro del dispositivo UseMetadataViews è impostato su 1, questa interfaccia deve essere implementata e IMDSPStorage3::GetMetadata diventa obbligatorio, anche se IMDSPStorage3::SetMetadata è ancora facoltativo. |
IMDSPStorageGlobals::GetCapabilities | Mandatory. |
IMDSPStorageGlobals::GetDevice | Mandatory. |
IMDSPStorageGlobals::GetRootStorage | Mandatory. |
IMDSPStorageGlobals::GetSerialNumber | Obbligatorio solo per PDDRM. Facoltativo in caso contrario. |
IMDSPStorageGlobals::GetStatus | Mandatory. |
IMDSPStorageGlobals::GetTotalBad | Mandatory. |
IMDSPStorageGlobals::GetTotalFree | Mandatory. |
IMDSPStorageGlobals::GetTotalSize | Mandatory. |
IMDSPStorageGlobals::Initialize | Facoltativa. Questo metodo deve essere implementato se il dispositivo supporta questa funzionalità. Se questo metodo non è implementato, IMDSPStorageGlobals::GetCapabilites deve restituire WMDM_STORAGECAP_NOT_INITIALIZABLE oltre ad altri flag. |
IMDSPDevice3IMDSPObject2 IMDSPStorage4 |
Necessario per supportare la sincronizzazione automatica con Lettore multimediale Windows |