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 |