PDD_CREATESURFACE función de devolución de llamada (ddrawint.h)
La función de devolución de llamada CreateD3DBuffer se usa para crear un comando de nivel de controlador o un búfer de vértices de la descripción especificada.
Sintaxis
PDD_CREATESURFACE PddCreatesurface;
DWORD PddCreatesurface(
PDD_CREATESURFACEDATA unnamedParam1
)
{...}
Parámetros
unnamedParam1
Apunta a una estructura de DD_CREATESURFACEDATA que contiene la información necesaria para crear el búfer.
Valor devuelto
CreateD3DBuffer devuelve uno de los siguientes códigos de devolución de llamada:
Comentarios
Esta devolución de llamada solo se usa si el controlador administra los búferes de vértices y comandos de nivel de controlador.
De forma predeterminada, el controlador no se notifica cuando se crea una superficie principal en Windows 2000 y versiones posteriores. Sin embargo, si el controlador admite el GUID de GUID_NTPrivateDriverCaps en una llamada DdGetDriverInfo y la marca DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION se establece en el miembro dwPrivateCaps de la estructura DD_NTPRIVATEDRIVERCAPS , se notifica al controlador.
El tono debe devolverse en el miembro lPitch de las estructuras DD_SURFACE_GLOBAL y DDSURFACEDESC . Para la memoria lineal, el controlador debe establecer dwBlockSizeX en el tamaño, en bytes, de la región de memoria y establecer dwBlockSizeY en 1. Ambos son miembros de la estructura DD_SURFACE_GLOBAL.
Esta llamada tiene el mismo prototipo que DdCreateSurface. La devolución de llamada CreateD3DBuffer se usa en su lugar cuando la superficie en cuestión tiene la marca DDSCAPS_EXECUTEBUFFER establecida en el miembro ddsCaps de la estructura DD_SURFACE_LOCAL . 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 para las marcas siguientes:
Marca | Significado |
---|---|
DDSCAPS2_COMMANDBUFFER | El controlador debe asignar un búfer de comandos. |
DDSCAPS2_VERTEXBUFFER | El controlador debe asignar un búfer de vértices explícito. |
Como alternativa, el controlador puede solicitar que DirectDraw asigne el búfer devolviendo uno de los siguientes valores en fpVidMem:
Valor | Significado |
---|---|
DDHAL_PLEASEALLOC_BLOCKSIZE | DirectDraw debe asignar la memoria del búfer de la memoria fuera de la pantalla. |
DDHAL_PLEASEALLOC_USERMEM | DirectDraw debe asignar la memoria del búfer de la memoria del usuario. El controlador también debe devolver el tamaño, en bytes, de la región de memoria en dwUserMemSize. |
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | ddrawint.h (incluya Winddi.h) |