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

使用者模式顯示驅動程式填滿 WDDM 2.0 裝置函式數據表 的D3DWDDM2_0DDI_DEVICEFUNCS 結構指標。 Direct3D 執行時間會使用這些函式來與使用者模式顯示驅動程序通訊。

pWDDM2_1ContextFuncs

使用者模式顯示驅動程式填滿 WDDM 2.1 裝置函式數據表 的D3DWDDM2_1DDI_DEVICEFUNCS 結構指標。 Direct3D 執行時間會使用這些函式來與使用者模式顯示驅動程序通訊。

pWDDM2_2ContextFuncs

使用者模式顯示驅動程式針對WDDM 2.2 填滿其裝置函式數據表 的D3DWDDM2_2DDI_DEVICEFUNCS 結構指標。 Direct3D 執行時間會使用這些函式來與使用者模式顯示驅動程序通訊。

pWDDM2_6ContextFuncs

使用者模式顯示驅動程式填滿 WDDM 2.6 裝置函式數據表 的D3DWDDM2_6DDI_DEVICEFUNCS 結構指標。 Direct3D 執行時間會使用這些函式來與使用者模式顯示驅動程序通訊。

[in] hDrvContext

驅動程式私人句柄記憶體的驅動程序內容句柄。

[in] hRTCoreLayer

驅動程式在呼叫 Direct3D 運行時間時應該使用的句柄,以存取核心 Direct3D 11 功能 (,也就是當驅動程式呼叫 p11UMCallbacks 成員指定) 的函式時。

[in] p11UMCallbacks

D3D11DDI_CORELAYER_DEVICECALLBACKS 結構的指標,其中包含驅動程式可用來存取核心使用者模式運行時間功能之 Direct3D 11 執行時間回呼函式的 WDDM 2.0 函式數據表。

pWDDM2_0UMCallbacks

包含 Direct3D 11 核心層裝置回呼函式的 WDDM 2.0 函式數據表的 D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS 結構指標,驅動程式可用來存取核心使用者模式運行時間功能。

pWDDM2_2UMCallbacks

包含 Direct3D 11 核心層裝置回呼函式的 WDDM 2.2 函式數據表的 D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS 結構指標,驅動程式可用來存取核心使用者模式運行時間功能。

pWDDM2_6UMCallbacks

包含 Direct3D 11 核心層裝置回呼函式的 WDDM 2.6 函式數據表的 D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS 結構指標,驅動程式可用來存取核心使用者模式運行時間功能。

[in] Flags

識別如何建立轉譯裝置的有效位 OR 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 版運行時間可讓多個應用程式線程進入驅動程式。 不過,並非所有應用程式都可以執行多個線程。 如果已設定此旗標,驅動程式將不會預期有多個線程輸入並同時執行。 如果此旗標存在,驅動程式可以避免同步處理。
在 Flags 成員的0xE遮罩中設定的旗標 此旗標代表驅動程式應該支持顯示裝置的 3D 管線層級。 驅動程式會使用下列常數和宏,從代表支援 3D 管線層級的 D3D11DDI_3DPIPELINELEVEL 列舉中擷取其中一個值。

Flags 成員中的值的格式會像D3D11DDI_3DPIPELINESUPPORT_CAPS結構的 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_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS

D3D11DDI_CORELAYER_DEVICECALLBACKS

D3D11DDI_DEVICEFUNCS

D3D11_1DDI_DEVICEFUNCS