Specifies whether a byte-stream handler can use a byte stream that is opened for writing by another thread.

Data type



To get this attribute, call IMFAttributes::GetUINT32.

To set this attribute, call IMFAttributes::SetUINT32.


Byte-stream handlers can support this attribute. To get or set the attribute, first query the byte-stream handler for the IMFAttributes interface. Then call IMFAttributes::GetUINT32 or IMFAttributes::SetUINT32

If this attribute is TRUE, it means that the byte-stream handler can read from a stream while another thread writes to the same stream. When a stream is opened for writing by another thread, the IMFByteStream::GetCapabilities method returns the MFBYTESTREAM_SHARE_WRITE flag.

This attribute affects source resolution. If a byte stream has the MFBYTESTREAM_SHARE_WRITE flag set, the Source Resolver will not pass that stream to a byte-stream handler unless the handler has the MF_BYTESTREAMHANDLER_ACCEPTS_SHARE_WRITE attribute set to TRUE.

The MFBYTESTREAM_SHARE_WRITE flag is a hint that the length of the stream might change while the handler is reading from it.

The GUID constant for this attribute is exported from mfuuid.lib.


Minimum supported client
Windows 7 [desktop apps | UWP apps]
Minimum supported server
Windows Server 2008 R2 [desktop apps | UWP apps]

See also

Alphabetical List of Media Foundation Attributes

Scheme Handlers and Byte-Stream Handlers