ID3D11Multithread interface

Provides threading protection for critical sections of a multi-threaded application.


The ID3D11Multithread interface inherits from the IUnknown interface. ID3D11Multithread also has these types of members:


The ID3D11Multithread interface has these methods.

Method Description
ID3D11Multithread::Enter Enter a device's critical section.
ID3D11Multithread::GetMultithreadProtected Find out if multithread protection is turned on or not.
ID3D11Multithread::Leave Leave a device's critical section.
ID3D11Multithread::SetMultithreadProtected Turns multithread protection on or off.


This interface is obtained by querying it from an immediate device context created with the ID3D11DeviceContext (or later versions of this) interface using IUnknown::QueryInterface.

Unlike D3D10, there is no multithreaded layer in D3D11. By default, multithread protection is turned off. Use SetMultithreadProtected to turn it on, then Enter and Leave to encapsulate graphics commands that must be executed in a specific order.

By default in D3D11, applications can only use one thread with the immediate context at a time. But, applications can use this interface to change that restriction. The interface can turn on threading protection for the immediate context, which will increase the overhead of each immediate context call in order to share one context with multiple threads.


Target Platform Windows
Header d3d11_4.h

See also

Core Interfaces