Partager via


structure D3DHAL_CONTEXTCREATEDATA (d3dhal.h)

La structure D3DHAL_CONTEXTCREATEDATA contient toutes les informations requises par la fonction D3dContextCreate pour créer un contexte.

Syntaxe

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;

Membres

lpDDGbl

Structure de pilote (héritée).

lpDDLcl

Pointe vers l’objet DirectDraw qu’une application doit créer pour récupérer l’interface COM dans Direct3D. Cela permet de partager des informations de contexte entre une application DirectDraw et le pilote. lpDDLcl est le facteur commun et de liaison entre le contexte de l’application et le contexte du pilote. Il pointe vers une structure DD_DIRECTDRAW_LOCAL utilisée pour identifier les surfaces appartenant à un contexte Direct3D donné et qui est pertinente uniquement pour le processus DirectDraw actuel. lpDDLcl est nécessaire, car les surfaces (par exemple, les mémoires tampons de profondeur, les mémoires tampons de rendu et les textures) peuvent être créées avant la création d’un contexte Direct3D dans le pilote.

lpDDS

Surface à utiliser comme cible.

lpDDSLcl

Pointe vers une structure DD_SURFACE_LOCAL qui décrit la surface DirectDraw à utiliser comme cible de rendu.

lpDDSZ

Surface à utiliser comme Z.

lpDDSZLcl

Pointe vers une structure DD_SURFACE_LOCAL qui décrit la surface DirectDraw à utiliser comme mémoire tampon de profondeur. Si ce membre est NULL, aucune mise en mémoire tampon de profondeur n’est à effectuer.

dwPID

Spécifie l’ID de processus actuel. Il s’agit de l’ID de processus de l’application Direct3D qui a lancé la création de l’appareil Direct3D.

dwrstates

Pointe vers un tableau d’état de rendu que le pilote doit mettre à jour lorsqu’il analyse les commandes d’état de rendu à partir de la mémoire tampon de commandes. La mémoire tampon de tableau doit être suffisamment grande pour contenir au moins le nombre spécifié de valeurs ULONG.

dwhContext

Spécifie un emplacement qui indique, en entrée, la version du runtime en mode utilisateur Direct3D et, en sortie, où le pilote retourne le handle de contexte lors de la création du contexte. Pour plus d’informations, consultez les remarques.

ddrval

Spécifie l’emplacement où le pilote écrit le code de retour pour D3dContextCreate. Un code de retour de D3D_OK indique la réussite. Un code de retour de D3DHAL_OUTOFCONTEXTS indique que le pilote ne peut pas créer le contexte. Pour plus d’informations, consultez Codes de retour pour les rappels de pilotes Direct3D.

Remarques

Lorsque le runtime Direct3D appelle la fonction D3dContextCreate du pilote, le runtime spécifie un nombre qui indique la version en mode utilisateur du runtime dans le membre dwhContext. Le tableau suivant montre un mappage de nombres et de versions en mode utilisateur.

Nombre Version en mode utilisateur DirectX
5 9.0
4 8.0
3 7.0
2 6.0
1 5.0
0 3.0

Si le pilote crée un contexte, le pilote retourne l’ID de contexte dans dwhContext pour le runtime Direct3D à utiliser lors de la communication avec le pilote.

Exigences

Exigence Valeur
d’en-tête d3dhal.h (include D3dhal.h)

Voir aussi

D3dContextCreate

DD_DIRECTDRAW_LOCAL

DD_SURFACE_LOCAL