D3DHAL_CONTEXTCREATEDATA Struktur (d3dhal.h)
Die D3DHAL_CONTEXTCREATEDATA-Struktur enthält alle Informationen, die die D3dContextCreate-Funktion zum Erstellen eines neuen Kontexts benötigt.
Syntax
typedef struct _D3DHAL_CONTEXTCREATEDATA {
union {
LPDDRAWI_DIRECTDRAW_GBL lpDDGbl;
LPDDRAWI_DIRECTDRAW_LCL lpDDLcl;
};
union {
LPDIRECTDRAWSURFACE lpDDS;
LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
};
union {
LPDIRECTDRAWSURFACE lpDDSZ;
LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
};
union {
DWORD dwPID;
ULONG_PTR dwrstates;
};
ULONG_PTR dwhContext;
HRESULT ddrval;
} D3DHAL_CONTEXTCREATEDATA;
Member
lpDDGbl
Treiberstruktur (Legacy).
lpDDLcl
Verweist auf das DirectDraw-Objekt, das eine Anwendung erstellen muss, um die COM-Schnittstelle in Direct3D abzurufen. Dadurch können Kontextinformationen zwischen einer DirectDraw-Anwendung und dem Treiber gemeinsam genutzt werden. lpDDLcl ist der gemeinsame Und Bindungsfaktor zwischen dem Kontext der Anwendung und dem Treiberkontext. Sie verweist auf eine DD_DIRECTDRAW_LOCAL Struktur, die verwendet wird, um die Oberflächen zu identifizieren, die zu einem bestimmten Direct3D-Kontext gehören und nur für den aktuellen DirectDraw-Prozess relevant sind. lpDDLcl ist erforderlich, da Oberflächen (z. B. Tiefenpuffer, Renderingpuffer und Texturen) erstellt werden können, bevor ein Direct3D-Kontext im Treiber erstellt wird.
lpDDS
Surface, das als Ziel verwendet werden soll.
lpDDSLcl
Verweist auf eine DD_SURFACE_LOCAL-Struktur , die die DirectDraw-Oberfläche beschreibt, die als Renderingziel verwendet werden soll.
lpDDSZ
Surface, das als Z verwendet werden soll.
lpDDSZLcl
Verweist auf eine DD_SURFACE_LOCAL Struktur, die die DirectDraw-Oberfläche beschreibt, die als Tiefenpuffer verwendet werden soll. Wenn dieser Member NULL ist, wird keine Tiefenpufferung ausgeführt.
dwPID
Gibt die aktuelle Prozess-ID an. Dies ist die Prozess-ID der Direct3D-Anwendung, die die Erstellung des Direct3D-Geräts initiiert hat.
dwrstates
Verweist auf ein Renderzustandsarray, das der Treiber aktualisieren soll, wenn er Renderzustandsbefehle aus dem Befehlspuffer analysiert. Der Arraypuffer muss groß genug sein, um mindestens die angegebene Anzahl von ULONG-Werten zu enthalten.
dwhContext
Gibt einen Speicherort an, der bei der Eingabe die Version der Direct3D-Benutzermoduslaufzeit angibt und bei der Ausgabe, an der der Treiber nach erfolgreicher Erstellung des Kontexts das Kontexthandle zurückgibt. Weitere Informationen finden Sie unter Hinweise.
ddrval
Gibt den Speicherort an, an dem der Treiber den Rückgabecode für D3dContextCreate schreibt. Ein Rückgabecode von D3D_OK gibt den Erfolg an. Ein Rückgabecode von D3DHAL_OUTOFCONTEXTS gibt an, dass der Treiber den Kontext nicht erstellen kann. Weitere Informationen finden Sie unter Rückgabecodes für Direct3D-Treiberrückrufe.
Hinweise
Wenn die Direct3D-Runtime die D3dContextCreate-Funktion des Treibers aufruft, gibt die Runtime eine Zahl an, die die Benutzermodusversion der Laufzeit im dwhContext-Member angibt. Die folgende Tabelle zeigt eine Zuordnung von Zahlen und Benutzermodusversionen.
Number | Version des DirectX-Benutzermodus |
---|---|
5 | 9.0 |
4 | 8.0 |
3 | 7.0 |
2 | 6.0 |
1 | 5.0 |
0 | 3.0 |
Wenn der Treiber erfolgreich einen Kontext erstellt, gibt der Treiber die Kontext-ID in dwhContext für die Direct3D-Runtime zurück, die bei der Kommunikation mit dem Treiber verwendet werden soll.
Anforderungen
Anforderung | Wert |
---|---|
Header | d3dhal.h (include D3dhal.h) |