D3D11DDIARG_CREATEDEFERREDCONTEXT-Struktur (d3d10umddi.h)

Die D3D11DDIARG_CREATEDEFERREDCONTEXT-Struktur beschreibt den zu erstellenden verzögerten Kontext.

Syntax

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;

Member

[in/out] p11ContextFuncs

Ein Zeiger auf eine D3D11DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber mit einer Tabelle seiner Funktionen für den verzögerten Kontext auffüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

Eine Liste der Funktionen, die nicht für verzögerte Kontexte genutzt werden, finden Sie unter Ausschließen von DDI-Funktionen für verzögerte Kontexte.

[in/out] p11_1ContextFuncs

Ein Zeiger auf eine D3D11_1DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber mit einer Tabelle seiner Funktionen für den verzögerten Kontext auffüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

Unterstützt ab Windows 8.

[in/out] pWDDM1_3ContextFuncs

Ein Zeiger auf eine D3DWDDM1_3DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber mit einer Tabelle seiner Funktionen für den verzögerten Kontext auffüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

Unterstützt ab Windows 8.1.

[in/out] pWDDM2_0ContextFuncs

Zeiger auf eine D3DWDDM2_0DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber seine Gerätefunktionstabelle für WDDM 2.0 ausfüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

pWDDM2_1ContextFuncs

Zeiger auf eine D3DWDDM2_1DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber seine Gerätefunktionstabelle für WDDM 2.1 ausfüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

pWDDM2_2ContextFuncs

Zeiger auf eine D3DWDDM2_2DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber seine Gerätefunktionstabelle für WDDM 2.2 ausfüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

pWDDM2_6ContextFuncs

Zeiger auf eine D3DWDDM2_6DDI_DEVICEFUNCS Struktur, die der Benutzermodusanzeigetreiber seine Gerätefunktionstabelle für WDDM 2.6 ausfüllt. Die Direct3D-Runtime verwendet diese Funktionen, um mit dem Benutzermodus-Anzeigetreiber zu kommunizieren.

[in] hDrvContext

Ein Handle für den Treiberkontext für den treiberprivaten Handle-Speicher.

[in] hRTCoreLayer

Ein Handle, das der Treiber verwenden sollte, wenn er die Direct3D-Runtime zurückruft, um auf die Direct3D 11-Kernfunktionalität zuzugreifen (d. a. wenn der Treiber Funktionen aufruft, die der p11UMCallbacks-Member angibt).

[in] p11UMCallbacks

Ein Zeiger auf eine D3D11DDI_CORELAYER_DEVICECALLBACKS-Struktur , die die Vor-WDDM 2.0-Funktionstabelle von Direct3D 11-Runtimerückruffunktionen enthält, die der Treiber für den Zugriff auf kernige Benutzermoduslaufzeitfunktionen verwenden kann.

pWDDM2_0UMCallbacks

Zeiger auf eine D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS-Struktur , die die WDDM 2.0-Funktionstabelle der Direct3D 11-Geräterückruffunktionen auf Der Kernebene enthält, die der Treiber für den Zugriff auf die Kernfunktionalität der Benutzermoduslaufzeit verwenden kann.

pWDDM2_2UMCallbacks

Zeiger auf eine D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS-Struktur , die die WDDM 2.2-Funktionstabelle der Geräterückruffunktionen auf Direct3D 11-Kernebene enthält, die der Treiber für den Zugriff auf die Kernfunktionalität der Benutzermoduslaufzeit verwenden kann.

pWDDM2_6UMCallbacks

Zeiger auf eine D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS-Struktur , die die WDDM 2.6-Funktionstabelle von Direct3D 11-Kernebenen-Geräterückruffunktionen enthält, die der Treiber für den Zugriff auf die Kernbenutzermoduslaufzeitfunktionen verwenden kann.

[in] Flags

Ein gültiges bitweises OR mit D3D10DDI_CREATEDEVICE_FLAG_XXX-Flagwerten , die angeben, wie ein Renderinggerät erstellt wird. Die Direct3D-Runtime unterstützt die folgenden Flags:

Flag Bedeutung
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1) Wenn festgelegt, sollte der Anzeigetreiber im Benutzermodus nicht mehrere Threads gleichzeitig ausführen, wenn er Aufrufe seiner Funktionen aus der Direct3D-Runtime verarbeitet. Ein Treiber kann in der Regel mehrere Threads starten und ausführen, um Vorgänge schneller zu verarbeiten, es sei denn, D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION festgelegt ist.
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10) Dieses Flag informiert den Anzeigetreiber im Benutzermodus darüber, dass die Anwendung single threaded ist. Die Direct3D-Runtime, Version 11, ermöglicht es mehreren Anwendungsthreads, in den Treiber zu gelangen, wenn der Treiber diesen Betriebsmodus zulässt. Allerdings können nicht alle Anwendungen mehrere Threads ausführen. Wenn dieses Flag festgelegt ist, erwartet der Treiber nicht, dass mehrere Threads es gleichzeitig eingeben und ausgeführt werden. Der Treiber kann eine Synchronisierung vermeiden, wenn dieses Flag vorhanden ist.
Das Flag, das in der 0xE-Maske des Flags-Elements festgelegt ist Dieses Flag stellt die Ebene der 3D-Pipeline dar, die der Treiber für das Anzeigegerät unterstützen soll. Der Treiber verwendet die folgenden Konstanten und Makros, um einen der Werte aus der D3D11DDI_3DPIPELINELEVEL-Enumeration zu extrahieren, die die zu unterstützende 3D-Pipelineebene darstellen.

Der Wert im Flags-Element ist wie der Caps-Member der D3D11DDI_3DPIPELINESUPPORT_CAPS-Struktur formatiert.

#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))

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

D3D11DDI_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS

D3D11DDI_CORELAYER_DEVICECALLBACKS

D3D11DDI_DEVICEFUNCS

D3D11_1DDI_DEVICEFUNCS