Partilhar via


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. Devem ser implementadas todas as interfaces com um ou mais métodos obrigatórios. Um método obrigatório não pode devolver WMDM_E_NOTSUPPORTED ou E_NOTIMPL.

Interface e método Opção de execução
IMDServiceProvider::EnumDevices Obrigatório.
IMDServiceProvider::GetDeviceCount Obrigatório.
IMDServiceProvider2::CreateDevice Opcional. Esse método deve ser implementado para suporte a PnP e Windows Explorer.
IMDSPDevice::EnumStorage Obrigatório.
IMDSPDevice::GetDeviceIcon Obrigatório.
IMDSPDevice::GetFormatSupport Obrigatório.
IMDSPDevice::GetManufacturer Obrigatório.
IMDSPDevice::GetName Obrigatório.
IMDSPDevice::GetPowerSource Opcional.
IMDSPDevice::GetSerialNumber Opcional. Para transferência de conteúdo protegido, o Gerenciador de Dispositivos do Windows Media usa IMDSPStorageGlobals::GetSerialNumber.
IMDSPDevice::GetStatus Obrigatório.
IMDSPDevice::GetType Obrigatório.
IMDSPDevice::GetVersion Opcional.
IMDSPDevice::SendOpaqueCommand Opcional.
IMDSPDevice2::GetCanonicalName Opcional.
IMDSPDevice2::GetFormatSupport2 Obrigatório.
IMDSPDevice2::GetSpecifyPropertyPages Opcional.
IMDSPDevice2::GetStorage Opcional.
Interface IMDSPDeviceControl Opcional.
IMDSPEnumDevice::Clone Obrigatório.
IMDSPEnumDevice::Próxima Obrigatório.
IMDSPEnumDevice::Redefinir Obrigatório.
IMDSPEnumDevice::Ignorar Obrigatório.
IMDSPEnumStorage::Clone Obrigatório.
IMDSPEnumStorage::Próxima Obrigatório.
IMDSPEnumStorage::Redefinir Obrigatório.
IMDSPEnumStorage::Ignorar Obrigatório.
IMDSPObject::Fechar Obrigatório.
IMDSPObject::D elete Obrigatório.
IMDSPObject::Mover Opcional.
IMDSPObject::Abrir Obrigatório.
IMDSPObject::Leia Obrigatório (se o suporte do Windows Media Player for desejado).
IMDSPObject::Renomear Opcional.
IMDSPObject::Procurar Opcional.
IMDSPObject::Escreva Obrigatório.
Interface IMDSPObjectInfo Opcional.
IMDSPRevoked Interface Opcional.
IMDSPStorage::CreateStorage Obrigatório apenas se dwAttributes estiver WMDM_FILE_ATTR_FILE.
IMDSPStorage::EnumStorage Obrigatório.
IMDSPStorage::GetAttributes Obrigatório.
IMDSPStorage::GetDate Obrigatório.
IMDSPStorage::GetName Obrigatório.
IMDSPStorage::GetRights Opcional.
IMDSPStorage::GetSize Obrigatório.
IMDSPStorage::GetStorageGlobals Obrigatório.
IMDSPStorage::SendOpaqueCommands Opcional.
IMDSPStorage::SetAttributes Opcional.
IMDSPStorage2::CreateStorage2 Obrigatório.
IMDSPStorage2::GetAttributes2 Obrigatório.
IMDSPStorage2::GetStorage Opcional.
IMDSPStorage2::SetAttributes2 Opcional.
Interface IMDSPStorage3 Opcional. No entanto, se o parâmetro device 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 Obrigatório.
IMDSPStorageGlobals::GetDevice Obrigatório.
IMDSPStorageGlobals::GetRootStorage Obrigatório.
IMDSPStorageGlobals::GetSerialNumber Obrigatório apenas para PDDRM. Opcional caso contrário.
IMDSPStorageGlobals::GetStatus Obrigatório.
IMDSPStorageGlobals::GetTotalBad Obrigatório.
IMDSPStorageGlobals::GetTotalFree Obrigatório.
IMDSPStorageGlobals::GetTotalSize Obrigatório.
IMDSPStorageGlobals::Inicialize Opcional. Este método deve ser implementado se o dispositivo suporta esta funcionalidade. Se esse método não for implementado, IMDSPStorageGlobals::GetCapabilites deverá retornar WMDM_STORAGECAP_NOT_INITIALIZABLE além de quaisquer outros sinalizadores.
IMDSPDevice3IMDSPObject2
IMDSPStorage4
Necessário para suportar a sincronização automática com o Windows Media Player

Criação de um provedor de serviços