PDD_CREATESURFACE fonction de rappel (ddrawint.h)
La fonction de rappel CreateD3DBuffer est utilisée pour créer une commande au niveau du pilote ou une mémoire tampon de vertex de la description spécifiée.
Syntaxe
PDD_CREATESURFACE PddCreatesurface;
DWORD PddCreatesurface(
PDD_CREATESURFACEDATA unnamedParam1
)
{...}
Paramètres
unnamedParam1
Pointe vers une structure DD_CREATESURFACEDATA qui contient les informations requises pour créer la mémoire tampon.
Valeur retournée
CreateD3DBuffer retourne l’un des codes de rappel suivants :
Remarques
Ce rappel est utilisé uniquement si le pilote gère les mémoires tampons de commande et de vertex au niveau du pilote.
Par défaut, le pilote n’est pas averti lorsqu’une surface principale est créée sur Windows 2000 et versions ultérieures. Toutefois, si le pilote prend en charge le GUID GUID_NTPrivateDriverCaps dans un appel DdGetDriverInfo et que l’indicateur DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION est défini dans le membre dwPrivateCaps de la structure DD_NTPRIVATEDRIVERCAPS , le pilote est averti.
Le pitch doit être retourné dans le membre lPitch des structures DD_SURFACE_GLOBAL et DDSURFACEDESC . Pour la mémoire linéaire, le pilote doit définir dwBlockSizeX sur la taille, en octets, de la région de mémoire et définir dwBlockSizeY sur 1. Les deux sont membres de la structure DD_SURFACE_GLOBAL.
Cet appel a le même prototype que DdCreateSurface. Le rappel CreateD3DBuffer est utilisé à la place lorsque la surface en question a l’indicateur DDSCAPS_EXECUTEBUFFER défini dans le membre ddsCaps de la structure DD_SURFACE_LOCAL . Les indicateurs de création de mémoire tampon sont DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER et DDSCAPS2_COMMANDBUFFER.
Le pilote détermine le type de mémoire tampon demandée en vérifiant le membre ddsCaps de la structure DD_SURFACE_LOCAL pour les indicateurs suivants :
Indicateur | Signification |
---|---|
DDSCAPS2_COMMANDBUFFER | Le pilote doit allouer une mémoire tampon de commandes. |
DDSCAPS2_VERTEXBUFFER | Le pilote doit allouer une mémoire tampon de vertex explicite. |
Le pilote peut également demander à DirectDraw d’allouer la mémoire tampon en retournant l’une des valeurs suivantes dans fpVidMem :
Valeur | Signification |
---|---|
DDHAL_PLEASEALLOC_BLOCKSIZE | DirectDraw doit allouer la mémoire tampon à partir de la mémoire hors écran. |
DDHAL_PLEASEALLOC_USERMEM | DirectDraw doit allouer la mémoire tampon à partir de la mémoire utilisateur. Le pilote doit également retourner la taille, en octets, de la région de mémoire dans dwUserMemSize. |
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ddrawint.h (incluez Winddi.h) |