IMFPluginControl interface (mfobjects.h)
Controls how media sources and transforms are enumerated in Microsoft Media Foundation.
To get a pointer to this interface, call MFGetPluginControl.
Inheritance
The IMFPluginControl interface inherits from the IUnknown interface. IMFPluginControl also has these types of members:
Methods
The IMFPluginControl interface has these methods.
IMFPluginControl::GetDisabledByIndex The IMFPluginControl::GetDisabledByIndex (mfobjects.h) gets a class identifier (CLSID) from the blocked list. |
IMFPluginControl::GetPreferredClsid Searches the preferred list for a class identifier (CLSID) that matches a specified key name. |
IMFPluginControl::GetPreferredClsidByIndex The IMFPluginControl::GetPreferredClsidByIndex (mfobjects.h) method gets a class identifier (CLSID) from the preferred list, specified by index value. |
IMFPluginControl::IsDisabled Queries whether a class identifier (CLSID) appears in the blocked list. (IMFPluginControl.IsDisabled) |
IMFPluginControl::SetDisabled Adds a class identifier (CLSID) to the blocked list, or removes a CLSID from the list. (IMFPluginControl.SetDisabled) |
IMFPluginControl::SetPreferredClsid Adds a class identifier (CLSID) to the preferred list or removes a CLSID from the list. (IMFPluginControl.SetPreferredClsid) |
Remarks
Media Foundation provides a set of built-in media sources and decoders. Applications can enumerate them as follows:
- Media sources are enumerated through the Source Resolver.
- Transforms, such as decoders, are enumerated through the MFTEnum and MFTEnumEx functions.
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.
- File extension: ".wmv"
- Scheme: "http:"
- MIME type: "video/mp4"
- Media subtype: "{47504A4D-0000-0010-8000-00AA00389B71}"
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
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Target Platform | Windows |
Header | mfobjects.h (include Mfidl.h) |