Freigeben über


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)

Weitere Informationen

DDPIXELFORMAT

DDSCAPS

DdUpdateOverlay