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;
Member
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 Bytes zum Anfang der nächsten Zeile an.
lpSurface
Zeigt auf den Oberflächenspeicher.
SurfaceCaps
Gibt einen Satz von Flags an, die die Funktionen der Oberfläche angeben. Dieser Member kann auf ein oder mehrere der folgenden Flags festgelegt werden:
Flag | Bedeutung |
---|---|
DDSCAPS_3DDEVICE | Diese Oberfläche kann für das 3D-Rendering verwendet werden. Anwendungen können dieses Flag verwenden, um sicherzustellen, dass ein Gerät, das nur auf einem bestimmten Heap gerendert werden kann, über offscreen-Oberflächen verfügt, die vom richtigen Heap zugeordnet sind. Wenn dieses Flag für einen Heap festgelegt ist, wird die Oberfläche nicht aus diesem Heap zugeordnet. |
DDSCAPS_ALLOCONLOAD | Arbeitsspeicher für die Oberfläche wird erst zugewiesen, wenn die Oberfläche von der Anwendung mit 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-Flip-Struktur. In der Regel wird diese Funktion durch die CreateSurface-Methode der Anwendung festgelegt, wenn das flag DDSCAPS_FLIP verwendet wird. Nur für die Oberfläche, die unmittelbar vor der DDSCAPS_FRONTBUFFER Oberfläche liegt, ist diese Funktion festgelegt. Die anderen Oberflächen werden durch das Vorhandensein des DDSCAPS_FLIP-Flags, ihre Anfügereihenfolge und das Fehlen der DDSCAPS_FRONTBUFFER- und DDSCAPS_BACKBUFFER-Funktionen als Hintergrundpuffer identifiziert. Wenn diese Funktion an die CreateSurface-Methode der Anwendung gesendet wird, wird ein eigenständiger Backpuffer erstellt. Nachdem diese Methode aufgerufen wurde, kann diese Oberfläche an einen Frontpuffer, einen anderen Hintergrundpuffer oder beides angefügt werden, um eine Flipping-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 mehrerer Oberflächen. Die zusätzlichen Oberflächen werden an der Wurzeloberfläche angebracht. Die komplexe Struktur kann nur zerstört werden, indem die Wurzel zerstört wird. |
DDSCAPS_FLIP | Diese Oberfläche ist Teil einer Oberflächen-Flip-Struktur. Wenn diese Funktion an die CreateSurface-Methode der Anwendung übergeben wird, werden ein Frontpuffer und mindestens ein Backpuffer 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. Das dwBackBufferCount-Element der DDSURFACEDESC-Struktur muss auf mindestens 1 festgelegt werden, damit der Methodenaufruf erfolgreich ist. 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 vordere Puffer einer Oberflächen-Flipping-Struktur. Dieses Flag wird in der Regel durch die CreateSurface-Methode der Anwendung festgelegt, wenn die DDSCAPS_FLIP-Funktion festgelegt ist. 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-Funktion. Sie kann mit der AddAttachedSurface-Methode der Anwendung an andere Rückpuffer angefügt werden, um eine Flipping-Struktur zu bilden. |
DDSCAPS_HWCODEC | Diese Oberfläche sollte in der Lage sein, einen Stream von der Hardware zu dekomprimieren. |
DDSCAPS_LIVEVIDEO | Diese Oberfläche sollte In der Lage sein, Livevideos zu empfangen. |
DDSCAPS_LOCALVIDMEM | Diese Oberfläche ist im lokalen Anzeigespeicher true und nicht im nicht lokalen Anzeigespeicher vorhanden. Wenn dieses Flag angegeben wird, muss auch DDSCAPS_VIDEOMEMORY angegeben werden. Dieses Flag kann nicht mit dem flag DDSCAPS_NONLOCALVIDMEM 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 eine Reihe von Oberflächen erstellt und mit der AddAttachedSurface-Methode der Anwendung oder implizit mit der CreateSurface-Methode der Anwendung angefügt wird. 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 lokalen Anzeigespeicher vorhanden. Wenn dieses Flag angegeben wird, muss auch DDSCAPS_VIDEOMEMORY Flag angegeben werden. Dies kann nicht mit dem flag DDSCAPS_LOCALVIDMEM verwendet werden. |
DDSCAPS_OFFSCREENPLAIN | Bei dieser Oberfläche handelt es sich um eine Beliebige Offscreen-Oberfläche, die keine Überlagerung, Textur, Z-Puffer, Frontpuffer, Rückpuffer 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 direkt sichtbar sein oder nicht, je nachdem, ob es derzeit auf der primären Oberfläche überlagert wird. DDSCAPS_VISIBLE kann verwendet werden, um zu bestimmen, ob es gerade überlagert wird. |
DDSCAPS_OWNDC | Diese Oberfläche weist für einen längeren Zeitraum eine Gerätekontextzuordnung (Device Context, DC) auf. |
DDSCAPS_PALETTE | Mit diesem Gerätetreiber können eindeutige DirectDrawPalette-Objekte erstellt und an diese Oberfläche angefügt werden. |
DDSCAPS_PRIMARYSURFACE | Die Oberfläche ist die primäre Oberfläche. Es stellt das dar, was für den Benutzer im Moment sichtbar ist. |
DDSCAPS_PRIMARYSURFACELEFT | Diese Oberfläche ist die primäre Oberfläche für das linke Auge. Es stellt dar, was für das linke Auge des Benutzers im Moment sichtbar ist. Wenn diese Oberfläche erstellt wird, stellt die Oberfläche mit der funktion DDSCAPS_PRIMARYSURFACE das dar, was vom rechten Auge des Benutzers gesehen wird. |
DDSCAPS_STANDARDVGAMODE | Diese Oberfläche ist eine Standardoberfläche im VGA-Modus und keine ModeX-Oberfläche. Dieses Flag kann nicht in Kombination mit dem flag DDSCAPS_MODEX verwendet werden. |
DDSCAPS_SYSTEMMEMORY | Dieser Oberflächenspeicher wurde im Systemspeicher zugeordnet. |
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 werden, und Texturzuordnungen, während sie texturiert werden. |
DDSCAPS_WRITEONLY | Nur Schreibzugriff auf die Oberfläche ist zulässig. Der Lesezugriff von der Oberfläche kann einen allgemeinen Schutzfehler (General Protection Fault, GPF) generieren, aber die Leseergebnisse von dieser Oberfläche sind 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 es Bittiefeninformationen, die verwendet werden, um zu bestimmen, welche Pixel sichtbar sind und welche verdeckt sind. |
dwFormatFlags
Gibt einen Satz optionaler Steuerelementflags an. Dieses Element kann auf eine Kombination der folgenden Flags festgelegt werden:
Flag | Bedeutung |
---|---|
DDPF_ALPHA | Das Pixelformat beschreibt eine reine Alphaoberfläche. |
DDPF_ALPHAPIXELS | Die Oberfläche enthält Alphakanalinformationen im Pixelformat. |
DDPF_ALPHAPREMULT | Ist für das System reserviert. |
DDPF_BUMPDUDV | Bump Map-dUdV-Daten im Pixelformat sind gültig. |
DDPF_BUMPLUMINANCE | Luminanzdaten im Pixelformat sind gültig. Dieses Flag wird verwendet, wenn die Luminance von Bumpmap-Oberflächen hängt. die Bitmaske für den Luminanzteil des Pixels wird dann durch das dwBumpLuminanceBitCount-Element der DDPIXELFORMAT-Struktur angezeigt. |
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 | Luminancedaten 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 1-Bit-Farbe indiziert. |
DDPF_PALETTEINDEXED2 | Die Oberfläche ist 2-Bit-Farbindiziert. |
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 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 reine Z-Puffer-Oberfläche. |
DDPF_ZPIXELS | Die Oberfläche hat das RGBZ-Format. |
dwFormatFourCC
Gibt den FOURCC-Code an. Weitere Informationen zu FOURCC-Codes finden Sie in der Dokumentation zum DirectX SDK.
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) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für