Partager via


DdQueryDirectDrawObject, fonction (ddrawgdi.h)

[Cette fonction est susceptible d’être modifiée à chaque révision du système d’exploitation. Utilisez plutôt Microsoft DirectDraw et Microsoft Direct3DAPIs ; ces API isolent les applications de ces modifications du système d’exploitation et masquent de nombreuses autres difficultés liées à l’interaction directe avec les pilotes d’affichage.]

Wrapper pour la fonction NtGdiDdQueryDirectDrawObject et interroge une représentation en mode noyau créée précédemment pour les fonctionnalités.

GdiEntry2 est défini en tant qu’alias pour cette fonction.

Syntaxe

BOOL DdQueryDirectDrawObject(
  LPDDRAWI_DIRECTDRAW_GBL    pDirectDrawGlobal,
  LPDDHALINFO                pHalInfo,
  LPDDHAL_DDCALLBACKS        pDDCallbacks,
  LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
  LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
  LPD3DHAL_CALLBACKS         pD3dCallbacks,
  LPD3DHAL_GLOBALDRIVERDATA  pD3dDriverData,
  LPDDHAL_DDEXEBUFCALLBACKS  pD3dBufferCallbacks,
  LPDDSURFACEDESC            pD3dTextureFormats,
  LPDWORD                    pdwFourCC,
  LPVIDMEM                   pvmList
);

Paramètres

pDirectDrawGlobal

Pointeur vers un objet DirectDraw en mode utilisateur pour lequel un objet côté noyau a été créé précédemment avec DdCreateDirectDrawObject.

pHalInfo

Pointeur vers une structure DDHALINFO qui sera remplie avec les fonctionnalités de l’appareil. Pour plus d’informations, consultez la documentation DDK.

pDDCallbacks

Pointeur vers une table de pointeurs de rappel. Le tableau est rempli de pointeurs vers des fonctions dans Gdi32.dll qui imitent un pilote d’affichage DirectDraw. Cette table de rappel est identique à la structure DDHAL_DDCALLBACKS, qui correspond à la structure DD_CALLBACKS décrite dans la documentation du DDK.

pDDSurfaceCallbacks

Pointeur vers une table de pointeurs de rappel de surface. Le tableau est rempli de pointeurs vers des fonctions dans Gdi32.dll qui imitent un pilote d’affichage DirectDraw. Cette table de rappel est identique à la structure DDHAL_DDSURFACECALLBACKS, qui correspond à la structure DD_SURFACECALLBACKS décrite dans la documentation du DDK.

pDDPaletteCallbacks

Pointeur vers une table de pointeurs de rappel de palette. Le tableau est rempli de pointeurs vers des fonctions dans Gdi32.dll qui imitent un pilote d’affichage DirectDraw. Cette table de rappel est identique à la structure DDHAL_DDPALETTECALLBACKS, qui correspond à la structure DD_PALETTECALLBACKS décrite dans la documentation du DDK.

pD3dCallbacks

Pointeur vers une table de pointeurs de rappel Direct3D. Le tableau est rempli de pointeurs vers des fonctions dans Gdi32.dll qui imitent un pilote d’affichage Direct3D. Cette table de rappel est identique à la structure D3DHAL_CALLBACKS décrite dans la documentation DDK.

pD3dDriverData

Pointeur vers D3DHAL_GLOBALDRIVERDATA données, comme décrit dans la documentation DDK.

pD3dBufferCallbacks

Pointeur vers une table de pointeurs de rappel. Le tableau est rempli de pointeurs vers des fonctions dans Gdi32.dll qui imitent un pilote d’affichage Direct3D. Cette table de rappel est identique à la structure DDHAL_DDEXEBUFCALLBACKS, qui correspond à la structure DD_D3DBUFCALLBACKS décrite dans la documentation DDK, à ceci près que les membres XxxD3DBuffer dans DD_D3DBUFCALLBACKS sont remplacés par XxxExecuteBuffer dans DDHAL_DDEXEBUFCALLBACKS.

pD3dTextureFormats

Pointeur vers un tableau de structures DDSURFACEDESC qui définissent l’ensemble des formats de texture autorisés.

pdwFourCC

Pointeur vers une liste des formats de surface four-character Codes (FOURCC) pris en charge. Peut être NULL.

pvmList

Pointeur vers une liste de descripteurs de tas de mémoire vidéo. Peut être NULL. Ce paramètre n’est pas utilisé, car la gestion de la mémoire vidéo est entièrement gérée en mode noyau.

Valeur retournée

Si elle réussit, cette fonction retourne TRUE ; sinon, elle retourne FALSE.

Remarques

Un appel à cette fonction est conçu pour être effectué dans un processus en deux étapes. Dans la première étape, pdwFourCC, pvmList et pD3dTextureFormats doivent être NULL, et DdQueryDirectDrawObject remplira DDHALINFO. ddCaps. dwNumFourCCCodes, DDHALINFO. vmiData. dwNumHeaps et D3DHAL_GLOBALDRIVERDATA. dwNumTextureFormats avec le nombre d’entrées à retourner. Dans le deuxième appel, l’appelant doit allouer des tableaux de la taille indiquée et passer ces pointeurs au lieu des valeurs NULL dans les paramètres pdwFourCC, pvmList et pD3dTextureFormats . Les tableaux sont ensuite remplis avec les données appropriées.

Il est recommandé aux applications d’utiliser les API DirectDraw et Direct3D pour créer et gérer des objets d’appareil graphique. Ces constructions abstraites du processus de création d’appareil de manière simplifiée et indépendante du système d’exploitation.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête ddrawgdi.h

Voir aussi

Prise en charge du client de bas niveau graphique