DDSURFACEDATA-Struktur (dxmini.h)
Die DDSURFACEDATA-Struktur wird von DirectDraw verwendet, um eine Oberfläche für den Kernelmodus-Miniporttreiber darzustellen.
Syntax
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;
Member
ddsCaps
Verweist auf eine DDSCAPS-Struktur , die die Erstellungsfunktionen zum Beschreiben der Oberfläche enthält.
dwSurfaceOffset
Gibt den Byteoffset vom Anfang des Framepuffers bis zum Anfang der Oberfläche an. Dieses Feld wird nur vom Miniporttreiber verwendet.
fpLockPtr
Zeigt auf den Anfang der Oberfläche.
dwWidth
Gibt die Breite der Oberfläche in Pixel an.
dwHeight
Gibt die Oberflächenhöhe in Pixel an.
lPitch
Gibt den Flächenabstand in Bytes an.
dwOverlayFlags
Gibt einen Satz von Flags an, die den aktuellen Benutzermodus DDOVER_Xxx-Flags angeben, die von DdUpdateOverlay festgelegt werden. Dieser Member ist ein bitweises OR mit einem der folgenden Werte:
Flag | Bedeutung |
---|---|
DDOVER_ADDDIRTYRECT | Fügen Sie einer emulierten überlagerten Oberfläche ein modifiziert Rechteck hinzu. |
DDOVER_ALPHADEST | Verwenden Sie entweder die Alphainformationen im Pixelformat oder die Alphakanaloberfläche, die an die Zieloberfläche angefügt ist, als Alphakanal für diese Überlagerung. |
DDOVER_ALPHADESTCONSTOVERRIDE | Verwenden Sie den dwAlphaDestConst-Member der DDOVERLAYFX-Struktur als Ziel-Alphakanal für diese Überlagerung. Die DDOVERLAYFX-Struktur ist in ddraw.h definiert. |
DDOVER_ALPHADESTNEG | Die Zieloberfläche wird transparenter, wenn der Alphawert zunimmt (0 ist undurchsichtig). |
DDOVER_ALPHADESTSURFACEOVERRIDE | Verwenden Sie das lpDDSAlphaDest-Element der DDOVERLAYFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Alphakanalziel für diese Überlagerung. |
DDOVER_ALPHAEDGEBLEND | Verwenden Sie den dwAlphaEdgeBlend-Member der DDOVERLAYFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Alphakanal für die Ränder des Bilds, die die Farbschlüsselfarben umranden. |
DDOVER_ALPHASRC | Verwenden Sie entweder die Alphainformationen im Pixelformat oder die Alphakanaloberfläche, die an die Quelloberfläche angefügt ist, als Quell-Alphakanal für diese Überlagerung. |
DDOVER_ALPHASRCCONSTOVERRIDE | Verwenden Sie den dwAlphaSrcConst-Member der DDOVERLAYFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Quell-Alphakanal für diese Überlagerung. |
DDOVER_ALPHASRCNEG | Die Quelloberfläche wird transparenter, wenn der Alphawert zunimmt (0 ist undurchsichtig). |
DDOVER_ALPHASRCSURFACEOVERRIDE | Verwenden Sie das lpDDSAlphaSrc-Element der DDOVERLAYFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Alphakanalquelle für diese Überlagerung. |
DDOVER_AUTOFLIP | Jedes Mal, wenn ein VSYNC-Hardware-Videoport auftritt, wird automatisch auf die nächste Oberfläche in der Flip-Kette gedreht. |
DDOVER_BOB | Zeigen Sie jedes Feld des Interlaced-Videostreams einzeln an, ohne Artefakte zu verursachen. |
DDOVER_BOBHARDWARE | Bob wird mit Hardware statt Software ausgeführt oder emuliert. |
DDOVER_DDFX | Verwenden Sie die Überlagerungs-FX-Flags, um spezielle Überlagerungseffekte zu definieren. |
DDOVER_HIDE | Deaktivieren Sie diese Überlagerung. |
DDOVER_INTERLEAVED | Der Oberflächenspeicher besteht aus überlappenden Feldern. |
DDOVER_KEYDEST | Verwenden Sie den Farbschlüssel, der der Zieloberfläche zugeordnet ist. |
DDOVER_KEYDESTOVERRIDE | Verwenden Sie den dckDestColorkey-Member der DDOVERLAYFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Farbschlüssel für die Zieloberfläche. |
DDOVER_KEYSRC | Verwenden Sie den Farbschlüssel, der der Quelloberfläche zugeordnet ist. |
DDOVER_KEYSRCOVERRIDE | Verwenden Sie den dckSrcColorkey-Member der DDOVERLAYFX-Struktur (definiert in der DirectDraw SDK-Dokumentation) als Farbschlüssel für die Quelloberfläche. |
DDOVER_OVERRIDEBOBWEAVE | Bob- und Web-Entscheidungen sollten nicht von anderen Schnittstellen überschrieben werden. Wenn dieses Flag festgelegt ist, lässt DirectDraw nicht zu, dass ein Kernelmodustreiber die Videotransportfunktion im Kernelmodus verwendet, um die Hardware zwischen bob- und weave-Modus zu wechseln. |
DDOVER_REFRESHALL | Zeichnen Sie die gesamte Oberfläche auf einer emulierten überlagerten Oberfläche neu. |
DDOVER_REFRESHDIRTYRECTS | Alle modifiziert Rechtecke auf einer emulierten überlagerten Oberfläche neu zeichnen. |
DDOVER_SHOW | Aktivieren Sie diese Überlagerung. |
dwOverlayOffset
Gibt den Byteoffset vom Anfang des Framepuffers bis zum Anfang der Überlagerung an. Dieses Feld wird nur vom Miniporttreiber verwendet.
dwOverlaySrcWidth
Gibt die Breite der Überlagerungsquelle in Pixel an. Dieses Feld wird nur vom Miniporttreiber verwendet.
dwOverlaySrcHeight
Gibt die Höhe der Überlagerungsquelle in Pixel an. Dieses Feld wird nur vom Miniporttreiber verwendet.
dwOverlayDestWidth
Gibt die Überlagerungszielbreite in Pixel an. Dieses Feld wird nur vom Miniporttreiber verwendet.
dwOverlayDestHeight
Gibt die Höhe des Überlagerungsziels in Pixel an. Dieses Feld wird nur vom Miniporttreiber verwendet.
dwVideoPortId
Wenn diese Oberfläche von einem VPE-Objekt (VideoPort Extensions) gespeist wird, gibt dieses Feld die ID des VPE-Objekts an, eine ganze Zahl im Bereich (0 - (maximale Anzahl von Hardwarevideoports -1 )); Andernfalls ist dieses Feld -1.
dwFormatFlags
Gibt einen Satz von Steuerelementflags im Pixelformat an. Dieser Member ist ein bitweises OR mit einem der folgenden Werte:
Flag | Bedeutung |
---|---|
DDPF_ALPHA | Das Pixelformat beschreibt eine reine Alphaoberfläche. |
DDPF_ALPHAPIXELS | Die Oberfläche enthält Alphakanalinformationen im Pixelformat. |
DDPF_ALPHAPREMULT | Die Farbkomponenten im Pixel werden mit dem Alphawert im Pixel vorab multipliziert. Wenn dieses Flag festgelegt ist, muss auch das DDPF_ALPHAPIXELS-Flag festgelegt werden. Wenn dieses Flag nicht festgelegt ist, aber das DDPF_ALPHAPIXELS-Flag festgelegt ist, werden die Farbkomponenten im Pixelformat nicht durch Alpha vormultipliziert. In diesem Fall müssen die Farbkomponenten zum Zeitpunkt der Durchführung eines Alphamischungsvorgangs mit dem Alphawert multipliziert werden. |
DDPF_BUMPDUDV | Die dUdV-Daten für bump map im Pixelformat sind gültig. |
DDPF_BUMPLUMINANCE | Die Leuchtdichtedaten im Pixelformat sind gültig. Dieses Flag wird verwendet, wenn die Leuchtdichte von Bumpmap-Oberflächen hängt. Die Bitmaske für den Leuchtdichteteil des Pixels wird dann durch den dwBumpLuminanceBitCount-Member der DDPIXELFORMAT-Struktur angegeben. |
DDPF_COMPRESSED | Die Oberfläche akzeptiert Pixeldaten im angegebenen Format und komprimiert sie während des Schreibvorgangs. |
DDPF_FOURCC | Der FOURCC-Code ist gültig. |
DDPF_LUMINANCE | Die Leuchtdichtedaten im Pixelformat sind gültig. Dieses Flag wird nur für Leuchtdichte oder Leuchtdichte plus Alpha-Oberflächen verwendet. die Bittiefe wird dann durch das dwLuminanceBitCount-Element der DDPIXELFORMAT-Struktur angegeben. |
DDPF_PALETTEINDEXED1 | Die Oberfläche ist mit einer 1-Bit-Farbe indiziert. |
DDPF_PALETTEINDEXED2 | Die Oberfläche ist 2-Bit-Farbe indiziert. |
DDPF_PALETTEINDEXED4 | Die Oberfläche ist 4-Bit-Farbindiziert. |
DDPF_PALETTEINDEXED8 | Die Oberfläche ist 8-Bit-Farbindiziert. |
DDPF_PALETTEINDEXEDTO8 | Die Oberfläche ist eine 1-, 2- oder 4-Bit-Farbe, die einer 8-Bit-Palette indiziert ist. |
DDPF_RGB | Die RGB-Daten in der Pixelformatstruktur sind gültig. |
DDPF_RGBTOYUV | Die Oberfläche akzeptiert RGB-Daten und übersetzt sie während des Schreibvorgangs in YUV-Daten. Das Format der zu schreibenden Daten wird in der Pixelformatstruktur enthalten sein. Das DDPF_RGB-Flag wird festgelegt. |
DDPF_STENCILBUFFER | Die Oberfläche enthält Schabloneninformationen zusammen mit Z-Informationen. |
DDPF_YUV | Die YUV-Daten in der Pixelformatstruktur sind gültig. |
DDPF_ZBUFFER | Das Pixelformat beschreibt eine reine Z-Puffer-Oberfläche. |
DDPF_ZPIXELS | Die Oberfläche hat das RGBZ-Format. |
dwFormatFourCC
Gibt den FOURCC-Code an.
dwFormatBitCount
Gibt die Anzahl der Bits pro Pixel an (4, 8, 16, 24 oder 32).
dwRBitMask
Gibt die rote Bitmaske an.
dwGBitMask
Gibt die grüne Bitmaske an.
dwBBitMask
Gibt die blaue Bitmaske an.
dwDriverReserved1
Reserviert für den HAL/Miniport
dwDriverReserved2
Reserviert für den HAL/Miniport
dwDriverReserved3
Reserviert für den HAL/Miniport
dwDriverReserved4
Sind für die Verwendung durch den Miniporttreiber reserviert.
Anforderungen
Kopfzeile | dxmini.h (dxmini.h einschließen) |