IDirectDrawSurface7-Schnittstelle (ddraw.h)
Anwendungen verwenden die Methoden der IDirectDrawSurface7-Schnittstelle , um DirectDrawSurface-Objekte zu erstellen und mit Variablen auf Systemebene zu arbeiten. Dieser Abschnitt enthält einen Verweis auf die Methoden dieser Schnittstelle.
Die IDirectDrawSurface7-Schnittstelle erbt von der IUnknown-Schnittstelle . IDirectDrawSurface7 verfügt auch über folgende Membertypen:
Die IDirectDrawSurface7-Schnittstelle verfügt über diese Methoden.
IDirectDrawSurface7::AddAttachedSurface Fügt die angegebene Z-Pufferoberfläche an diese Oberfläche an. |
IDirectDrawSurface7::AddOverlayDirtyRect Die IDirectDrawSurface7::AddOverlayDirtyRect-Methode ist derzeit nicht implementiert. |
IDirectDrawSurface7::Blt Führt eine Bitblockübertragung (Bitblt) aus. Diese Methode unterstützt bei Bitblt-Vorgängen keine Z-Pufferung oder Alphamischung. |
IDirectDrawSurface7::BltBatch Die IDirectDrawSurface7::BltBatch-Methode ist derzeit nicht implementiert. |
IDirectDrawSurface7::BltFast Führt eine Bitblt- oder transparente Bitblt-Quellkopie mithilfe eines Quellfarbschlüssels oder Zielfarbschlüssels aus. |
IDirectDrawSurface7::ChangeUniquenessValue Aktualisiert den Eindeutigkeitswert für diese Oberfläche manuell. |
IDirectDrawSurface7::D eleteAttachedSurface Trennt eine oder mehrere angefügte Flächen. |
IDirectDrawSurface7::EnumAttachedSurfaces Listet alle Oberflächen auf, die an dieser Oberfläche angebracht sind. |
IDirectDrawSurface7::EnumOverlayZOrders Listet die Überlagerungsflächen auf dem angegebenen Ziel auf. Sie können die Überlagerungen in vorderer oder back-to-front-Reihenfolge aufzählen. |
IDirectDrawSurface7::Flip Bewirkt, dass der Surface-Speicher, der der DDSCAPS_BACKBUFFER Oberfläche zugeordnet ist, der Frontpufferoberfläche zugeordnet wird. |
IDirectDrawSurface7::FreePrivateData Gibt die angegebenen privaten Daten frei, die dieser Oberfläche zugeordnet sind. |
IDirectDrawSurface7::GetAttachedSurface Ruft die angefügte Oberfläche ab, die über die angegebenen Funktionen verfügt, und erhöht die Verweisanzahl der abgerufenen Schnittstelle. |
IDirectDrawSurface7::GetBltStatus Ruft den Status eines Bitblockübertragungsvorgangs (Bitblt) ab. |
IDirectDrawSurface7::GetCaps Ruft die Funktionen dieser Oberfläche ab. Diese Funktionen beziehen sich nicht unbedingt auf die Funktionen des Anzeigegeräts. |
IDirectDrawSurface7::GetClipper Ruft das DirectDrawClipper-Objekt ab, das dieser Oberfläche zugeordnet ist, und erhöht die Verweisanzahl des zurückgegebenen Clippers. |
IDirectDrawSurface7::GetColorKey Ruft den Farbschlüsselwert für diese Oberfläche ab. |
IDirectDrawSurface7::GetDC Erstellt ein GDI-kompatibles Handle eines Gerätekontexts für diese Oberfläche. |
IDirectDrawSurface7::GetDDInterface Ruft eine Schnittstelle für das DirectDraw-Objekt ab, das zum Erstellen dieser Oberfläche verwendet wurde. |
IDirectDrawSurface7::GetFlipStatus Ruft den Status ab, ob diese Oberfläche den Kehrvorgang abgeschlossen hat. |
IDirectDrawSurface7::GetLOD Ruft die maximale Detailebene (Maximum Level of Detail, LOD) ab, die derzeit für eine verwaltete Mipmap-Oberfläche festgelegt ist. Diese Methode ist nur bei verwalteten Texturen erfolgreich. |
IDirectDrawSurface7::GetOverlayPosition Ruft die Anzeigekoordinaten dieser Oberfläche ab. Diese Methode wird auf einer sichtbaren, aktiven Überlagerungsoberfläche (d. a. einer Oberfläche mit festgelegtem DDSCAPS_OVERLAY Flag) verwendet. |
IDirectDrawSurface7::GetPalette Ruft das DirectDrawPalette-Objekt ab, das dieser Oberfläche zugeordnet ist, und erhöht die Verweisanzahl der zurückgegebenen Palette. |
IDirectDrawSurface7::GetPixelFormat Ruft die Farbe und das Pixelformat dieser Oberfläche ab. |
IDirectDrawSurface7::GetPriority Ruft die Texturverwaltungspriorität für diese Textur ab. Diese Methode ist nur bei verwalteten Texturen erfolgreich. |
IDirectDrawSurface7::GetPrivateData Kopiert die privaten Daten, die dieser Oberfläche zugeordnet sind, in einen bereitgestellten Puffer. |
IDirectDrawSurface7::GetSurfaceDesc Ruft eine Beschreibung dieser Oberfläche in ihrem aktuellen Zustand ab. |
IDirectDrawSurface7::GetUniquenessValue Ruft den aktuellen Eindeutigkeitswert für diese Oberfläche ab. |
IDirectDrawSurface7::Initialize Initialisiert ein DirectDrawSurface-Objekt. |
IDirectDrawSurface7::IsLost Bestimmt, ob der Surface-Speicher, der einem DirectDrawSurface-Objekt zugeordnet ist, freigegeben wurde. |
IDirectDrawSurface7::Lock Ruft einen Zeiger auf den Oberflächenspeicher ab. |
IDirectDrawSurface7::P ageLock Verhindert, dass eine Systemspeicheroberfläche ausgelagert wird, während ein Bitblockübertragungsvorgang (Bitblt) ausgeführt wird, der DMA-Übertragungen (Direct Memory Access) zum oder vom Systemspeicher verwendet. |
IDirectDrawSurface7::P ageUnlock Entsperrt eine Systemspeicheroberfläche, sodass sie dann ausgelagert werden kann. |
IDirectDrawSurface7::ReleaseDC Gibt das Handle eines Gerätekontexts frei, der zuvor mithilfe der IDirectDrawSurface7::GetDC-Methode abgerufen wurde. |
IDirectDrawSurface7::Restore Stellt eine verloren gegangene Oberfläche wieder her. Dies tritt auf, wenn der dem DirectDrawSurface-Objekt zugeordnete Oberflächenspeicher freigegeben wurde. |
IDirectDrawSurface7::SetClipper Fügt ein Clipper-Objekt an diese Oberfläche an oder löscht ein Objekt aus dieser Oberfläche. |
IDirectDrawSurface7::SetColorKey Legt den Farbschlüsselwert für das DirectDrawSurface-Objekt fest, wenn die Hardware Farbtasten pro Oberfläche unterstützt. |
IDirectDrawSurface7::SetLOD Legt die maximale Detailebene (Maximum Level of Detail, LOD) für eine verwaltete Mipmap-Oberfläche fest. Diese Methode ist nur bei verwalteten Texturen erfolgreich. |
IDirectDrawSurface7::SetOverlayPosition Ändert die Anzeigekoordinaten einer Überlagerungsfläche. |
IDirectDrawSurface7::SetPalette Fügt ein Palettenobjekt an eine Oberfläche an (oder trennt es davon). Die Oberfläche verwendet diese Palette für alle nachfolgenden Vorgänge. Der Palettenwechsel erfolgt sofort, ohne Berücksichtigung des Aktualisierungszeitpunkts. |
IDirectDrawSurface7::SetPriority Weist dieser Textur die Priorität für die Texturverwaltung zu. Diese Methode ist nur bei verwalteten Texturen erfolgreich. |
IDirectDrawSurface7::SetPrivateData Ordnet Daten der Oberfläche zu, die für die Verwendung durch die Anwendung und nicht für DirectDraw vorgesehen ist. Daten werden nach Wert übergeben, und mehrere Datasets können einer einzelnen Oberfläche zugeordnet werden. |
IDirectDrawSurface7::SetSurfaceDesc Legt die Merkmale einer vorhandenen Oberfläche fest. |
IDirectDrawSurface7::Unlock Benachrichtigt DirectDraw, dass die direkten Oberflächenbearbeitungen abgeschlossen sind. |
IDirectDrawSurface7::UpdateOverlay Positioniert oder ändert die visuellen Attribute einer Überlagerungsoberfläche. Für diese Oberflächen muss das DDSCAPS_OVERLAY-Flag festgelegt sein. |
IDirectDrawSurface7::UpdateOverlayDisplay Die IDirectDrawSurface7::UpdateOverlayDisplay-Methode ist derzeit nicht implementiert. |
IDirectDrawSurface7::UpdateOverlayZOrder Legt die z-Reihenfolge eines Overlays fest. |
Die Methoden der IDirectDrawSurface7-Schnittstelle können in die folgenden Gruppen unterteilt werden:
Gruppieren | Methoden |
---|---|
Zuweisung von Arbeitsspeicher | Initialisieren, IsLost und Wiederherstellen |
Anbringen von Oberflächen | AddAttachedSurface, DeleteAttachedSurface, EnumAttachedSurfaces und GetAttachedSurface |
BitBltting | Blt, BltBatch, BltFast und GetBltStatus |
Farbtasten | GetColorKey und SetColorKey |
Gerätekontexte | GetDC und ReleaseDC |
Spiegeln | Flip und GetFlipStatus |
Sperren von Oberflächen | Lock, PageLock, PageUnlock und Unlock |
Sonstiges | GetDDInterface |
Überlagerungen | AddOverlayDirtyRect, EnumOverlayZOrders, GetOverlayPosition, SetOverlayPosition, UpdateOverlay, UpdateOverlayDisplay und UpdateOverlayZOrder |
Private Surface-Daten | FreePrivateData, GetPrivateData und SetPrivateData |
Surface-Funktionen | GetCaps |
Surface Clipper | GetClipper und SetClipper |
Oberflächeneigenschaften | ChangeUniquenessValue, GetPixelFormat, GetSurfaceDesc, GetUniquenessValue und SetSurfaceDesc |
Oberflächenpaletten | GetPalette und SetPalette |
Texturen | GetLOD, GetPriority, SetLOD und SetPriority |
Die IDirectDrawSurface7-Schnittstelle erweitert die Features früherer Versionen der Schnittstelle um Methoden, die eine bessere Oberflächenverwaltung und Benutzerfreundlichkeit bieten. Viele Methoden in dieser Schnittstelle akzeptieren leicht andere Parameter als ihre Entsprechungen in früheren Versionen der Schnittstelle. Unabhängig davon, wo eine IDirectDrawSurface3-Schnittstellenmethode eine DDSURFACEDESC-Struktur oder eine IDirectDrawSurface3-Schnittstelle akzeptiert, akzeptieren die Methoden in IDirectDrawSurface7 stattdessen eine DDSURFACEDESC2-Struktur oder eine IDirectDrawSurface7-Schnittstelle .
Verwenden Sie den Datentyp LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4 oder LPDIRECTDRAWSURFACE7, um eine Variable zu deklarieren, die auf verschiedene DirectDrawSurface-Objektschnittstellen verweist. Die Ddraw.h-Headerdatei deklariert diese Datentypen mit dem folgenden Code:
typedef struct IDirectDrawSurface FAR *LPDIRECTDRAWSURFACE;
typedef struct IDirectDrawSurface2 FAR *LPDIRECTDRAWSURFACE2;
typedef struct IDirectDrawSurface3 FAR *LPDIRECTDRAWSURFACE3;
typedef struct IDirectDrawSurface4 FAR *LPDIRECTDRAWSURFACE4;
typedef struct IDirectDrawSurface7 FAR *LPDIRECTDRAWSURFACE7;
Zielplattform | Windows |
Kopfzeile | ddraw.h |