Freigeben über


DDLOCKOUT-Struktur (ddkmapi.h)

Die DDLOCKOUT-Struktur enthält eine Beschreibung der Oberfläche.

Syntax

typedef struct _DDLOCKOUT {
  DWORD ddRVal;
  DWORD dwSurfHeight;
  DWORD dwSurfWidth;
  LONG  lSurfPitch;
  PVOID lpSurface;
  DWORD SurfaceCaps;
  DWORD dwFormatFlags;
  DWORD dwFormatFourCC;
  DWORD dwFormatBitCount;
  union {
    DWORD dwRBitMask;
    DWORD dwYBitMask;
  };
  union {
    DWORD dwGBitMask;
    DWORD dwUBitMask;
  };
  union {
    DWORD dwBBitMask;
    DWORD dwVBitMask;
  };
} DDLOCKOUT, *LPDDLOCKOUT;

Angehörige

ddRVal

Gibt den Speicherort an, an dem Microsoft DirectDraw den Rückgabewert der DxApi--Funktion für DD_DXAPI_LOCK Vorgänge schreibt. Ein Rückgabecode von DD_OK gibt den Erfolg an.

dwSurfHeight

dwSurfWidth

Geben Sie die Abmessungen der Oberfläche in Pixel an.

lSurfPitch

Gibt den Abstand in Byte zum Anfang der nächsten Zeile an.

lpSurface

Verweist auf den Oberflächenspeicher.

SurfaceCaps

Gibt eine Reihe von Flags an, die die Funktionen der Oberfläche angeben. Dieses Element kann auf eine oder mehrere der folgenden Flags festgelegt werden:

Flagge Bedeutung
DDSCAPS_3DDEVICE Diese Oberfläche kann für das 3D-Rendering verwendet werden. Anwendungen können dieses Kennzeichen verwenden, um sicherzustellen, dass ein Gerät, das nur auf einem bestimmten Heap gerendert werden kann, offscreen-Oberflächen aufweist, die dem richtigen Heap zugeordnet sind. Wenn dieses Kennzeichen für einen Heap festgelegt ist, wird die Oberfläche nicht von diesem Heap zugewiesen.
DDSCAPS_ALLOCONLOAD Speicher für die Oberfläche wird erst zugewiesen, wenn die Oberfläche von der Anwendung mithilfe der IDirect3DDevice7::Load-Methode geladen wird.
DDSCAPS_ALPHA Diese Oberfläche enthält Alphainformationen. Das Pixelformat muss abgefragt werden, um festzustellen, ob diese Oberfläche nur Alphainformationen oder Alphainformationen enthält, die mit Pixelfarbdaten (z. B. RGBA oder YUVA) verknüpft sind.
DDSCAPS_BACKBUFFER Diese Oberfläche ist der Hintergrundpuffer einer Oberflächen flipping-Struktur. Diese Funktion wird in der Regel durch die CreateSurface--Methode der Anwendung festgelegt, wenn das DDSCAPS_FLIP-Flag verwendet wird. Nur die Oberfläche, die unmittelbar vor der DDSCAPS_FRONTBUFFER Oberfläche steht, hat diese Funktion festgelegt. Die anderen Oberflächen werden als Hintergrundpuffer identifiziert, indem die DDSCAPS_FLIP-Kennzeichnung, ihre Anlagenreihenfolge und das Fehlen der DDSCAPS_FRONTBUFFER- und DDSCAPS_BACKBUFFER-Funktionen vorhanden sind. Wenn diese Funktion an die CreateSurface--Methode der Anwendung gesendet wird, wird ein eigenständiger Hintergrundpuffer erstellt. Nachdem diese Methode aufgerufen wurde, kann diese Oberfläche an einen Frontpuffer, einen anderen Hintergrundpuffer oder beides angefügt werden, um eine kippende Oberflächenstruktur zu bilden. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation zur AddAttachedSurface--Methode. DirectDraw unterstützt eine beliebige Anzahl von Oberflächen in einer flipping-Struktur.
DDSCAPS_COMPLEX Eine komplexe Oberfläche wird beschrieben. Eine komplexe Oberfläche führt zur Erstellung von mehr als einer Oberfläche. Die zusätzlichen Oberflächen werden an der Stammoberfläche angefügt. Die komplexe Struktur kann nur durch Zerstörung der Wurzel zerstört werden.
DDSCAPS_FLIP Diese Oberfläche ist Teil einer Oberflächen-Flipping-Struktur. Wenn diese Funktion an die CreateSurface-Methode der Anwendung übergeben wird, werden ein Frontpuffer und mindestens ein Hintergrundpuffer erstellt. DirectDraw legt das DDSCAPS_FRONTBUFFER Bit auf der Frontpufferoberfläche und das DDSCAPS_BACKBUFFER Bit auf der Oberfläche neben der Frontpufferoberfläche fest. Die dwBackBufferCount Member der DDSURFACEDESC--Struktur muss mindestens 1 festgelegt werden, damit der Methodenaufruf erfolgreich ausgeführt werden kann. Die DDSCAPS_COMPLEX-Funktion muss immer festgelegt werden, wenn mehrere Oberflächen mithilfe der CreateSurface--Methode erstellt werden.
DDSCAPS_FRONTBUFFER Diese Oberfläche ist der Vorderpuffer einer Oberflächen flipping-Struktur. Dieses Kennzeichen wird in der Regel durch die CreateSurface- methode der Anwendung festgelegt, wenn die DDSCAPS_FLIP-Funktion festgelegt wird. Wenn diese Funktion an die CreateSurface--Methode gesendet wird, wird ein eigenständiger Frontpuffer erstellt. Diese Oberfläche verfügt nicht über die DDSCAPS_FLIP.This surface will not have the DDSCAPS_FLIP capability. Sie kann mit der AddAttachedSurface--Methode der Anwendung an andere Hintergrundpuffer angefügt werden, um eine Flippingstruktur zu bilden.
DDSCAPS_HWCODEC Diese Oberfläche sollte von der Hardware einen Datenstrom dekomprimiert haben.
DDSCAPS_LIVEVIDEO Diese Oberfläche sollte in der Lage sein, Livevideos zu empfangen.
DDSCAPS_LOCALVIDMEM Diese Oberfläche ist in true, lokalem Anzeigespeicher und nicht in einem nicht lokalen Anzeigespeicher vorhanden. Wenn dieses Kennzeichen angegeben ist, muss auch DDSCAPS_VIDEOMEMORY angegeben werden. Dieses Kennzeichen kann nicht mit dem DDSCAPS_NONLOCALVIDMEM-Flag verwendet werden.
DDSCAPS_MIPMAP Diese Oberfläche ist eine Ebene einer Mipmap. Diese Oberfläche wird an andere DDSCAPS_MIPMAP Oberflächen angefügt, um die Mipmap zu bilden. Dies kann explizit erfolgen, indem sie eine Reihe von Oberflächen erstellen und sie mithilfe der AddAttachedSurface--Methode der Anwendung oder implizit durch die CreateSurface--Methode der Anwendung anfügen. Wenn diese Funktion festgelegt ist, muss auch DDSCAPS_TEXTURE festgelegt werden.
DDSCAPS_MODEX Diese Oberfläche ist eine 320x200- oder 320x240 Mode X-Oberfläche.
DDSCAPS_NONLOCALVIDMEM Diese Oberfläche ist im nicht lokalen Anzeigespeicher und nicht im tatsächlichen, lokalen Anzeigespeicher vorhanden. Wenn dieses Kennzeichen angegeben ist, muss auch DDSCAPS_VIDEOMEMORY Kennzeichnung angegeben werden. Dies kann nicht mit dem DDSCAPS_LOCALVIDMEM-Flag verwendet werden.
DDSCAPS_OFFSCREENPLAIN Diese Oberfläche ist jede Offscreenoberfläche, die keine Überlagerung, Textur, Z-Puffer, Frontpuffer, Hintergrundpuffer oder Alphaoberfläche ist. Es wird verwendet, um einfache Oberflächen zu identifizieren.
DDSCAPS_OPTIMIZED Derzeit nicht implementiert.
DDSCAPS_OVERLAY Diese Oberfläche ist eine Überlagerung. Es kann oder nicht direkt sichtbar sein, je nachdem, ob es derzeit auf der Primäroberfläche überlagert wird. DDSCAPS_VISIBLE können verwendet werden, um festzustellen, ob sie zurzeit überlagert wird.
DDSCAPS_OWNDC Diese Oberfläche hat eine Gerätekontextzuordnung (DC) für einen längeren Zeitraum.
DDSCAPS_PALETTE Dieser Gerätetreiber ermöglicht das Erstellen und Anfügen eindeutiger DirectDrawPalette-Objekte an diese Oberfläche.
DDSCAPS_PRIMARYSURFACE Die Oberfläche ist die primäre Oberfläche. Sie stellt dar, was für den Benutzer zurzeit sichtbar ist.
DDSCAPS_PRIMARYSURFACELEFT Diese Oberfläche ist die primäre Oberfläche für das linke Auge. Es stellt dar, was im Moment für das linke Auge des Benutzers sichtbar ist. Wenn diese Oberfläche erstellt wird, stellt die Oberfläche mit der funktion DDSCAPS_PRIMARYSURFACE das, was vom rechten Auge des Benutzers gesehen wird.
DDSCAPS_STANDARDVGAMODE Diese Oberfläche ist eine standardmäßige VGA-Modusoberfläche und keine ModeX-Oberfläche. Dieses Kennzeichen kann nicht in Kombination mit dem DDSCAPS_MODEX Flag verwendet werden.
DDSCAPS_SYSTEMMEMORY Dieser Oberflächenspeicher wurde im Systemspeicher zugewiesen.
DDSCAPS_TEXTURE Diese Oberfläche kann als 3D-Textur verwendet werden. Es gibt nicht an, ob die Oberfläche für diesen Zweck verwendet wird.
DDSCAPS_VIDEOMEMORY Diese Oberfläche ist im Anzeigespeicher vorhanden.
DDSCAPS_VIDEOPORT Diese Oberfläche kann Daten von einem Hardwarevideoport empfangen.
DDSCAPS_VISIBLE Änderungen an dieser Oberfläche sind sofort sichtbar. Es wird immer für die primäre Oberfläche sowie für Überlagerungen festgelegt, während sie überlagert und Texturzuordnungen während der Textur übertragen werden.
DDSCAPS_WRITEONLY Nur Schreibzugriff ist für die Oberfläche zulässig. Der Lesezugriff von der Oberfläche kann zu einem allgemeinen Schutzfehler (GPF) führen, die Leseergebnisse dieser Oberfläche sind jedoch nicht aussagekräftig.
DDSCAPS_ZBUFFER Diese Oberfläche ist der Z-Puffer. Der Z-Puffer enthält Informationen, die nicht angezeigt werden können. Stattdessen enthält sie Bittiefeinformationen, die verwendet werden, um zu bestimmen, welche Pixel sichtbar sind und welche verdeckt werden.

dwFormatFlags

Gibt einen Satz optionaler Steuerelementkennzeichnungen an. Dieses Element kann auf eine Kombination der folgenden Flags festgelegt werden:

Flagge Bedeutung
DDPF_ALPHA Das Pixelformat beschreibt eine Nur-Alpha-Oberfläche.
DDPF_ALPHAPIXELS Die Oberfläche enthält Alphakanalinformationen im Pixelformat.
DDPF_ALPHAPREMULT Reserviert für die Systemverwendung.
DDPF_BUMPDUDV Bump map dUdV data in the pixel format is valid.
DDPF_BUMPLUMINANCE Die Leuchtdichtedaten im Pixelformat sind gültig. Dieses Kennzeichen wird verwendet, wenn die Leuchtdichte von Bumpmap-Oberflächen hängend ist; die Bitmaske für den Leuchtdichteteil des Pixels wird dann durch das 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 Kennzeichen wird nur für Leuchtdichte oder Leuchtdichte sowie Alpha-Oberflächen verwendet; die Bittiefe wird dann durch das dwLuminanceBitCount Member der DDPIXELFORMAT-Struktur angegeben.
DDPF_PALETTEINDEXED1 Die Oberfläche ist 1-Bit-Farbe indiziert.
DDPF_PALETTEINDEXED2 Die Oberfläche ist 2-Bit-Farbe indiziert.
DDPF_PALETTEINDEXED4 Die Oberfläche ist 4-Bit-Farbe indiziert.
DDPF_PALETTEINDEXED8 Die Oberfläche ist 8-Bit-Farbe indiziert.
DDPF_PALETTEINDEXEDTO8 Die Oberfläche ist 1-, 2- oder 4-Bit-Farbe indiziert zu einer 8-Bit-Palette.
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 ist in der Pixelformatstruktur enthalten. Das DDPF_RGB Flag ist festgelegt.
DDPF_STENCILBUFFER Die Oberfläche enthält Schabloneninformationen zusammen mit den Z-Informationen.
DDPF_YUV Die YUV-Daten in der Pixelformatstruktur sind gültig.
DDPF_ZBUFFER Das Pixelformat beschreibt eine nur z-Puffer-Oberfläche.
DDPF_ZPIXELS Die Oberfläche ist im RGBZ-Format.

dwFormatFourCC

Gibt den FOURCC- Code an. Weitere Informationen zu FOURCC-Codes finden Sie in der DirectX SDK-Dokumentation.

dwFormatBitCount

Gibt die Anzahl der Bits pro Pixel (4, 8, 16, 24 oder 32) der RGB- oder YUV-Daten an.

dwRBitMask

Gibt die Maske für rote Bits an.

dwYBitMask

Gibt die Maske für Y-Bits an.

dwGBitMask

Gibt die Maske für grüne Bits an.

dwUBitMask

Gibt die Maske für U-Bits an.

dwBBitMask

Gibt die Maske für blaue Bits an.

dwVBitMask

Gibt die Maske für V-Bits an.

Anforderungen

Anforderung Wert
Header- ddkmapi.h (include Ddkmapi.h)

Siehe auch

DD_DXAPI_LOCK

DxApi-