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 |