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_3DPIPELINESUPPORT_CAPS