ID3D11Multithread interface (d3d11_4.h)

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.


Enter a device's critical section. (ID3D11Multithread.Enter)

Find out if multithread protection is turned on or not.

Leave a device's critical section. (ID3D11Multithread.Leave)

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