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) |