LPD3DHAL_CONTEXTCREATECB Rückruffunktion (d3dhal.h)

Die D3dContextCreate-Funktion erstellt einen Kontext.

Syntax

LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;

DWORD Lpd3dhalContextcreatecb(
  LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}

Parameter

unnamedParam1

pccd [in]

Verweist auf eine D3DHAL_CONTEXTCREATEDATA Struktur, die die zum Erstellen eines Kontexts erforderlichen Informationen und die Daten enthält, die der Treiber im neuen Kontext speichern soll.

Rückgabewert

D3dContextCreate gibt einen der folgenden Rückrufcodes zurück:

Hinweise

D3dContextCreate muss in Treibern implementiert werden, die Microsoft Direct3D unterstützen. Es sollten die folgenden Schritte ausgeführt werden:

  • Initialisieren Sie den Kontext des Treibers mit allen Informationen, die der Treiber zum Rendern benötigt. Dies schließt das Zuordnen des Renderingziels und des Tiefenpuffers ein, den die Elemente lpDDSLcl und lpDDSZLcl der D3DHAL_CONTEXTCREATEDATA Struktur am pccd-Punkt jeweils dem Kontext zuordnen.
  • Generieren Sie eine eindeutige Kontext-ID für diesen neuen Kontext, und geben Sie sie im dwhContext-Member von D3DHAL_CONTEXTCREATEDATA zurück. Direct3D verwendet diese Kontext-ID bei jedem nachfolgenden Rückruf für dieses Direct3D-Gerät. Der Treiber darf niemals ein Kontexthandle von 0 erstellen.
  • Legen Sie den ddrval-Member von D3DHAL_CONTEXTCREATEDATA bei Erfolg auf DD_OK und auf D3DHAL_OUTOFCONTEXTS fest, wenn der Kontext nicht erstellt werden kann.
  • Gibt DDHAL_DRIVER_HANDLED zurück.
D3dContextCreate sollte den Zeiger auf die DD_DIRECTDRAW_LOCAL-Struktur nicht zwischenspeichern, die als lpDDLcl-Member von D3DHAL_CONTEXTCREATEDATA übergeben wurde. Wenn der Treiber anschließend Informationen benötigt, auf die über diesen DD_DIRECTDRAW_LOCAL-Zeiger zugegriffen wird, sollte der Treiber die Informationen in der privaten Kontextdatenstruktur des Treibers speichern.

Der Zustand wird nicht zwischen Kontexten geteilt; Daher muss der Treiber vollständige Zustandsinformationen für jeden Kontext beibehalten. Dieser Zustand wird durch nachfolgende Aufrufe von D3dDrawPrimitives2 geändert.

Der Treiber muss in der Lage sein, auf alle Texturhandles zu verweisen, die in einem Kontext erstellt werden. Der Treiber kann dann alle treiberspezifischen Daten im Zusammenhang mit Texturen sauber, die in diesem Kontext erstellt wurden, wenn ein D3dContextDestroy-Aufruf erfolgt.

D3dContextCreate kann mit einem deaktivierten PDEV aufgerufen werden. Ein PDEV wird durch Aufrufen der DrvAssertMode-Funktion des Anzeigetreibers deaktiviert oder aktiviert. Weitere Informationen finden Sie unter Verwalten von PDEVs .

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile d3dhal.h (einschließlich D3dhal.h)

Weitere Informationen

D3DHAL_CONTEXTCREATEDATA

D3dContextDestroy

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL