Condividi tramite


Struttura DDSURFACEDATA (dxmini.h)

La struttura DDSURFACEDATA viene usata da DirectDraw per rappresentare una superficie per il driver miniport in modalità kernel.

Sintassi

typedef struct _DDSURFACEDATA {
  DWORD     ddsCaps;
  DWORD     dwSurfaceOffset;
  ULONG_PTR fpLockPtr;
  DWORD     dwWidth;
  DWORD     dwHeight;
  LONG      lPitch;
  DWORD     dwOverlayFlags;
  DWORD     dwOverlayOffset;
  DWORD     dwOverlaySrcWidth;
  DWORD     dwOverlaySrcHeight;
  DWORD     dwOverlayDestWidth;
  DWORD     dwOverlayDestHeight;
  DWORD     dwVideoPortId;
  DWORD     dwFormatFlags;
  DWORD     dwFormatFourCC;
  DWORD     dwFormatBitCount;
  DWORD     dwRBitMask;
  DWORD     dwGBitMask;
  DWORD     dwBBitMask;
  ULONG     dwDriverReserved1;
  ULONG     dwDriverReserved2;
  ULONG     dwDriverReserved3;
  ULONG     dwDriverReserved4;
} DDSURFACEDATA, *LPDDSURFACEDATA;

Members

ddsCaps

Punta a una struttura DDSCAPS che contiene le funzionalità di creazione usate per descrivere la superficie.

dwSurfaceOffset

Specifica l'offset di byte dall'inizio del buffer del frame all'inizio della superficie. Questo campo viene utilizzato solo dal driver miniport.

fpLockPtr

Punta all'inizio della superficie.

dwWidth

Specifica la larghezza della superficie, espressa in pixel.

dwHeight

Specifica l'altezza della superficie, in pixel.

lPitch

Specifica l'inclinazione della superficie, espressa in byte.

dwOverlayFlags

Indica un set di flag che specificano i flag correnti in modalità utente DDOVER_Xxx impostati da DdUpdateOverlay. Questo membro è un OR bit per bit di uno dei valori seguenti:

Flag Significato
DDOVER_ADDDIRTYRECT Aggiungere un rettangolo sporco a una superficie sovrapposta emulata.
DDOVER_ALPHADEST Usare le informazioni alfa in formato pixel o la superficie del canale alfa collegata alla superficie di destinazione come canale alfa per questa sovrimpressione.
DDOVER_ALPHADESTCONSTOVERRIDE Usare il membro dwAlphaDestConst della struttura DDOVERLAYFX come canale alfa di destinazione per questa sovrimpressione. La struttura DDOVERLAYFX è definita in ddraw.h.
DDOVER_ALPHADESTNEG La superficie di destinazione diventa più trasparente man mano che aumenta il valore alfa (0 è opaco).
DDOVER_ALPHADESTSURFACEOVERRIDE Usare il membro lpDDSAlphaDest della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come destinazione del canale alfa per questa sovrimpressione.
DDOVER_ALPHAEDGEBLEND Usare il membro dwAlphaEdgeBlend della struttura DDOVERLAYFX (definito nella documentazione di DirectDraw SDK) come canale alfa per i bordi dell'immagine che delimita i colori della chiave di colore.
DDOVER_ALPHASRC Usare le informazioni alfa in formato pixel o la superficie del canale alfa collegata alla superficie di origine come canale alfa di origine per questa sovrimpressione.
DDOVER_ALPHASRCCONSTOVERRIDE Usare il membro dwAlphaSrcConst della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come canale alfa di origine per questa sovrimpressione.
DDOVER_ALPHASRCNEG La superficie di origine diventa più trasparente man mano che aumenta il valore alfa (0 è opaco).
DDOVER_ALPHASRCSURFACEOVERRIDE Usare il membro lpDDSAlphaSrc della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come origine del canale alfa per questa sovrimpressione.
DDOVER_AUTOFLIP Capovolgere automaticamente alla superficie successiva nella catena di capovolgimento ogni volta che si verifica una porta video hardware VSYNC.
DDOVER_BOB Visualizzare singolarmente ogni campo del flusso video interlacciato senza causare alcun artefatto.
DDOVER_BOBHARDWARE Bob viene eseguito usando hardware anziché software o emulato.
DDOVER_DDFX Usare i flag FX di sovrimpressione per definire effetti di sovrimpressione speciali.
DDOVER_HIDE Disattivare questa sovrimpressione.
DDOVER_INTERLEAVED La memoria della superficie è costituita da campi interleaved.
DDOVER_KEYDEST Usare la chiave di colore associata alla superficie di destinazione.
DDOVER_KEYDESTOVERRIDE Usare il membro dckDestColorkey della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come chiave di colore per la superficie di destinazione.
DDOVER_KEYSRC Usare la chiave di colore associata alla superficie di origine.
DDOVER_KEYSRCOVERRIDE Usare il membro dckSrcColorkey della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come chiave di colore per la superficie di origine.
DDOVER_OVERRIDEBOBWEAVE Le decisioni di Bob e weave non devono essere sostituite da altre interfacce. Se questo flag è impostato, DirectDraw non consente a un driver in modalità kernel di usare la funzionalità di trasporto video in modalità kernel per passare l'hardware tra la modalità bob e weave.
DDOVER_REFRESHALL Ridisegnare l'intera superficie su una superficie emulata sovrapposta.
DDOVER_REFRESHDIRTYRECTS Ridisegnare tutti i rettangoli sporchi su una superficie emulata sovrapposta.
DDOVER_SHOW Attivare questa sovrimpressione.

dwOverlayOffset

Specifica l'offset di byte dall'inizio del buffer del frame all'inizio della sovrimpressione. Questo campo viene utilizzato solo dal driver miniport.

dwOverlaySrcWidth

Specifica la larghezza dell'origine di sovrimpressione, espressa in pixel. Questo campo viene utilizzato solo dal driver miniport.

dwOverlaySrcHeight

Specifica l'altezza dell'origine di sovrimpressione, in pixel. Questo campo viene utilizzato solo dal driver miniport.

dwOverlayDestWidth

Specifica la larghezza di destinazione della sovrimpressione, espressa in pixel. Questo campo viene utilizzato solo dal driver miniport.

dwOverlayDestHeight

Specifica l'altezza di destinazione della sovrimpressione, in pixel. Questo campo viene utilizzato solo dal driver miniport.

dwVideoPortId

Se questa superficie viene inserita da un oggetto VPE (Video Port Extensions), questo campo indica l'ID dell'oggetto VPE, un numero intero nell'intervallo (0 - (numero massimo di porte video hardware -1 )); in caso contrario, questo campo è -1.

dwFormatFlags

Specifica un set di flag di controllo in formato pixel. Questo membro è un OR bit per bit di uno dei valori seguenti:

Flag Significato
DDPF_ALPHA Il formato pixel descrive una superficie solo alfa.
DDPF_ALPHAPIXELS La superficie contiene informazioni sul canale alfa nel formato pixel.
DDPF_ALPHAPREMULT I componenti di colore nel pixel sono premoltiplicati dal valore alfa nel pixel. Se questo flag è impostato, è necessario impostare anche il flag DDPF_ALPHAPIXELS. Se questo flag non è impostato, ma viene impostato il flag DDPF_ALPHAPIXELS, i componenti di colore nel formato pixel non vengono premoltiplicati da alpha. In questo caso, i componenti di colore devono essere moltiplicati per il valore alfa al momento in cui viene eseguita un'operazione di fusione alfa.
DDPF_BUMPDUDV I dati dUdV della mappa d'urto nel formato pixel sono validi.
DDPF_BUMPLUMINANCE I dati di luminanza in formato pixel sono validi. Questo flag viene usato quando si blocca la luminanza dalle superfici della mappa d'urto. La maschera di bit per la parte di dominanza del pixel viene quindi indicata dal membro dwBumpLuminanceBitCount della struttura DDPIXELFORMAT .
DDPF_COMPRESSED La superficie accetterà i dati pixel nel formato specificato e lo comprimerà durante l'operazione di scrittura.
DDPF_FOURCC Il codice FOURCC è valido.
DDPF_LUMINANCE I dati di luminanza nel formato pixel sono validi. Questo flag viene usato solo per la luminanza o la luminanza più superfici alfa; la profondità di bit viene quindi indicata dal membro dwLuminanceBitCount della struttura DDPIXELFORMAT .
DDPF_PALETTEINDEXED1 La superficie è indicizzata a 1 bit.
DDPF_PALETTEINDEXED2 La superficie è indicizzata a 2 bit.
DDPF_PALETTEINDEXED4 La superficie è indicizzata a 4 bit.
DDPF_PALETTEINDEXED8 La superficie è indicizzata a 8 bit.
DDPF_PALETTEINDEXEDTO8 La superficie è a 1,2 o a 4 bit indicizzata a una tavolozza a 8 bit.
DDPF_RGB I dati RGB nella struttura del formato pixel sono validi.
DDPF_RGBTOYUV L'area accetterà i dati RGB e la tradurrà durante l'operazione di scrittura nei dati YUV. Il formato dei dati da scrivere sarà contenuto nella struttura del formato pixel. Verrà impostato il flag DDPF_RGB.
DDPF_STENCILBUFFER La superficie contiene informazioni stencil insieme alle informazioni Z.
DDPF_YUV I dati YUV nella struttura del formato pixel sono validi.
DDPF_ZBUFFER Il formato pixel descrive una superficie solo z-buffer.
DDPF_ZPIXELS La superficie è in formato RGBZ.

dwFormatFourCC

Specifica il codice FOURCC .

dwFormatBitCount

Specifica il numero di bit per pixel (4, 8, 16, 24 o 32).

dwRBitMask

Specifica la maschera di bit rossa.

dwGBitMask

Specifica la maschera a bit verde.

dwBBitMask

Specifica la maschera blu.

dwDriverReserved1

Riservato per HAL/Miniport

dwDriverReserved2

Riservato per HAL/Miniport

dwDriverReserved3

Riservato per HAL/Miniport

dwDriverReserved4

Riservato per l'uso da parte del driver miniport.

Requisiti

   
Intestazione dxmini.h (include Dxmini.h)

Vedi anche

DDPIXELFORMAT

DDSCAPS

DdUpdateOverlay