Share via


PDD_CANCREATESURFACE fonction de rappel (ddrawint.h)

La fonction de rappel CanCreateD3DBuffer détermine si le pilote peut créer une commande au niveau du pilote ou une mémoire tampon de vertex de la description spécifiée.

Syntaxe

PDD_CANCREATESURFACE PddCancreatesurface;

DWORD PddCancreatesurface(
  PDD_CANCREATESURFACEDATA unnamedParam1
)
{...}

Paramètres

unnamedParam1

Pointe vers une structure DD_CANCREATESURFACEDATA . Cette structure contient les informations requises pour que le pilote détermine si une mémoire tampon de commande ou de vertex peut être créée.

Valeur retournée

CanCreateD3DBuffer retourne un code de rappel.

Remarques

Ce rappel est utilisé uniquement si le pilote gère les mémoires tampons de commande et de vertex au niveau du pilote.

CanCreateD3DBuffer doit case activée la description de la surface vers laquelle pointe le membre lpDDSurfaceDesc de la structure DD_CANCREATESURFACEDATA à lpCanCreateD3DBuffer afin de déterminer si le pilote peut prendre en charge le format et les fonctionnalités de la mémoire tampon demandée pour le mode dans lequel le pilote se trouve actuellement. Le pilote doit retourner DD_OK dans le membre ddRVal de la même structure s’il prend en charge ce type de mémoire tampon. Sinon, il doit retourner le code d’erreur DDERR_Xxx qui décrit le mieux pourquoi il ne prend pas en charge la mémoire tampon.

Cet appel a le même prototype que DdCanCreateSurface. Toutefois, le rappel CanCreateD3DBuffer est utilisé lorsque l’indicateur DDSCAPS_EXECUTEBUFFER est défini sur la surface en question dans le membre ddsCaps de la structure DD_SURFACE_LOCAL .

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.
 
Note Si aucun indicateur n’est défini, le pilote doit allouer une mémoire tampon de vertex implicite. Les mémoires tampons de vertex implicites ne doivent pas être placées dans la mémoire vidéo, car elles sont censées être en lecture/écriture. Seules les mémoires tampons de vertex explicites dont l’indicateur DDSCAPS_WRITEONLY est défini peuvent être placées en toute sécurité dans la mémoire vidéo.
 

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête ddrawint.h (incluez Winddi.h)

Voir aussi

CreateD3DBuffer

DD_CANCREATESURFACEDATA

DD_SURFACE_LOCAL

DdCanCreateSurface