Export (0) Print
Expand All

IMFPluginControl interface

Controls how media sources and transforms are enumerated in Microsoft Media Foundation.

To get a pointer to this interface, call MFGetPluginControl.

Members

The IMFPluginControl interface inherits from the IUnknown interface. IMFPluginControl also has these types of members:

Methods

The IMFPluginControl interface has these methods.

MethodDescription
GetDisabledByIndex

Gets a class identifier (CLSID) from the blocked list.

GetPreferredClsid

Searches the preferred list for a CLSID that matches a specified key name.

GetPreferredClsidByIndex

Gets a CLSID from the preferred list, specified by index value.

IsDisabled

Queries whether a CLSID appears in the blocked list.

SetDisabled

Adds a CLSID to the blocked list or removes a CLSID from the list.

SetPreferredClsid

Adds a CLSID to the preferred list or removes a CLSID from the list.

 

Remarks

Media Foundation provides a set of built-in media sources and decoders. Applications can enumerate them as follows:

Applications might also enumerate these objects indirectly. For example, if an application uses the topology loader to resolve a partial topology, the topology loader calls MFTEnumEx to find the required decoders.

Third parties can implement their own custom media sources and decoders, and register them for enumeration so that other applications can use them.

To control the enumeration order, Media Foundation maintains two process-wide lists of CLSIDs: a preferred list and a blocked list. An object whose CLSID appears in the preferred list appears first in the enumeration order. An object whose CLSID appears on the blocked list is not enumerated.

The lists are initially populated from the registry. Applications can use the IMFPluginControl interface to modify the lists for the current process.

The preferred list contains a set of key/value pairs, where the keys are strings and the values are CLSIDs. These key/value pairs are defined as follows:

  • For media sources, the key name is a file name extension, protocol scheme, or MIME type. The value is the CLSID of a scheme handler or byte-stream handler for that media source.
  • For decoders, the key name is a media subtype GUID in canonical string form. (For more information about media subtypes, see Media Types.) The value is the CLSID of the Media Foundation transform (MFT) that implements the decoder.

The following examples show the various types of key:

  • File extension: ".wmv"
  • Scheme: "http:"
  • MIME type: "video/mp4"
  • Media subtype: "{47504A4D-0000-0010-8000-00AA00389B71}"

To search the preferred list by key name, call the IMFPluginControl::GetPreferredClsid method. To enumerate the entire list, call the IMFPluginControl::GetPreferredClsidByIndex method in a loop.

The blocked list contains a list of CLSIDs. To enumerate the entire list, call the IMFPluginControl::GetDisabledByIndex method in a loop. To check whether a specific CLSID appears on the list, call the IMFPluginControl::IsDisabled method.

Requirements

Minimum supported client

Windows 7 [desktop apps only]

Minimum supported server

Windows Server 2008 R2 [desktop apps only]

Header

Mfobjects.h (include Mfidl.h)

See also

Media Foundation Interfaces
MFGetPluginControl

 

 

Community Additions

ADD
Show:
© 2014 Microsoft