Condividi tramite


PDD_CANCREATESURFACE funzione di callback (ddrawint.h)

La funzione di callback CanCreateD3DBuffer determina se il driver può creare un comando a livello di driver o un buffer del vertice della descrizione specificata.

Sintassi

PDD_CANCREATESURFACE PddCancreatesurface;

DWORD PddCancreatesurface(
  PDD_CANCREATESURFACEDATA unnamedParam1
)
{...}

Parametri

unnamedParam1

Punta a una struttura DD_CANCREATESURFACEDATA . Questa struttura contiene le informazioni necessarie per il driver per determinare se è possibile creare un comando o un buffer dei vertici.

Valore restituito

CanCreateD3DBuffer restituisce un codice di callback.

Commenti

Questo callback viene usato solo se il driver gestisce i buffer dei vertici e dei comandi a livello di driver.

CanCreateD3DBuffer deve controllare la descrizione della superficie che il membro lpDDSurfaceDesc della struttura DD_CANCREATESURFACEDATA in lpCanCreateD3DBuffer punta a per determinare se il driver può supportare il formato e le funzionalità del buffer richiesto per la modalità in cui si trova il driver. Il driver deve restituire DD_OK nel membro ddRVal della stessa struttura se supporta tale tipo di buffer. In caso contrario, deve restituire il codice di errore DDERR_Xxx che descrive meglio il motivo per cui non supporta il buffer.

Questa chiamata ha lo stesso prototipo di DdCanCreateSurface. Il callback CanCreateD3DBuffer viene usato, tuttavia, quando la superficie in questione ha il flag DDSCAPS_EXECUTEBUFFER impostato nel membro ddsCapsdella struttura DD_SURFACE_LOCAL.

Il driver determina il tipo di buffer richiesto controllando il membro ddsCaps della struttura di DD_SURFACE_LOCAL per i flag seguenti:

Contrassegno Significato
DDSCAPS2_COMMANDBUFFER Il driver deve allocare un buffer dei comandi.
DDSCAPS2_VERTEXBUFFER Il driver deve allocare un buffer del vertice esplicito.
 
Nota Se nessun flag è impostato, il driver deve allocare un buffer di vertice implicito. I buffer dei vertici impliciti non devono essere posizionati nella memoria video perché si prevede che siano di lettura/scrittura. Solo i buffer dei vertici espliciti con il set di flag DDSCAPS_WRITEONLY possono essere posizionati in modo sicuro nella memoria video.
 

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione ddrawint.h (include Winddi.h)

Vedi anche

CreateD3DBuffer

DD_CANCREATESURFACEDATA

DD_SURFACE_LOCAL

DdCanCreateSurface