Partager via


LPD3DHAL_CONTEXTCREATECB fonction de rappel (d3dhal.h)

La fonction D3dContextCreate crée un contexte.

Syntaxe

LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;

DWORD Lpd3dhalContextcreatecb(
  LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}

Paramètres

unnamedParam1

pccd [in]

Pointe vers une structure D3DHAL_CONTEXTCREATEDATA qui contient les informations requises pour créer un contexte et les données que le pilote doit stocker dans le nouveau contexte.

Valeur retournée

D3dContextCreate retourne l’un des codes de rappel suivants :

Remarques

D3dContextCreate doit être implémenté dans les pilotes qui prennent en charge Microsoft Direct3D. Il doit effectuer les étapes suivantes :

  • Initialisez le contexte du pilote avec toutes les informations requises par le pilote pour effectuer le rendu. Cela inclut l’association de la cible de rendu et de la mémoire tampon de profondeur auxquelles les membres lpDDSLcl et lpDDSZLcl de la structure D3DHAL_CONTEXTCREATEDATA au point pccd , respectivement, avec le contexte.
  • Générez un ID de contexte unique pour ce nouveau contexte et retournez-le dans le membre dwhContext de D3DHAL_CONTEXTCREATEDATA. Direct3D utilise cet ID de contexte dans chaque rappel ultérieur qu’il effectue à cet appareil Direct3D. Le pilote ne doit jamais créer un handle de contexte de zéro.
  • Définissez le membre ddrval de D3DHAL_CONTEXTCREATEDATA sur DD_OK en cas de réussite et sur D3DHAL_OUTOFCONTEXTS s’il ne peut pas créer le contexte.
  • Retourne DDHAL_DRIVER_HANDLED.
D3dContextCreate ne doit pas mettre en cache le pointeur vers la structure DD_DIRECTDRAW_LOCAL passée en tant que membre lpDDLcl de D3DHAL_CONTEXTCREATEDATA. Si le pilote nécessite par la suite des informations accessibles via ce pointeur de DD_DIRECTDRAW_LOCAL, le pilote doit stocker les informations dans la structure de données de contexte privé du pilote.

L’état n’est pas partagé entre les contextes ; Par conséquent, le pilote doit conserver des informations d’état complètes pour chaque contexte. Cet état est modifié par tous les appels ultérieurs à D3dDrawPrimitives2.

Le pilote doit être en mesure de référencer tous les handles de texture créés dans un contexte. Le pilote peut ensuite propre toutes les données spécifiques au pilote liées aux textures créées dans ce contexte lorsqu’un appel D3dContextDestroy est effectué.

D3dContextCreate peut être appelé avec un PDEV désactivé. Un PDEV est désactivé ou activé en appelant la fonction DrvAssertMode du pilote d’affichage. Pour plus d’informations, consultez Gestion des PDEV .

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dhal.h (inclure D3dhal.h)

Voir aussi

D3DHAL_CONTEXTCREATEDATA

D3dContextDestroy

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL