Partager via


structure DD_D3DBUFCALLBACKS (ddrawint.h)

La structure DD_D3DBUFCALLBACKS est utilisée uniquement par les pilotes qui implémentent l’allocation au niveau du pilote des mémoires tampons de commande et de vertex.

Syntaxe

typedef struct _DD_D3DBUFCALLBACKS {
  DWORD                     dwSize;
  DWORD                     dwFlags;
  PDD_CANCREATESURFACE      CanCreateD3DBuffer;
  PDD_CREATESURFACE         CreateD3DBuffer;
  PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
  PDD_SURFCB_LOCK           LockD3DBuffer;
  PDD_SURFCB_UNLOCK         UnlockD3DBuffer;
} DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS;

Membres

dwSize

Spécifie la taille en octets de cette structure DD_D3DBUFCALLBACKS.

dwFlags

Réservé.

CanCreateD3DBuffer

Pointe vers le rappel CanCreateD3DBuffer du pilote.

CreateD3DBuffer

Pointe vers le rappel CreateD3DBuffer du pilote.

DestroyD3DBuffer

Pointe vers le rappel DestroyD3DBuffer du pilote.

LockD3DBuffer

Pointe vers le rappel LockD3DBuffer du pilote.

UnlockD3DBuffer

Pointe vers le rappel UnlockD3DBuffer du pilote.

Notes

Les pilotes qui gèrent leurs propres mémoires tampons de commande et de vertex doivent remplir une structure DD_D3DBUFCALLBACKS et pointer le membre lpD3DBufCallbacks de DD_HALINFO vers celle-ci.

Le pilote doit également prendre en charge les fonctions de rappel signalées dans la structure DD_D3DBUFCALLBACKS. Ces rappels XxxD3DBuffer sont tous analogues au rappel DdXxxSurface de nom similaire ; ils ont les mêmes prototypes et sont appelés avec les mêmes paramètres d’entrée. Ces nouveaux rappels sont appelés uniquement lorsque la surface en question a l’indicateur DDSCAPS_EXECUTEBUFFER défini dans les embouts de surface. 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 passée à CanCreateD3DBuffer et CreateD3DBuffer pour les indicateurs suivants :

  • DDSCAPS_VERTEXBUFFER

    Indique que le pilote doit allouer une mémoire tampon de vertex explicite.

  • DDSCAPS_COMMANDBUFFER

    Indique que le pilote doit allouer une mémoire tampon de commandes.

  • L’absence de ces deux indicateurs

    Indique que le pilote doit allouer une mémoire tampon de vertex implicite.

Les tampons de vertex implicites ne doivent pas être placés dans la mémoire vidéo, car ils sont censés être en lecture/écriture. Seules les mémoires tampons de vertex explicites avec l’indicateur de DDSCAPS_WRITEONLY peuvent être placées en toute sécurité dans la mémoire vidéo.

Spécifications

   
En-tête ddrawint.h (inclure Winddi.h)

Voir aussi

CanCreateD3DBuffer

CreateD3DBuffer

DD_HALINFO

DD_SURFACE_LOCAL

DestroyD3DBuffer

LockD3DBuffer

UnlockD3DBuffer