Compartilhar via


Interface IMFPluginControl (mfobjects.h)

Controla como as fontes e transformações de mídia são enumeradas no Microsoft Media Foundation.

Para obter um ponteiro para essa interface, chame MFGetPluginControl.

Herança

A interface IMFPluginControl herda da interface IUnknown . IMFPluginControl também tem estes tipos de membros:

Métodos

A interface IMFPluginControl tem esses métodos.

 
IMFPluginControl::GetDisabledByIndex

O IMFPluginControl::GetDisabledByIndex (mfobjects.h) obtém um CLSID (identificador de classe) da lista bloqueada.
IMFPluginControl::GetPreferredClsid

Pesquisa na lista preferencial um CLSID (identificador de classe) que corresponda a um nome de chave especificado.
IMFPluginControl::GetPreferredClsidByIndex

O método IMFPluginControl::GetPreferredClsidByIndex (mfobjects.h) obtém um CLSID (identificador de classe) da lista preferencial, especificado pelo valor de índice.
IMFPluginControl::IsDisabled

Consulta se um CLSID (identificador de classe) aparece na lista bloqueada. (IMFPluginControl.IsDisabled)
IMFPluginControl::SetDisabled

Adiciona um CLSID (identificador de classe) à lista bloqueada ou remove um CLSID da lista. (IMFPluginControl.SetDisabled)
IMFPluginControl::SetPreferredClsid

Adiciona um CLSID (identificador de classe) à lista preferencial ou remove um CLSID da lista. (IMFPluginControl.SetPreferredClsid)

Comentários

O Media Foundation fornece um conjunto de fontes de mídia e decodificadores internos. Os aplicativos podem enumerá-los da seguinte maneira:

Os aplicativos também podem enumerar esses objetos indiretamente. Por exemplo, se um aplicativo usa o carregador de topologia para resolve uma topologia parcial, o carregador de topologia chama MFTEnumEx para localizar os decodificadores necessários.

Terceiros podem implementar suas próprias fontes de mídia e decodificadores personalizados e registrá-los para enumeração para que outros aplicativos possam usá-los.

Para controlar a ordem de enumeração, o Media Foundation mantém duas listas de CLSIDs em todo o processo: uma lista preferencial e uma lista bloqueada. Um objeto cujo CLSID aparece na lista preferencial aparece primeiro na ordem de enumeração. Um objeto cujo CLSID aparece na lista bloqueada não é enumerado.

As listas são inicialmente populadas do registro. Os aplicativos podem usar a interface IMFPluginControl para modificar as listas do processo atual.

A lista preferencial contém um conjunto de pares chave/valor, em que as chaves são cadeias de caracteres e os valores são CLSIDs. Esses pares chave/valor são definidos da seguinte maneira:

  • Para fontes de mídia, o nome da chave é uma extensão de nome de arquivo, um esquema de protocolo ou um tipo MIME. O valor é o CLSID de um manipulador de esquema ou manipulador de fluxo de bytes para essa fonte de mídia.
  • Para decodificadores, o nome da chave é um GUID de subtipo de mídia na forma de cadeia de caracteres canônica. (Para obter mais informações sobre subtipos de mídia, consulte Tipos de mídia.) O valor é o CLSID da MFT (transformação do Media Foundation) que implementa o decodificador.
Os exemplos a seguir mostram os vários tipos de chave:
  • Extensão de arquivo: ".wmv"
  • Esquema: "http:"
  • Tipo MIME: "video/mp4"
  • Subtipo de mídia: "{47504A4D-0000-0010-8000-00AA00389B71}"
Para pesquisar a lista preferencial por nome de chave, chame o método IMFPluginControl::GetPreferredClsid . Para enumerar a lista inteira, chame o método IMFPluginControl::GetPreferredClsidByIndex em um loop.

A lista bloqueada contém uma lista de CLSIDs. Para enumerar a lista inteira, chame o método IMFPluginControl::GetDisabledByIndex em um loop. Para marcar se um CLSID específico aparece na lista, chame o método IMFPluginControl::IsDisabled.

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mfobjects.h (include Mfidl.h)

Confira também

MFGetPluginControl

Media Foundation Interfaces