Interfaces obrigatórias e opcionais
A tabela a seguir descreve as interfaces e métodos obrigatórios e opcionais para os provedores de serviços implementarem. Todas as interfaces com um ou mais métodos obrigatórios devem ser implementadas. Um método obrigatório não pode retornar WMDM_E_NOTSUPPORTED ou E_NOTIMPL.
Interface e método | Opção de implementação |
---|---|
IMDServiceProvider::EnumDevices | Mandatory. |
IMDServiceProvider::GetDeviceCount | Mandatory. |
IMDServiceProvider2::CreateDevice | Opcional. Esse método deve ser implementado para suporte ao PnP e ao Windows Explorer. |
IMDSPDevice::EnumStorage | Mandatory. |
IMDSPDevice::GetDeviceIcon | Mandatory. |
IMDSPDevice::GetFormatSupport | Mandatory. |
IMDSPDevice::GetManufacturer | Mandatory. |
IMDSPDevice::GetName | Mandatory. |
IMDSPDevice::GetPowerSource | Opcional. |
IMDSPDevice::GetSerialNumber | Opcional. Para transferência de conteúdo protegida, o Gerenciador de Dispositivos do Windows Media 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. |
IMDSPDeviceControl Interface | 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 | Obrigatório (se Reprodutor Multimídia do Windows suporte for desejado). |
IMDSPObject::Rename | Opcional. |
IMDSPObject::Seek | Opcional. |
IMDSPObject::Write | Mandatory. |
IMDSPObjectInfo Interface | Opcional. |
IMDSPRevoked Interface | Opcional. |
IMDSPStorage::CreateStorage | Obrigatório somente se dwAttributes for 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. |
IMDSPStorage3 Interface | Opcional. No entanto, se o parâmetro de dispositivo UseMetadataViews estiver definido como 1, essa interface deverá ser implementada e IMDSPStorage3::GetMetadata se tornará obrigatório, embora IMDSPStorage3::SetMetadata ainda seja opcional. |
IMDSPStorageGlobals::GetCapabilities | Mandatory. |
IMDSPStorageGlobals::GetDevice | Mandatory. |
IMDSPStorageGlobals::GetRootStorage | Mandatory. |
IMDSPStorageGlobals::GetSerialNumber | Obrigatório somente para PDDRM. Caso contrário, opcional. |
IMDSPStorageGlobals::GetStatus | Mandatory. |
IMDSPStorageGlobals::GetTotalBad | Mandatory. |
IMDSPStorageGlobals::GetTotalFree | Mandatory. |
IMDSPStorageGlobals::GetTotalSize | Mandatory. |
IMDSPStorageGlobals::Initialize | Opcional. Esse método deverá ser implementado se o dispositivo der suporte a essa funcionalidade. Se esse método não for implementado, IMDSPStorageGlobals::GetCapabilites deverá retornar WMDM_STORAGECAP_NOT_INITIALIZABLE além de outros sinalizadores. |
IMDSPDevice3IMDSPObject2 IMDSPStorage4 |
Necessário para dar suporte à sincronização automática com Reprodutor Multimídia do Windows |