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) |