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

ドライバーが 主要なユーザー モード ランタイム機能にアクセスするために使用できる Direct3D 11 ランタイム コールバック関数の WDDM 2.0 より前の関数テーブルを含むD3D11DDI_CORELAYER_DEVICECALLBACKS構造体へのポインター。

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

レンダリング デバイスの作成方法を識別するD3D10DDI_CREATEDEVICE_FLAG_XXX フラグ値の有効なビットごとの OR。 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 マスクに設定されているフラグ このフラグは、ドライバーがディスプレイ デバイスに対してサポートする必要がある 3-D パイプラインのレベルを表します。 ドライバーは、次の定数とマクロを使用して、サポートする 3-D パイプライン レベルを表す D3D11DDI_3DPIPELINELEVEL 列挙から値の 1 つを抽出します。

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
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D11DDI_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS

D3D11DDI_CORELAYER_DEVICECALLBACKS

D3D11DDI_DEVICEFUNCS

D3D11_1DDI_DEVICEFUNCS