| IMF2DBuffer |
Represents a buffer that contains a two-dimensional surface, such as a video frame. |
| IMF2DBuffer2 |
Represents a buffer that contains a two-dimensional surface, such as a video frame. |
| IMFActivate |
Enables the application to defer the creation of an object. This interface is exposed by activation objects. |
| IMFAsyncCallback |
Callback interface to notify the application when an asynchronous method completes. |
| IMFAsyncResult |
Provides information about the result of an asynchronous operation. |
| IMFAttributes |
Provides a generic way to store key/value pairs on an object. The keys are GUIDs, and the values can be any of the following data types: UINT32, UINT64, double, GUID, wide-character string, byte array, or IUnknown pointer. The standard implementation of this interface holds a thread lock while values are added, deleted, or retrieved.For a list of predefined attribute GUIDs, see Media Foundation Attributes. Each attribute GUID has an expected data type. The various “set” methods in IMFAttributes do not validate the type against the attribute GUID. It is the application’s responsibility to set the correct type for the attribute.To create an empty attribute store, call MFCreateAttributes. |
| IMFByteStream |
Represents a byte stream from some data source, which might be a local file, a network file, or some other source. The IMFByteStream interface supports the typical stream operations, such as reading, writing, and seeking. |
| IMFByteStreamBuffering |
Controls how a byte stream buffers data from a network. To get a pointer to this interface, call QueryInterface on the byte stream object. |
| IMFByteStreamCacheControl |
Controls how a network byte stream transfers data to a local cache. Optionally, this interface is exposed by byte streams that read data from a network, for example, through HTTP. To get a pointer to this interface, call QueryInterface on the byte stream object. |
| IMFByteStreamCacheControl2 |
Controls how a network byte stream transfers data to a local cache. This interface extends the IMFByteStreamCacheControl interface. |
| IMFByteStreamHandler |
Creates a media source from a byte stream. |
| IMFByteStreamTimeSeek |
Seeks a byte stream by time position. |
| IMFClock |
Provides timing information from a clock in Microsoft Media Foundation.Clocks and some media sinks expose this interface through QueryInterface. |
| IMFClockStateSink |
Receives state-change notifications from the presentation clock. |
| IMFCollection |
Represents a generic collection of IUnknown pointers. |
| IMFDXGIBuffer |
Represents a buffer that contains a Microsoft DirectX Graphics Infrastructure (DXGI) surface. |
| IMFDXGIDeviceManager |
Enables two threads to share the same Microsoft Direct3D 11 device. |
| IMFGetService |
Queries an object for a specified service interface. |
| IMFInputTrustAuthority |
Enables other components in the protected media path (PMP) to use the input protection system provided by an input trust authorities (ITA). An ITA is a component that implements an input protection system for media content. ITAs expose the IMFInputTrustAuthority interface.An ITA translates policy from the content’s native format into a common format that is used by other PMP components. It also provides a decrypter, if one is needed to decrypt the stream.The topology contains one ITA instance for every protected stream in the media source. The ITA is obtained from the media source by calling IMFTrustedInput::GetInputTrustAuthority. |
| IMFMediaBuffer |
Represents a block of memory that contains media data. Use this interface to access the data in the buffer. |
| IMFMediaEvent |
Represents an event generated by a Media Foundation object. Use this interface to get information about the event.To get a pointer to this interface, call IMFMediaEventGenerator::BeginGetEvent or IMFMediaEventGenerator::GetEvent on the event generator. |
| IMFMediaEventGenerator |
Retrieves events from any Media Foundation object that generates events. |
| IMFMediaEventQueue |
Provides an event queue for applications that need to implement the IMFMediaEventGenerator interface. This interface is exposed by a helper object that implements an event queue. If you are writing a component that implements the IMFMediaEventGenerator interface, you can use this object in your implementation. The event queue object is thread safe and provides methods to queue events and to pull them from the queue either synchronously or asynchronously. To create the event queue object, call MFCreateEventQueue. |
| IMFMediaSink |
Implemented by media sink objects. This interface is the base interface for all Media Foundation media sinks. Stream sinks handle the actual processing of data on each stream. |
| IMFMediaSinkPreroll |
Enables a media sink to receive samples before the presentation clock is started.To get a pointer to this interface, call QueryInterface on the media sink. |
| IMFMediaSource |
Implemented by media source objects.Media sources are objects that generate media data. For example, the data might come from a video file, a network stream, or a hardware device, such as a camera. Each media source contains one or more streams, and each stream delivers data of one type, such as audio or video. |
| IMFMediaSourceEx |
Extends the IMFMediaSource interface to provide additional capabilities for a media source.To get a pointer to this interface, call QueryInterface on the media source. |
| IMFMediaStream |
Represents one stream in a media source. |
| IMFMediaType |
Represents a description of a media format. |
| IMFMediaTypeHandler |
Gets and sets media types on an object, such as a media source or media sink. |
| IMFMetadata |
Manages metadata for an object. Metadata is information that describes a media file, stream, or other content. Metadata consists of individual properties, where each property contains a descriptive name and a value. A property may be associated with a particular language.To get this interface from a media source, use the IMFMetadataProvider interface. |
| IMFMetadataProvider |
Gets metadata from a media source or other object.If a media source supports this interface, it must expose the interface as a service. To get a pointer to this interface from a media source, call IMFGetService::GetService. The service identifier is MF_METADATA_PROVIDER_SERVICE. Other types of object can expose this interface through QueryInterface.Use this interface to get a pointer to the IMFMetadata interface. |
| IMFOutputPolicy |
Encapsulates a usage policy from an input trust authority (ITA). Output trust authorities (OTAs) use this interface to query which protection systems they are required to enforce by the ITA. |
| IMFOutputSchema |
Encapsulates information about an output protection system and its corresponding configuration data. |
| IMFOutputTrustAuthority |
Encapsulates the functionality of one or more output protection systems that a trusted output supports. This interface is exposed by output trust authority (OTA) objects. Each OTA represents a single action that the trusted output can perform, such as play, copy, or transcode. An OTA can represent more than one physical output if each output performs the same action. |
| IMFPMPClientApp |
Provides a mechanism for a media source to implement content protection functionality in a Microsoft Store apps. |
| IMFPMPHostApp |
Allows a media source to create a Windows Runtime object in the Protected Media Path (PMP) process. |
| IMFPresentationClock |
Represents a presentation clock, which is used to schedule when samples are rendered and to synchronize multiple streams. |
| IMFPresentationDescriptor |
Describes the details of a presentation. A presentation is a set of related media streams that share a common presentation time. |
| IMFPresentationTimeSource |
Provides the clock times for the presentation clock. |
| IMFProtectedEnvironmentAccess |
Provides a method that allows content protection systems to perform a handshake with the protected environment. This is needed because the CreateFile and DeviceIoControl APIs are not available to Microsoft Store apps. |
| IMFQualityAdvise |
Enables the quality manager to adjust the audio or video quality of a component in the pipeline.This interface is exposed by pipeline components that can adjust their quality. Typically it is exposed by decoders and stream sinks. For example, the enhanced video renderer (EVR) implements this interface. However, media sources can also implement this interface.To get a pointer to this interface from a media source, call IMFGetService::GetService with the service identifier MF_QUALITY_SERVICES. For all other pipeline objects (transforms and media sinks), call QueryInterface. |
| IMFQualityAdvise2 |
Enables a pipeline object to adjust its own audio or video quality, in response to quality messages. |
| IMFQualityAdviseLimits |
Queries an object for the number of quality modes it supports. Quality modes are used to adjust the trade-off between quality and speed when rendering audio or video.The default presenter for the enhanced video renderer (EVR) implements this interface. The EVR uses the interface to respond to quality messages from the quality manager. |
| IMFRateControl |
Gets or sets the playback rate. |
| IMFRateSupport |
Queries the range of playback rates that are supported, including reverse playback.To get a pointer to this interface, call IMFGetService::GetService with the service identifier MF_RATE_CONTROL_SERVICE. |
| IMFReadWriteClassFactory |
Creates an instance of either the sink writer or the source reader. |
| IMFRealTimeClientEx |
Notifies a pipeline object to register itself with the Multimedia Class Scheduler Service (MMCSS). This interface is a replacement for the IMFRealTimeClient interface. |
| IMFSample |
Represents a media sample, which is a container object for media data. For video, a sample typically contains one video frame. For audio data, a sample typically contains multiple audio samples, rather than a single sample of audio.A media sample contains zero or more buffers. Each buffer manages a block of memory, and is represented by the IMFMediaBuffer interface. A sample can have multiple buffers. The buffers are kept in an ordered list and accessed by index value. It is also valid to have an empty sample with no buffers. |
| IMFSampleOutputStream |
Writes media samples to a byte stream. |
| IMFSampleProtection |
Provides encryption for media data inside the protected media path (PMP). |
| IMFSchemeHandler |
Creates a media source or a byte stream from a URL. |
| IMFShutdown |
Exposed by some Media Foundation objects that must be explicitly shut down. |
| IMFSignedLibrary |
Provides a method that allows content protection systems to get the procedure address of a function in the signed library. This method provides the same functionality as GetProcAddress which is not available to Microsoft Store apps. |
| IMFSinkWriter |
Implemented by the Microsoft Media Foundation sink writer object. |
| IMFSinkWriterCallback |
Callback interface for the Microsoft Media Foundation sink writer. |
| IMFSinkWriterEx |
Extends the IMFSinkWriter interface.The Sink Writer implements this interface in Windows 8. To get a pointer to this interface, call QueryInterface on the Sink Writer. |
| IMFSourceReader |
Implemented by the Microsoft Media Foundation source reader object. |
| IMFSourceReaderCallback |
Callback interface for the Microsoft Media Foundation source reader. |
| IMFSourceReaderEx |
Extends the IMFSourceReader interface.The Source Reader implements this interface in Windows 8. To get a pointer to this interface, call QueryInterface on the Source Reader. |
| IMFSourceResolver |
Creates a media source from a URL or a byte stream. The Source Resolver implements this interface. To create the source resolver, call MFCreateSourceResolver function. |
| IMFStreamDescriptor |
Gets information about one stream in a media source. |
| IMFStreamingSinkConfig |
Passes configuration information to the media sinks that are used for streaming the content. Optionally, this interface is supported by media sinks. The built-in ASF streaming media sink and the MP3 media sink implement this interface. |
| IMFStreamSink |
Represents a stream on a media sink object. |
| IMFSystemId |
Provides a method that retireves system id data. |
| IMFTrackedSample |
Tracks the reference counts on a video media sample. Video samples created by the MFCreateVideoSampleFromSurface function expose this interface. |
| IMFTransform |
Implemented by all Media Foundation Transforms (MFTs). |
| IMFTrustedInput |
Implemented by components that provide input trust authorities (ITAs). This interface is used to get the ITA for each of the component’s streams. |
| IMFTrustedOutput |
Implemented by components that provide output trust authorities (OTAs). Any Media Foundation transform (MFT) or media sink that is designed to work within the protected media path (PMP) and also sends protected content outside the Media Foundation pipeline must implement this interface.The policy engine uses this interface to negotiate what type of content protection should be applied to the content. Applications do not use this interface directly. |
| IMFVideoSampleAllocator |
Allocates video samples for a video media sink.The stream sinks on the enhanced video renderer (EVR) expose this interface as a service. To obtain a pointer to the interface, call IMFGetService::GetService using the service identifier MR_VIDEO_ACCELERATION_SERVICE. Custom media sinks can also implement this interface. The Media Session uses this interface to allocate samples for the EVR, unless the upstream decoder supports DirectX Video Acceleration (DXVA). |
| IMFVideoSampleAllocatorCallback |
Enables an application to track video samples allocated by the enhanced video renderer (EVR).The stream sinks on the EVR expose this interface as a service. To get a pointer to the interface, call the IMFGetService::GetService method, using the MR_VIDEO_ACCELERATION_SERVICE service identifier. |
| IMFVideoSampleAllocatorEx |
Allocates video samples that contain Microsoft Direct3D 11 texture surfaces. |
| IMFVideoSampleAllocatorNotify |
The callback for the IMFVideoSampleAllocatorCallback interface. |
| IXboxColorConverter |
Interface for Xbox exclusive applications to convert a texture from one color space to another color space. Supports NV12->RGB and RGB->NV12 conversion. |
| IXboxNV12MFSampleRenderer |
Interface for Xbox exclusive applications to render a Media Foundation decoded sample (DXVA buffer in NV12 colorspace) in the current render target. |