LPD3DHAL_CONTEXTCREATECB funzione di callback (d3dhal.h)

La funzione D3dContextCreate crea un contesto.

Sintassi

LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;

DWORD Lpd3dhalContextcreatecb(
  LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}

Parametri

unnamedParam1

pccd [in]

Punta a una struttura D3DHAL_CONTEXTCREATEDATA contenente le informazioni necessarie per creare un contesto e i dati che il driver deve archiviare nel nuovo contesto.

Valore restituito

D3dContextCreate restituisce uno dei codici di callback seguenti:

Commenti

D3dContextCreate deve essere implementato nei driver che supportano Microsoft Direct3D. È consigliabile eseguire i passaggi seguenti:

  • Inizializzare il contesto del driver con tutte le informazioni necessarie dal driver per eseguire il rendering. Ciò include l'associazione della destinazione di rendering e del buffer di profondità a cui i membri lpDDSLcl e lpDDSZLcl della struttura di D3DHAL_CONTEXTCREATEDATA in corrispondenza del punto pccd sono rispettivamente con il contesto.
  • Generare un ID contesto univoco per questo nuovo contesto e restituirlo nel membro dwhContext di D3DHAL_CONTEXTCREATEDATA. Direct3D usa questo ID contesto in ogni callback successivo che esegue nel dispositivo Direct3D. Il driver non deve mai creare un handle di contesto pari a zero.
  • Impostare il membro ddrval di D3DHAL_CONTEXTCREATEDATA su DD_OK al successo e su D3DHAL_OUTOFCONTEXTS se non è in grado di creare il contesto.
  • Restituire DDHAL_DRIVER_HANDLED.
D3dContextCreate non deve memorizzare nella cache il puntatore alla struttura DD_DIRECTDRAW_LOCAL passata come membro lpDDLcl di D3DHAL_CONTEXTCREATEDATA. Se successivamente il driver richiede informazioni accessibili tramite questo puntatore DD_DIRECTDRAW_LOCAL, il driver deve archiviare le informazioni nella struttura dei dati del contesto privato del driver.

Lo stato non è condiviso tra contesti; pertanto, il driver deve mantenere informazioni sullo stato complete per ogni contesto. Questo stato viene modificato da tutte le chiamate successive a D3dDrawPrimitives2.

Il driver deve essere in grado di fare riferimento a tutti gli handle di trama creati all'interno di un contesto. Il driver può quindi pulire tutti i dati specifici del driver correlati alle trame create all'interno di questo contesto quando viene eseguita una chiamata D3dContextDestroy .

D3dContextCreate può essere chiamato con un PDEV disabilitato. Un PDEV è disabilitato o abilitato chiamando la funzione DrvAssertMode del driver visualizzato. Per altre informazioni, vedere Gestione di PDEV .

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione d3dhal.h (include D3dhal.h)

Vedi anche

D3DHAL_CONTEXTCREATEDATA

D3dContextDestroy

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL