Compartir a través de


estructura DD_D3DBUFCALLBACKS (ddrawint.h)

Los controladores que implementan la asignación de nivel de controlador de los búferes de comandos y vértices usan la estructura DD_D3DBUFCALLBACKS.

Sintaxis

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;

Miembros

dwSize

Especifica el tamaño en bytes de esta estructura de DD_D3DBUFCALLBACKS.

dwFlags

Reservado.

CanCreateD3DBuffer

Apunta a la devolución de llamada CanCreateD3DBuffer del controlador.

CreateD3DBuffer

Apunta a la devolución de llamada CreateD3DBuffer del controlador.

DestroyD3DBuffer

Apunta a la devolución de llamada DestroyD3DBuffer del controlador.

LockD3DBuffer

Apunta a la devolución de llamada LockD3DBuffer del controlador.

UnlockD3DBuffer

Apunta a la devolución de llamada UnlockD3DBuffer del controlador.

Comentarios

Los controladores que administran sus propios búferes de comandos y vértices deben rellenar una estructura de DD_D3DBUFCALLBACKS y apuntar al miembro lpD3DBufCallbacks de DD_HALINFO .

El controlador también debe admitir las funciones de devolución de llamada notificadas en la estructura de DD_D3DBUFCALLBACKS. Estas devoluciones de llamada XxxD3DBuffer son análogas a la devolución de llamada DdXxxSurface de un nombre similar; tienen los mismos prototipos y se llaman con los mismos parámetros de entrada. Solo se llama a estas nuevas devoluciones de llamada cuando la superficie en cuestión tiene la marca DDSCAPS_EXECUTEBUFFER establecida en los límites de superficie. Las marcas de creación del búfer se DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER y DDSCAPS2_COMMANDBUFFER.

El controlador determina el tipo de búfer que se solicita comprobando el miembro ddsCaps de la estructura DD_SURFACE_LOCAL que se pasa a CanCreateD3DBuffer y CreateD3DBuffer para las marcas siguientes:

  • DDSCAPS_VERTEXBUFFER

    Indica que el controlador debe asignar un búfer de vértices explícito.

  • DDSCAPS_COMMANDBUFFER

    Indica que el controlador debe asignar un búfer de comandos.

  • La ausencia de ambas marcas

    Indica que el controlador debe asignar un búfer de vértices implícito.

Los búferes de vértices implícitos no deben colocarse en la memoria de vídeo porque se espera que sean de lectura y escritura. Solo los búferes de vértices explícitos con el conjunto de marcas de DDSCAPS_WRITEONLY se pueden colocar de forma segura en la memoria de vídeo.

Requisitos

   
Encabezado ddrawint.h (incluya Winddi.h)

Consulte también

CanCreateD3DBuffer

CreateD3DBuffer

DD_HALINFO

DD_SURFACE_LOCAL

DestroyD3DBuffer

LockD3DBuffer

UnlockD3DBuffer