Partager via


Structure DDSURFACEDATA (dxmini.h)

La structure DDSURFACEDATA est utilisée par DirectDraw pour représenter une surface du pilote miniport en mode noyau.

Syntaxe

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;

Membres

ddsCaps

Pointe vers une structure DDSCAPS qui contient les fonctionnalités de création utilisées pour décrire la surface.

dwSurfaceOffset

Spécifie le décalage d’octet entre le début de la mémoire tampon de trame et le début de la surface. Ce champ est utilisé uniquement par le pilote miniport.

fpLockPtr

Pointe vers le début de la surface.

dwWidth

Spécifie la largeur de la surface, en pixels.

dwHeight

Spécifie la hauteur de surface, en pixels.

lPitch

Spécifie le pitch de surface, en octets.

dwOverlayFlags

Indique un ensemble d’indicateurs qui spécifient les indicateurs de mode utilisateur actuels DDOVER_Xxx définis par DdUpdateOverlay. Ce membre est un or au niveau du bit de l’une des valeurs suivantes :

Indicateur Signification
DDOVER_ADDDIRTYRECT Ajoutez un rectangle sale à une surface superposée émulée.
DDOVER_ALPHADEST Utilisez les informations alpha au format pixel ou la surface du canal alpha attachée à la surface de destination comme canal alpha pour cette superposition.
DDOVER_ALPHADESTCONSTOVERRIDE Utilisez le membre dwAlphaDestConst de la structure DDOVERLAYFX comme canal alpha de destination pour cette superposition. La structure DDOVERLAYFX est définie dans ddraw.h.
DDOVER_ALPHADESTNEG La surface de destination devient plus transparente à mesure que la valeur alpha augmente (0 est opaque).
DDOVER_ALPHADESTSURFACEOVERRIDE Utilisez le membre lpDDSAlphaDest de la structure DDOVERLAYFX (définie dans la documentation du SDK DirectDraw) comme destination du canal alpha pour cette superposition.
DDOVER_ALPHAEDGEBLEND Utilisez le membre dwAlphaEdgeBlend de la structure DDOVERLAYFX (définie dans la documentation du SDK DirectDraw) comme canal alpha pour les bords de l’image qui bordent les couleurs des touches de couleur.
DDOVER_ALPHASRC Utilisez les informations alpha au format pixel ou la surface du canal alpha attachée à la surface source comme canal alpha source pour cette superposition.
DDOVER_ALPHASRCCONSTOVERRIDE Utilisez le membre dwAlphaSrcConst de la structure DDOVERLAYFX (définie dans la documentation du SDK DirectDraw) comme canal alpha source pour cette superposition.
DDOVER_ALPHASRCNEG La surface source devient plus transparente à mesure que la valeur alpha augmente (0 est opaque).
DDOVER_ALPHASRCSURFACEOVERRIDE Utilisez le membre lpDDSAlphaSrc de la structure DDOVERLAYFX (définie dans la documentation du SDK DirectDraw) comme source de canal alpha pour cette superposition.
DDOVER_AUTOFLIP Basculez automatiquement vers la surface suivante dans la chaîne de basculement chaque fois qu’un port vidéo matériel VSYNC se produit.
DDOVER_BOB Affichez chaque champ du flux vidéo entrelacé individuellement sans provoquer d’artefacts.
DDOVER_BOBHARDWARE Bob est effectué à l’aide d’un matériel plutôt que d’un logiciel ou est émulé.
DDOVER_DDFX Utilisez les indicateurs FX de superposition pour définir des effets de superposition spéciaux.
DDOVER_HIDE Désactivez cette superposition.
DDOVER_INTERLEAVED La mémoire surface est composée de champs entrelacés.
DDOVER_KEYDEST Utilisez la clé de couleur associée à la surface de destination.
DDOVER_KEYDESTOVERRIDE Utilisez le membre dckDestColorkey de la structure DDOVERLAYFX (définie dans la documentation du SDK DirectDraw) comme clé de couleur pour l’aire de destination.
DDOVER_KEYSRC Utilisez la clé de couleur associée à la surface source.
DDOVER_KEYSRCOVERRIDE Utilisez le membre dckSrcColorkey de la structure DDOVERLAYFX (définie dans la documentation du SDK DirectDraw) comme clé de couleur pour la surface source.
DDOVER_OVERRIDEBOBWEAVE Les décisions de bob et de tissage ne doivent pas être remplacées par d’autres interfaces. Si cet indicateur est défini, DirectDraw n’autorise pas un pilote en mode noyau à utiliser la fonctionnalité de transport vidéo en mode noyau pour basculer le matériel entre le mode bob et le mode de tissage.
DDOVER_REFRESHALL Redessinez la surface entière sur une surface superposée émulée.
DDOVER_REFRESHDIRTYRECTS Redessinez tous les rectangles sale sur une surface superposée émulée.
DDOVER_SHOW Activez cette superposition.

dwOverlayOffset

Spécifie le décalage d’octet entre le début de la mémoire tampon d’image et le début de la superposition. Ce champ est utilisé uniquement par le pilote miniport.

dwOverlaySrcWidth

Spécifie la largeur de la source de superposition, en pixels. Ce champ est utilisé uniquement par le pilote miniport.

dwOverlaySrcHeight

Spécifie la hauteur de la source de superposition, en pixels. Ce champ est utilisé uniquement par le pilote miniport.

dwOverlayDestWidth

Spécifie la largeur de destination de superposition, en pixels. Ce champ est utilisé uniquement par le pilote miniport.

dwOverlayDestHeight

Spécifie la hauteur de destination de superposition, en pixels. Ce champ est utilisé uniquement par le pilote miniport.

dwVideoPortId

Si cette surface est alimentée par un objet VPE (Video Port Extensions), ce champ indique l’ID de l’objet VPE, un entier dans la plage (0 - (nombre maximal de ports vidéo matériels -1 )) ; sinon, ce champ est -1.

dwFormatFlags

Spécifie un ensemble d’indicateurs de contrôle au format pixel. Ce membre est un or au niveau du bit de l’une des valeurs suivantes :

Indicateur Signification
DDPF_ALPHA Le format de pixels décrit une surface alpha uniquement.
DDPF_ALPHAPIXELS La surface contient des informations de canal alpha au format pixel.
DDPF_ALPHAPREMULT Les composants de couleur dans le pixel sont prémultipliés par la valeur alpha dans le pixel. Si cet indicateur est défini, l’indicateur DDPF_ALPHAPIXELS doit également être défini. Si cet indicateur n’est pas défini, mais que l’indicateur DDPF_ALPHAPIXELS est défini, les composants de couleur au format pixel ne sont pas prémultipliés par alpha. Dans ce cas, les composants de couleur doivent être multipliés par la valeur alpha au moment où une opération de fusion alpha est effectuée.
DDPF_BUMPDUDV Les données dUdV du mappage de bosses au format pixel sont valides.
DDPF_BUMPLUMINANCE Les données de luminance au format pixel sont valides. Cet indicateur est utilisé lors de la suspension de la luminance sur des surfaces de bumpmap. Le masque de bits pour la partie luminance du pixel est alors indiqué par le membre dwBumpLuminanceBitCount de la structure DDPIXELFORMAT .
DDPF_COMPRESSED La surface accepte les données de pixels au format spécifié et les compresse pendant l’opération d’écriture.
DDPF_FOURCC Le code FOURCC est valide.
DDPF_LUMINANCE Les données de luminance au format pixel sont valides. Cet indicateur est utilisé pour la luminance uniquement ou la luminance plus les surfaces alpha ; la profondeur de bits est alors indiquée par le membre dwLuminanceBitCount de la structure DDPIXELFORMAT .
DDPF_PALETTEINDEXED1 La surface est indexée en couleur 1 bits.
DDPF_PALETTEINDEXED2 La surface est indexée en couleur 2 bits.
DDPF_PALETTEINDEXED4 La surface est indexée en couleur 4 bits.
DDPF_PALETTEINDEXED8 La surface est indexée en couleur 8 bits.
DDPF_PALETTEINDEXEDTO8 La surface est de couleur 1, 2 ou 4 bits indexée dans une palette 8 bits.
DDPF_RGB Les données RVB dans la structure de format de pixels sont valides.
DDPF_RGBTOYUV La surface accepte les données RVB et les traduit pendant l’opération d’écriture en données YUV. Le format des données à écrire sera contenu dans la structure de format de pixels. L’indicateur DDPF_RGB sera défini.
DDPF_STENCILBUFFER La surface contient des informations de gabarit ainsi que des informations Z.
DDPF_YUV Les données YUV dans la structure de format de pixels sont valides.
DDPF_ZBUFFER Le format de pixel décrit une surface z-buffer uniquement.
DDPF_ZPIXELS La surface est au format RGBZ.

dwFormatFourCC

Spécifie le code FOURCC .

dwFormatBitCount

Spécifie le nombre de bits par pixel (4, 8, 16, 24 ou 32).

dwRBitMask

Spécifie le masque de bits rouge.

dwGBitMask

Spécifie le masque de bits vert.

dwBBitMask

Spécifie le masque de bits bleu.

dwDriverReserved1

Réservé pour le HAL/Miniport

dwDriverReserved2

Réservé pour le HAL/Miniport

dwDriverReserved3

Réservé pour le HAL/Miniport

dwDriverReserved4

Sont réservés à l’utilisation par le pilote miniport.

Spécifications

   
En-tête dxmini.h (include Dxmini.h)

Voir aussi

DDPIXELFORMAT

DDSCAPS

DdUpdateOverlay