Condividi tramite


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 che contiene 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:

Osservazioni

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

  • Inizializzare il contesto del driver con tutte le informazioni richieste dal driver per eseguire il rendering. Ciò include l'associazione della destinazione di rendering e del buffer di profondità che il lpDDSLcl e lpDDSZLcl membri della struttura D3DHAL_CONTEXTCREATEDATA rispettivamente a pccd puntano al contesto.
  • Generare un ID contesto univoco per questo nuovo contesto e restituirlo nel membro dwhContext di D3DHAL_CONTEXTCREATEDATA. Direct3D usa questo ID di contesto in ogni callback successivo che effettua a questo dispositivo Direct3D. Il driver non deve mai creare un handle di contesto pari a zero.
  • Impostare il ddrval membro di D3DHAL_CONTEXTCREATEDATA su DD_OK in caso di esito positivo e su D3DHAL_OUTOFCONTEXTS se non è in grado di creare il contesto.
  • Restituisce 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 a cui si accede 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 le informazioni sullo stato completo per ogni contesto. Questo stato viene modificato da qualsiasi chiamata successiva 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 effettuata una chiamata D3dContextDestroy.

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione d3dhal.h (include D3dhal.h)

Vedere anche

D3DHAL_CONTEXTCREATEDATA

D3dContextDestroy

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL