Condividi tramite


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

Creazione di un provider di servizi