Freigeben über


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:

Bemerkungen

D3dContextCreate müssen in Treibern implementiert werden, die Microsoft Direct3D unterstützen. Sie sollte die folgenden Schritte ausführen:

  • Initialisieren Sie den Kontext des Treibers mit allen Informationen, die vom Treiber zum Rendern benötigt werden. Dies umfasst das Zuordnen des Renderziels und des Tiefenpuffers, den die lpDDSLcl und lpDDSZLcl Member der D3DHAL_CONTEXTCREATEDATA Struktur an pccd Punkt bzw. dem Kontext.
  • Generieren Sie eine eindeutige Kontext-ID für diesen neuen Kontext, und geben Sie sie im dwhContext- Mitglied von D3DHAL_CONTEXTCREATEDATA zurück. Direct3D verwendet diese Kontext-ID in jedem nachfolgenden Rückruf, der an diesem Direct3D-Gerät erfolgt. Der Treiber darf niemals ein Kontexthandle von Null erstellen.
  • Legen Sie das ddrval- Mitglied von D3DHAL_CONTEXTCREATEDATA auf erfolgsbezogene DD_OK fest und auf D3DHAL_OUTOFCONTEXTS, wenn der Kontext nicht erstellt werden kann.
  • Gibt DDHAL_DRIVER_HANDLED zurück.
D3dContextCreate sollte den Zeiger nicht auf die DD_DIRECTDRAW_LOCAL Struktur 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 Staat wird nicht zwischen Kontexten geteilt; Daher muss der Treiber vollständige Statusinformationen für jeden Kontext beibehalten. Dieser Zustand wird durch alle nachfolgenden Aufrufe von D3dDrawPrimitives2geändert.

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

D3dContextCreate kann mit deaktiviertem PDEV-aufgerufen werden. Ein PDEV ist durch Aufrufen der DrvAssertMode--Funktion des Anzeigetreibers deaktiviert oder aktiviert. Weitere Informationen finden Sie unter Managing PDEVs.

Anforderungen

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

Siehe auch

D3DHAL_CONTEXTCREATEDATA

D3dContextDestroy-

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL