Поделиться через


структура 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, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.

pWDDM2_6UMCallbacks

Указатель на структуру D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS , содержащую таблицу функций WDDM 2.6 функций обратного вызова устройств уровня ядра Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения пользовательского режима.

[in] Flags

Допустимые побитовые ЗНАЧЕНИЯ или флага D3D10DDI_CREATEDEVICE_FLAG_XXX, определяющие способ создания устройства отрисовки. Среда выполнения Direct3D поддерживает следующие флаги:

Flag Значение
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 Этот флаг представляет уровень трехмерного конвейера, который драйвер должен поддерживать для устройства отображения. Драйвер использует следующие константы и макросы для извлечения одного из значений из перечисления D3D11DDI_3DPIPELINELEVEL , представляющих уровень трехмерного конвейера для поддержки.

Значение в элементе 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 (включая D3d10umddi.h)

См. также раздел

D3D11DDI_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS

D3D11DDI_CORELAYER_DEVICECALLBACKS

D3D11DDI_DEVICEFUNCS

D3D11_1DDI_DEVICEFUNCS