struttura D3DHAL_CONTEXTCREATEDATA (d3dhal.h)

La struttura D3DHAL_CONTEXTCREATEDATA contiene tutte le informazioni richieste dalla funzione D3dContextCreate per creare un nuovo contesto.

Sintassi

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;

Members

lpDDGbl

Struttura del driver (legacy).

lpDDLcl

Punta all'oggetto DirectDraw che un'applicazione deve creare per recuperare l'interfaccia COM in Direct3D. In questo modo è possibile condividere le informazioni di contesto tra un'applicazione DirectDraw e il driver. lpDDLcl è il fattore comune e di associazione tra il contesto dell'applicazione e il contesto del driver. Punta a una struttura DD_DIRECTDRAW_LOCAL usata per identificare le superfici che appartengono a un determinato contesto Direct3D ed è rilevante solo per il processo DirectDraw corrente. LpDDLcl è necessario perché le superfici (ad esempio, buffer di profondità, buffer di rendering e trame) possono essere create prima che venga creato un contesto Direct3D nel driver.

lpDDS

Superficie da usare come destinazione.

lpDDSLcl

Punta a una struttura DD_SURFACE_LOCAL che descrive la superficie DirectDraw da usare come destinazione di rendering.

lpDDSZ

Superficie da usare come Z.

lpDDSZLcl

Punta a una struttura DD_SURFACE_LOCAL che descrive la superficie DirectDraw da usare come buffer di profondità. Se questo membro è NULL, non deve essere eseguito alcun buffer di profondità.

dwPID

Specifica l'ID del processo corrente. Questo è l'ID processo dell'applicazione Direct3D che ha avviato la creazione del dispositivo Direct3D.

dwrstates

Punta a una matrice di stato di rendering che il driver deve aggiornare quando analizza i comandi di stato di rendering dal buffer dei comandi. Il buffer della matrice deve essere sufficientemente grande da contenere almeno il numero specificato di valori ULONG.

dwhContext

Specifica un percorso che indica, all'input, la versione del runtime in modalità utente Direct3D e, nell'output, in cui il driver restituisce l'handle di contesto al momento della corretta creazione del contesto. Per ulteriori informazioni, vedere la sezione Osservazioni.

ddrval

Specifica il percorso in cui il driver scrive il codice restituito per D3dContextCreate. Un codice restituito di D3D_OK indica l'esito positivo. Un codice restituito di D3DHAL_OUTOFCONTEXTS indica che il driver non può creare il contesto. Per altre informazioni, vedere Codici restituiti per i callback del driver Direct3D.

Commenti

Quando il runtime Direct3D chiama la funzione D3dContextCreate del driver, il runtime specifica un numero che indica la versione in modalità utente del runtime nel membro dwhContext . La tabella seguente illustra un mapping di numeri e versioni in modalità utente.

Numero Versione in modalità utente DirectX
5 9.0
4 8.0
3 7.0
2 6.0
1 5.0
0 3,0

Se il driver crea correttamente un contesto, il driver restituisce l'ID contesto in dwhContext per il runtime Direct3D da usare durante la comunicazione con il driver.

Requisiti

Requisito Valore
Intestazione d3dhal.h (include D3dhal.h)

Vedi anche

D3dContextCreate

DD_DIRECTDRAW_LOCAL

DD_SURFACE_LOCAL