Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.


Indicates whether a media sink supports hardware data flow.

Data type

BOOL stored as UINT32


This attribute is used when a media sink proxies a hardware device and is able to receive data over a hardware bus. For example, a hardware audio decoder might send audio data directly to the audio rendering hardware.

In this scenario, the decoder and the sink are still represented in the Microsoft Media Foundation by a Media Foundation transform (MFT) and a media sink. However, no data flows between these two objects at the pipeline layer, only at the hardware layer, as shown in the following diagram.

A diagram that shows a hardware proxy source.

The connection between the MFT and the media sink is negotiated as follows.

  1. The pipeline checks if the MFT is a hardware proxy, by checking for the MFT_ENUM_HARDWARE_URL_Attribute attribute on the MFT. For details, see Hardware MFTs.
  2. The pipeline gets a pointer to the IMFStreamSink interface of the stream sink on the media sink.
  3. The pipeline uses the IMFStreamSink pointer to query for the MF_STREAM_SINK_SUPPORTS_HW_CONNECTION attribute. If this attribute is present and equal to TRUE, the media source supports hardware connections.
  4. The pipeline sets the MFT_CONNECTED_STREAM_ATTRIBUTE attribute on the stream sink. The value of this attribute is the IMFAttribute pointer from the MFT.
  5. The pipeline sets the MFT_CONNECTED_TO_HW_STREAM attribute to TRUE on both the stream sink and the MFT.


Minimum supported client

Windows 8 [desktop apps | UWP apps]

Minimum supported server

Windows Server 2012 [desktop apps | UWP apps]



See also

Alphabetical List of Media Foundation Attributes



© 2017 Microsoft