Partager via


structure D3DHAL_CONTEXTCREATEDATA (d3dhal.h)

La structure D3DHAL_CONTEXTCREATEDATA contient toutes les informations dont la fonction D3dContextCreate a besoin 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 vers 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 qui est utilisée pour identifier les surfaces qui appartiennent à un contexte Direct3D donné et qui concerne uniquement 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 en tant que 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 a la valeur NULL, aucune mise en mémoire tampon de profondeur ne doit être effectuée.

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’états de rendu que le pilote doit mettre à jour lors de l’analyse des commandes d’état de rendu à partir de la mémoire tampon de commandes. La mémoire tampon du tableau doit être suffisamment grande pour contenir au moins le nombre spécifié de valeurs ULONG.

dwhContext

Spécifie un emplacement qui indique, lors de l’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 réussie du contexte. Pour plus d'informations, consultez la section Notes.

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 du runtime en mode utilisateur dans le membre dwhContext . Le tableau suivant montre un mappage des nombres et des versions en mode utilisateur.

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

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

Configuration requise

Condition requise Valeur
En-tête d3dhal.h (inclure D3dhal.h)

Voir aussi

D3dContextCreate

DD_DIRECTDRAW_LOCAL

DD_SURFACE_LOCAL