структура D3D11DDIARG_CREATEDEFERREDCONTEXT (d3d10umddi.h)
Структура D3D11DDIARG_CREATEDEFERREDCONTEXT описывает отложенный контекст для создания.
Синтаксис
typedef struct D3D11DDIARG_CREATEDEFERREDCONTEXT {
union {
#if ...
[in/out] D3D11DDI_DEVICEFUNCS *p11ContextFuncs;
#else
[in/out] struct D3D11DDI_DEVICEFUNCS *p11ContextFuncs;
#endif
#if ...
[in/out] D3D11_1DDI_DEVICEFUNCS *p11_1ContextFuncs;
#else
[in/out] struct D3D11_1DDI_DEVICEFUNCS *p11_1ContextFuncs;
#endif
#if ...
[in/out] D3DWDDM1_3DDI_DEVICEFUNCS *pWDDM1_3ContextFuncs;
#else
[in/out] struct D3DWDDM1_3DDI_DEVICEFUNCS *pWDDM1_3ContextFuncs;
#endif
#if ...
[in/out] D3DWDDM2_0DDI_DEVICEFUNCS *pWDDM2_0ContextFuncs;
#else
[in/out] struct D3DWDDM2_0DDI_DEVICEFUNCS *pWDDM2_0ContextFuncs;
#endif
#if ...
D3DWDDM2_1DDI_DEVICEFUNCS *pWDDM2_1ContextFuncs;
#else
struct D3DWDDM2_1DDI_DEVICEFUNCS *pWDDM2_1ContextFuncs;
#endif
#if ...
D3DWDDM2_2DDI_DEVICEFUNCS *pWDDM2_2ContextFuncs;
#else
struct D3DWDDM2_2DDI_DEVICEFUNCS *pWDDM2_2ContextFuncs;
#endif
#if ...
D3DWDDM2_6DDI_DEVICEFUNCS *pWDDM2_6ContextFuncs;
#else
struct D3DWDDM2_6DDI_DEVICEFUNCS *pWDDM2_6ContextFuncs;
#endif
};
[in] D3D10DDI_HDEVICE hDrvContext;
[in] D3D10DDI_HRTCORELAYER hRTCoreLayer;
union {
[in] const D3D11DDI_CORELAYER_DEVICECALLBACKS *p11UMCallbacks;
const D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_0UMCallbacks;
const D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_2UMCallbacks;
const D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_6UMCallbacks;
};
[in] UINT Flags;
} D3D11DDIARG_CREATEDEFERREDCONTEXT;
Члены
[in/out] p11ContextFuncs
Указатель на структуру D3D11DDI_DEVICEFUNCS, которая отображает драйвер в пользовательском режиме, заполняет таблицу ее функций для отложенного контекста. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
Список функций, которые не используются для отложенных контекстов, см. в исключения функций DDI для отложенных контекстов.
[in/out] p11_1ContextFuncs
Указатель на структуру D3D11_1DDI_DEVICEFUNCS, которая отображает драйвер в пользовательском режиме, заполняет таблицу ее функций для отложенного контекста. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
Поддерживается начиная с Windows 8.
[in/out] pWDDM1_3ContextFuncs
Указатель на структуру D3DWDDM1_3DDI_DEVICEFUNCS, которую драйвер отображения пользовательского режима заполняет таблицей ее функций для отложенного контекста. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
Поддерживается начиная с Windows 8.1.
[in/out] pWDDM2_0ContextFuncs
Указатель на структуру D3DWDDM2_0DDI_DEVICEFUNCS, которая драйвер отображения в пользовательском режиме заполняет таблицу функций устройства для WDDM 2.0. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
pWDDM2_1ContextFuncs
Указатель на структуру D3DWDDM2_1DDI_DEVICEFUNCS, которая драйвер отображения в пользовательском режиме заполняет таблицу функций устройства для WDDM 2.1. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
pWDDM2_2ContextFuncs
Указатель на структуру D3DWDDM2_2DDI_DEVICEFUNCS, которую драйвер отображения пользовательского режима заполняет ее таблицу функций устройства для WDDM 2.2. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
pWDDM2_6ContextFuncs
Указатель на структуру D3DWDDM2_6DDI_DEVICEFUNCS, которая драйвер отображения в пользовательском режиме заполняет таблицу функций устройства для WDDM 2.6. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения в пользовательском режиме.
[in] hDrvContext
Дескриптор контекста драйвера для хранилища частных обработчиков драйвера.
[in] hRTCoreLayer
Дескриптор, который драйвер должен использовать при обратном вызове в среду выполнения Direct3D для доступа к основным функциям Direct3D 11 (то есть, когда драйвер вызывает функции, которые указывает p11UMCallbacks член).
[in] p11UMCallbacks
Указатель на структуру D3D11DDI_CORELAYER_DEVICECALLBACKS, содержащую таблицу функций до WDDM 2.0 функций Direct3D 11 среды выполнения, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
pWDDM2_0UMCallbacks
Указатель на D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS структуру, содержащую таблицу функций WDDM 2.0 функции обратного вызова устройства уровня Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
pWDDM2_2UMCallbacks
Указатель на структуру D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS, содержащую таблицу функций WDDM 2.2 функций Direct3D 11 основных функций устройства уровня Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
pWDDM2_6UMCallbacks
Указатель на структуру D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS, содержащую таблицу функций WDDM 2.6 функций Direct3D 11 основного уровня устройства, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
[in] Flags
Допустимые побитовые значения флагов D3D10DDI_CREATEDEVICE_FLAG_XXX, определяющие, как создать устройство отрисовки. Среда выполнения Direct3D поддерживает следующие флаги:
Флаг | Значение |
---|---|
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1) | Если задано, драйвер отображения в пользовательском режиме не должен одновременно запускать несколько потоков при обработке вызовов функций из среды выполнения Direct3D. Драйвер обычно может запускать и запускать несколько потоков для обработки операций быстрее, если не задано D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION. |
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10) | Этот флаг сообщает драйверу отображения пользовательского режима, что приложение является одним потоком. Среда выполнения Direct3D версии 11 позволяет нескольким потокам приложений ввести драйвер, если драйвер разрешает этот режим работы. Однако не все приложения могут запускать несколько потоков. Если этот флаг задан, драйвер не ожидает ввода нескольких потоков и одновременного выполнения. Драйвер может избежать синхронизации, если этот флаг присутствует. |
Флаг, заданный в маске 0xE элемента Flags | Этот флаг представляет уровень 3-D конвейера, который драйвер должен поддерживать для устройства отображения. Драйвер использует следующую константу и макросы для извлечения одного из значений из перечисления D3D11DDI_3DPIPELINELEVEL, представляющего уровень конвейера 3-D для поддержки. |
Значение в элементе Flags форматируется как caps член структуры D3D11DDI_3DPIPELINESUPPORT_CAPS.
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT (0x1)
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK (0x7 << D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT)
#define D3D11DDI_EXTRACT_3DPIPELINELEVEL_FROM_FLAGS( Flags ) \
((D3D11DDI_3DPIPELINELEVEL)(((Flags) & D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK) >> \
D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT))
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 7 |
заголовка | d3d10umddi.h (include D3d10umddi.h) |
См. также
D3D11DDI_3DPIPELINESUPPORT_CAPS