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