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 | Windows Store apps]

Minimum supported server

Windows Server 2012 [desktop apps | Windows Store apps]



See also

Alphabetical List of Media Foundation Attributes