Interfaces do SDK do Windows Media Format

[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador do Coletor em vez do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

As duas tabelas a seguir descrevem as interfaces compatíveis com esse SDK e mostram sua relação com objetos e outras interfaces.

Interface Descrição
INSNetSourceCreator Cria um plug-in de origem de rede administrativa, que pode ser usado para armazenar senhas em cache e localizar servidores proxy.
INSSBuffer Controla um buffer armazenado em um objeto de buffer. Essa interface é usada para passar exemplos de e para métodos neste SDK.
INSSBuffer2 Herda de INSSBuffer. Os novos métodos dessa interface não estão documentados porque não são implementados nesta versão.
INSSBuffer3 Define e recupera propriedades de buffer. As propriedades de buffer são usadas para transmitir informações com um buffer quando passadas de ou para métodos desse SDK.
INSSBuffer4 Enumera as propriedades do buffer.
Ireferenceclock Fornece acesso a um relógio de referência padrão.
IRMGetLicense Executa a aquisição de licença do lado do cliente.
IWMAddressAccess Controla as listas de acesso IP no objeto do coletor de rede do gravador.
IWMAddressAccess2 Adiciona suporte a IPv6 à interface IWMAddressAccess .
IWMAuthorizer Fornece acesso a certificados.
IWMBackupRestoreProps Define, recupera e remove as propriedades exigidas pelas interfaces IWMLicenseBackup e IWMLicenseRestore .
IWMBandwidthSharing Configura objetos de compartilhamento de largura de banda. Os objetos de compartilhamento de largura de banda são criados por objetos de perfil para especificar fluxos que, independentemente de suas taxas de bits individuais, nunca usarão mais do que uma determinada quantidade de largura de banda entre eles.
IWMClientConnections Recupera informações sobre clientes conectados a um objeto de coletor de rede gravador.
IWMClientConnections2 Recupera informações avançadas sobre clientes conectados a um objeto de coletor de rede gravador.
IWMCodecAMVideoAccelerator Exposto pela DMO do Decodificador do Windows Media e chamado pelo filtro de origem de um player de mídia para configurar as várias conexões necessárias para habilitar o DirectX VA para decodificação do conteúdo do Vídeo do Windows Media.
IWMCodecInfo Recupera os formatos disponíveis para os codecs de áudio com suporte carregados no sistema. Esses formatos são usados ao criar fluxos de áudio em perfis.
IWMCodecInfo2 Fornece acesso aos nomes de codecs e descrições dos formatos com suporte de cada um.
IWMCodecInfo3 Fornece acesso a propriedades codec e propriedades de formato de áudio. Também permite consultar codecs para obter suporte a recursos.
IWMCodecVideoAccelerator Não há suporte para essa interface. Em vez disso, use IWMCodecAMVideoAccelerator .
IWMCredentialCallback Adquire as credenciais dos usuários e verifica se eles têm permissão para acessar um site remoto.
IWMDeviceRegistration Gerencia o banco de dados de registro de dispositivo, que contém entradas para dispositivos de reprodução de mídia digital conectados a redes locais.
IWMDRMEditor Permite que os aplicativos examinem as propriedades do cabeçalho DRM sem ter uma licença para o conteúdo protegido.
IWMDRMMessageParser Analisa as mensagens recebidas de dispositivos de reprodução de mídia digital.
IWMDRMReader Adquire licenças, configura as propriedades do DRM e individualiza os clientes.
IWMDRMReader2 Lê licenças criadas usando o SDK do Windows Media Rights Manager 10.
IWMDRMReader3 Habilita a transcrição de conteúdo fornecendo um método para obter sistemas de proteção aprovados por uma licença.
IWMDRMTranscryptor Converte o conteúdo protegido por DRM em um fluxo de dados que pode ser enviado usando o protocolo de transferência segura DRM 10 do Windows Media para Dispositivos de Rede.
IWMDRMWriter Fornece recursos de criação de licença do objeto gravador.
IWMDRMWriter2 Configura o gravador para aceitar exemplos de fluxo que contêm dados criptografados para streaming para dispositivos que dão suporte ao DRM 10 do Windows Media para Dispositivos de Rede.
IWMDRMWriter3 Habilita a gravação de exemplos de fluxo criptografado para importar conteúdo protegido.
IWMGetSecureChannel Essa interface é usada por uma parte da comunicação para obter a interface IWMSecureChannel da outra parte.
IWMHeaderInfo Gerencia informações de cabeçalho, como metadados, marcadores e assim por diante.
IWMHeaderInfo2 Fornece acesso a informações sobre os codecs usados para criar o arquivo.
IWMHeaderInfo3 Fornece suporte à linguagem de atributo e outros recursos avançados de metadados.
IWMImageInfo Recupera quadros "APIC" ID3v2 de um arquivo. O uso dessa interface deve ser evitado em favor do atributo WM/Picture .
IWMIndexer Fornece métodos para indexar arquivos manualmente.
IWMIndexer2 Fornece opções de configuração de indexação.
IWMInputMediaProps Gerencia as propriedades de um fluxo de mídia de entrada.
IWMIStreamProps Lê as propriedades de um objeto IStream .
IWMLanguageList Gerencia a lista de idiomas de um arquivo ASF.
IWMLicenseBackup Faz backup de licenças, normalmente para que elas possam ser restauradas em outro computador.
IWMLicenseRestore Restaura licenças.
IWMMediaProps Fornece acesso à estrutura de tipo de mídia para um fluxo.
IWMMetadataEditor Fornece gerenciamento de arquivos para edição de metadados.
IWMMetadataEditor2 Fornece um método aprimorado para abrir arquivos para uso pelo editor de metadados.
IWMMutualExclusion Configura objetos de exclusão mútua. Um objeto de exclusão mútua é criado por um objeto de perfil para especificar um grupo de fluxos mutuamente exclusivos.
IWMMutualExclusion2 Adiciona suporte de agrupamento e nomenclatura para exclusão mútua.
IWMOutputMediaProps Gerencia as propriedades de um fluxo de saída.
IWMPacketSize Gerencia o tamanho máximo de pacotes em um arquivo ASF.
IWMPacketSize2 Gerencia o tamanho mínimo de pacotes em um arquivo ASF.
IWMPlayerHook Implementado por um aplicativo player que usa DirectX VA (Aceleração de Vídeo DirectX). Ele permite que o processamento específico do aplicativo seja executado quando exemplos de um fluxo de vídeo são passados para o cartão de vídeo habilitado para VA do DirectX para descompactação.
IWMPlayerTimestampHook Implementado no filtro de origem do jogador ou do jogador. Ele permite que o filtro modifique os carimbos de data/hora nos exemplos de vídeo antes de entregá-los downstream.
IWMProfile Gerencia a criação e edição de perfis. Os perfis descrevem o formato de um arquivo, como tipo de fluxo, taxas de bits e assim por diante. A maioria dos aplicativos usa perfis existentes e não precisa implementar essa interface.
IWMProfile2 Fornece acesso a IDs de perfil.
IWMProfile3 Fornece métodos para lidar com compartilhamento de largura de banda, priorização de fluxo e outros recursos avançados compatíveis com perfis.
IWMProfileManager Gerencia o carregamento e o salvamento de perfis.
IWMProfileManager2 Gerencia os números de versão dos perfis do sistema usados pelo objeto do gerenciador de perfil.
IWMProfileManagerLanguage Gerencia o idioma dos perfis de sistema enumerados.
IWMPropertyVault Fornece uma interface padronizada para gerenciar propriedades.
IWMProximityDetection Valida um dispositivo em uma rede local. Um dispositivo deve ser validado antes de receber dados usando o protocolo de transferência segura DRM 10 do Windows Media para Dispositivos de Rede.
IWMReader Gerencia a leitura assíncrona de arquivos ASF.
IWMReaderAccelerator Implementado no objeto Leitor do WM. Ele é chamado por um player ou um filtro de origem do player para obter interfaces do DMO do decodificador.
IWMReaderAdvanced Fornece recursos avançados do leitor, como um relógio fornecido pelo usuário, alocação de buffer, estatísticas de retorno e recebimento de notificações de seleção de fluxo.
IWMReaderAdvanced2 Fornece um intervalo adicional de métodos avançados para um objeto leitor existente.
IWMReaderAdvanced3 Fornece métodos avançados adicionais para o objeto leitor.
IWMReaderAdvanced4 Fornece suporte para seleção de idioma e outros recursos avançados de leitura.
IWMReaderAdvanced5 Permite associar uma interface de retorno de chamada do player-hook ao objeto reader.
IWMReaderAdvanced6 Habilita a proteção de exemplo.
IWMReaderAllocatorEx Fornece alternativas expandidas para os métodos AllocateForOutput e AllocateForStream da interface IWMReaderCallbackAdvanced .
IWMReaderCallback Implementado pelo aplicativo para fornecer informações de exemplo e status sobre uma operação de leitura atual.
IWMReaderCallbackAdvanced Opcionalmente implementado pelo aplicativo para fornecer funcionalidade avançada para um objeto de retorno de chamada de leitor existente.
IWMReaderNetworkConfig Gerencia as definições de configuração de rede.
IWMReaderNetworkConfig2 Fornece recursos adicionais de configuração de rede.
IWMReaderPlaylistBurn Confirma os direitos de DRM para copiar os arquivos em uma playlist para CD.
IWMReaderStreamClock Usado para definir e cancelar temporizadores em relógios de fluxo, bem como para recuperar o valor atual do relógio de fluxo.
IWMReaderTimecode Fornece informações sobre códigos de tempo SMPTE em um arquivo.
IWMReaderTypeNegotiation Fornece um único método que pode ser usado para testar se determinadas alterações nas propriedades de saída de um fluxo estão funcionando corretamente.
IWMRegisterCallback Permite que o aplicativo obtenha status mensagens de um objeto de coletor.
IWMRegisteredDevice Fornece acesso aos dados em uma entrada no banco de dados de registro de dispositivo.
IWMSBufferAllocator Fornece métodos para alocar buffers em um servidor.
IWMSecureChannel Fornece métodos que permitem que duas DLLs validem umas às outras e executem uma comunicação segura
IWMSInternalAdminNetSource Gerencia o cache de senha e o local do proxy.
IWMSInternalAdminNetSource2 Fornece métodos de cache de senha mais seguros do que IWMSInternalAdminNetSource.
IWMSInternalAdminNetSource3 Fornece um método aprimorado para localizar servidores proxy.
IWMStatusCallback Implementado pelo aplicativo para responder à status de vários objetos desse SDK.
IWMStreamConfig Gerencia a configuração de fluxos para uso em perfis.
IWMStreamConfig2 Fornece métodos adicionais de manipulação de fluxo.
IWMStreamConfig3 Gerencia informações de idioma para fluxos.
IWMStreamList Gerencia os vários objetos que definem relações entre fluxos.
IWMStreamPrioritization Fornece métodos para configurar o objeto de priorização de fluxo.
IWMSyncReader Fornece a capacidade de ler arquivos com chamadas síncronas.
IWMSyncReader2 Adiciona suporte a código de hora SMPTE ao leitor síncrono.
IWMVideoMediaProps Gerencia as propriedades de um fluxo de vídeo.
IWMWatermarkInfo Fornece acesso às marcas d'água disponíveis.
IWMWriter Usado como a interface main para gravar arquivos ASF.
IWMWriterAdvanced Fornece funcionalidade avançada para um objeto gravador existente.
IWMWriterAdvanced2 Fornece algumas funcionalidades avançadas, especialmente para lidar com vídeos desinterlaceados.
IWMWriterAdvanced3 Fornece métodos para estatísticas de gravador detalhadas.
IWMWriterFileSink Gerencia um objeto de coletor de arquivos.
IWMWriterFileSink2 Fornece o gerenciamento estendido de um objeto de coletor de arquivos.
IWMWriterFileSink3 Estende ainda mais a funcionalidade do objeto coletor de arquivos.
IWMWriterNetworkSink Gerencia um objeto de coletor de rede.
IWMWriterPostView Gerencia a saída de exemplos do gravador. Usado para verificar o conteúdo codificado para um arquivo durante o processo de codificação.
IWMWriterPostViewCallback Implementado pelo aplicativo para receber exemplos de pós-visão do gravador.
IWMWriterPreprocess Gerencia as configurações para codificação de várias passões.
IWMWriterPushSink Gerencia um objeto de coletor de push.
IWMWriterSink Gerencia a entrada bruta do Formato de Mídia do Windows das interfaces do gravador. Usado como uma interface base para as outras interfaces do coletor de gravador.

 

A tabela a seguir mostra a herança de cada interface e os objetos dos quais uma instância pode ser obtida.

Interface É herdado de Objetos
INSNetSourceCreator IUnknown Objeto Criador de Origem
INSSBuffer IUnknown Objeto de buffer
INSSBuffer2 INSSBuffer Objeto de buffer
INSSBuffer3 INSSBuffer2 Objeto de buffer
INSSBuffer4 INSSBuffer3 Objeto de buffer
Ireferenceclock IUnknown Objeto de leitor
IWMAddressAccess IUnknown Objeto Coletor de Rede do Gravador
IWMAddressAccess2 IWMAddressAccess Objeto Coletor de Rede do Gravador
IWMBackupRestoreProps IUnknown Objeto restaurador de backup
IWMBandwidthSharing IWMStreamList Objeto de compartilhamento de largura de banda
IWMClientConnections IUnknown Objeto Coletor de Rede do Gravador
IWMClientConnections2 IWMClientConnections Objeto Coletor de Rede do Gravador
IWMCodecAMVideoAccelerator IUnknown DMO do decodificador do Windows Media
IWMCodecInfo IUnknown Objeto do gerenciador de perfis
IWMCodecInfo2 IWMCodecInfo Objeto do gerenciador de perfis
IWMCodecInfo3 IWMCodecInfo2 Objeto do gerenciador de perfis
IWMCredentialCallback IUnknown Implementado pelo aplicativo
IWMDRMEditor IUnknown Objeto do editor de metadados
IWMDRMReader IUnknown Objeto de leitor
IWMDRMWriter IUnknown Objeto do gravador
IWMHeaderInfo IUnknown Objeto editor de metadados, objeto Reader, objeto leitor síncrono, objeto Writer
IWMHeaderInfo2 IWMHeaderInfo Objeto editor de metadados, objeto Reader, objeto leitor síncrono, objeto Writer
IWMHeaderInfo3 IWMHeaderInfo2 Objeto editor de metadados, objeto Reader, objeto leitor síncrono, objeto Writer
IWMImageInfo IUnknown Objeto editor de metadados, objeto Reader, objeto leitor síncrono
IWMIndexer IUnknown Objeto Indexador
IWMIndexer2 IWMIndexer Objeto Indexador
IWMInputMediaProps IWMMediaProps Objeto Input Media Properties
IWMIStreamProps IUnknown Objeto Stream (IStream)
IWMLanguageList IUnknown Objeto Profile, Objeto Editor de Metadados, Objeto Reader, Objeto Leitor Síncrono, Objeto Writer
IWMLicenseBackup IUnknown Objeto restaurador de backup
IWMLicenseRestore IUnknown Objeto restaurador de backup
IWMMediaProps IUnknown Objeto Input Media Properties, Output Media Properties Object, Stream Configuration Object
IWMMetadataEditor IUnknown Objeto do editor de metadados
IWMMetadataEditor2 IWMMetadataEditor Objeto do editor de metadados
IWMMutualExclusion IWMStreamList Objeto de exclusão mútua
IWMMutualExclusion2 IWMMutualExclusion Objeto de exclusão mútua
IWMOutputMediaProps IUnknown Objeto Output Media Properties
IWMPacketSize IUnknown Objeto do gerenciador de perfis
IWMPacketSize2 IWMPacketSize Objeto do gerenciador de perfis
IWMPlayerHook IUnknown Implementado pelo aplicativo
IWMPlayerTimestampHook IUnknown Filtro de origem
IWMProfile IUnknown Objeto Profile
IWMProfile2 IWMProfile Objeto Profile
IWMProfile3 IWMProfile2 Objeto Profile
IWMProfileManager IUnknown Objeto do gerenciador de perfis
IWMProfileManager2 IWMProfileManager Objeto do gerenciador de perfis
IWMProfileManagerLanguage IUnknown Objeto do gerenciador de perfis
IWMPropertyVault IUnknown Objeto de configuração de fluxo
IWMReader IUnknown Objeto de leitor
IWMReaderAccelerator IUnknown Objeto de leitor
IWMReaderAdvanced IUnknown Objeto de leitor
IWMReaderAdvanced2 IWMReaderAdvanced Objeto de leitor
IWMReaderAdvanced3 IWMReaderAdvanced2 Objeto de leitor
IWMReaderAdvanced4 IWMReaderAdvanced3 Objeto de leitor
IWMReaderAllocatorEx IUnknown Implementado pelo aplicativo
IWMReaderCallback IWMStatusCallback Implementado pelo aplicativo
IWMReaderCallbackAdvanced IUnknown Implementado pelo aplicativo
IWMReaderNetworkConfig IUnknown Objeto de leitor
IWMReaderNetworkConfig2 IWMReaderNetworkConfig Objeto de leitor
IWMReaderStreamClock IUnknown Objeto de leitor
IWMReaderTimecode IUnknown Objeto de leitor
IWMReaderTypeNegotiation IUnknown Objeto de leitor
IWMRegisterCallback IUnknown Implementado pelo aplicativo
IWMSBufferAllocator IUnknown Implementado por um servidor de rede
IWMSInternalAdminNetSource IUnknown Objeto de administrador de origem de rede
IWMSInternalAdminNetSource2 IWMSInternalAdminNetSource Objeto de administrador de origem de rede
IWMSInternalAdminNetSource3 IWMSInternalAdminNetSource2 Objeto de administrador de origem de rede
IWMStatusCallback IUnknown Implementado pelo aplicativo
IWMStreamConfig IUnknown Objeto de configuração de fluxo
IWMStreamConfig2 IWMStreamConfig Objeto de configuração de fluxo
IWMStreamConfig3 IWMStreamConfig2 Objeto de configuração de fluxo
IWMStreamList IUnknown Objeto de compartilhamento de largura de banda, objeto de exclusão mútua
IWMStreamPrioritization IUnknown Objeto de priorização de fluxo
IWMSyncReader IUnknown Objeto de leitor síncrono
IWMSyncReader2 IWMSyncReader Objeto de leitor síncrono
IWMVideoMediaProps IWMMediaProps Objeto de configuração de fluxo
IWMWatermarkInfo IUnknown Objeto do gravador
IWMWriter IUnknown Objeto do gravador
IWMWriterAdvanced IUnknown Objeto do gravador
IWMWriterAdvanced2 IWMWriterAdvanced Objeto do gravador
IWMWriterAdvanced3 IWMWriterAdvanced2 Objeto do gravador
IWMWriterFileSink IWMWriterSink Objeto de coletor de arquivo do gravador
IWMWriterFileSink2 IWMWriterFileSink Objeto de coletor de arquivo do gravador
IWMWriterFileSink3 IWMWriterFileSink2 Objeto de coletor de arquivo do gravador
IWMWriterNetworkSink IWMWriterSink Objeto Coletor de Rede do Gravador
IWMWriterPostView IUnknown Objeto do gravador
IWMWriterPostViewCallback IUnknown Implementado pelo aplicativo
IWMWriterPreprocess IUnknown Objeto do gravador
IWMWriterPushSink IWMWriterSink Objeto Coletor de Push do Gravador
IWMWriterSink IUnknown Objeto coletor de arquivo de gravador, objeto coletor de rede gravador, objeto coletor de push gravador

 

Comentários

O identificador de interface para cada uma das interfaces neste SDK é o nome da interface precedida por "IID_". Por exemplo, o identificador da interface IWMReaderAdvanced é IID_IWMReaderAdvanced. Para obter um ponteiro para a interface IWMReaderAdvanced de um objeto leitor, use o código a seguir, em que pReader é um ponteiro para uma interface IWMReader :

IWMReaderAdvanced *pReaderAdvanced;
hr = pReader->QueryInterface(IID_IWMReaderAdvanced,
                             (LPVOID*) &pReaderAdvanced);

Objetos

Referência de programação