Freigeben über


IDirectDraw7-Schnittstelle (ddraw.h)

Anwendungen verwenden die Methoden der IDirectDraw7-Schnittstelle , um DirectDraw-Objekte zu erstellen und mit Variablen auf Systemebene zu arbeiten. In diesem Abschnitt wird auf die Methoden der IDirectDraw7-Schnittstelle verwiesen.

Vererbung

Die IDirectDraw7-Schnittstelle erbt von der IUnknown-Schnittstelle . IDirectDraw7 verfügt auch über folgende Typen von Membern:

Methoden

Die IDirectDraw7-Schnittstelle verfügt über diese Methoden.

 
IDirectDraw7::Compact

Diese Methode ist derzeit nicht implementiert. (IDirectDraw7.Compact)
IDirectDraw7::CreateClipper

Erstellt ein DirectDrawClipper-Objekt.
IDirectDraw7::CreatePalette

Erstellt ein DirectDrawPalette-Objekt für dieses DirectDraw-Objekt.
IDirectDraw7::CreateSurface

Erstellt ein DirectDrawSurface-Objekt für dieses DirectDraw-Objekt.
IDirectDraw7::D uplicateSurface

Dupliziert ein DirectDrawSurface-Objekt.
IDirectDraw7::EnumDisplayModes

Listet alle Anzeigemodi auf, die die Hardware über das DirectDraw-Objekt verfügbar macht und die mit einer bereitgestellten Oberflächenbeschreibung kompatibel sind.
IDirectDraw7::EnumSurfaces

Listet alle vorhandenen oder möglichen Oberflächen auf, die der angegebenen Oberflächenbeschreibung entsprechen.
IDirectDraw7::EvaluateMode

Wird nach einem Aufruf von IDirectDraw7::StartModeTest verwendet, um jeden modus, den der Test darstellt, zu bestehen oder fehlzuschlagen und die Modi zu durchlaufen, bis der Test abgeschlossen ist.
IDirectDraw7::FlipToGDISurface

Erstellt die Oberfläche, die der GDI in die primäre Oberfläche schreibt.
IDirectDraw7::GetAvailableVidM

Ruft die Gesamtmenge des verfügbaren Anzeigespeichers und die Menge des derzeit freien Anzeigespeichers für einen bestimmten Oberflächentyp ab.
IDirectDraw7::GetCaps

Ruft die Funktionen des Gerätetreibers für die Hardware und die Hardwareemulationsebene (HEL) ab.
IDirectDraw7::GetDeviceIdentifier

Ruft Informationen zum Gerätetreiber ab. Diese Methode kann mit Vorsicht verwendet werden, um bestimmte Hardwareinstallationen zu erkennen, um Problemumgehungen für schlechtes Treiber- oder Chipsatzverhalten zu implementieren.
IDirectDraw7::GetDisplayMode

Ruft den aktuellen Anzeigemodus ab.
IDirectDraw7::GetFourCCCodes

Ruft die vierstelligen Codes (FOURCC) ab, die vom DirectDraw-Objekt unterstützt werden. Diese Methode kann auch die Anzahl der unterstützten Codes abrufen.
IDirectDraw7::GetGDISurface

Ruft das DirectDrawSurface-Objekt ab, das derzeit den Oberflächenspeicher darstellt, den GDI als primäre Oberfläche behandelt.
IDirectDraw7::GetMonitorFrequency

Ruft die Häufigkeit des Monitors ab, den das DirectDraw-Objekt steuert.
IDirectDraw7::GetScanLine

Ruft die Scanlinie ab, die derzeit auf dem Monitor gezeichnet wird.
IDirectDraw7::GetSurfaceFromDC

Ruft die IDirectDrawSurface7-Schnittstelle für eine Oberfläche ab, basierend auf dem GDI-Gerätekontexthandle.
IDirectDraw7::GetVerticalBlankStatus

Ruft den Status des vertikalen Leerzeichens ab.
IDirectDraw7::Initialize

Initialisiert ein DirectDraw-Objekt, das mithilfe der Com-Funktion CoCreateInstance erstellt wurde.
IDirectDraw7::RestoreAllSurfaces

Stellt alle Oberflächen, die für das DirectDraw-Objekt erstellt wurden, in der Reihenfolge wieder her, in der sie erstellt wurden.
IDirectDraw7::RestoreDisplayMode

Setzt den Modus der Anzeigegerätehardware für die primäre Oberfläche auf den Wert zurück, der vor dem Aufruf der IDirectDraw7::SetDisplayMode-Methode war. Für die Verwendung dieser Methode ist Zugriff auf exklusiver Ebene erforderlich.
IDirectDraw7::SetCooperativeLevel

Bestimmt das Verhalten der Anwendung auf oberster Ebene.
IDirectDraw7::SetDisplayMode

Legt den Modus der Hardware des Anzeigegeräts fest.
IDirectDraw7::StartModeTest

Initiiert einen Test, um die Systemregistrierung mit Informationen zur Aktualisierungsrate für die aktuelle Kombination aus Grafikkarte und Monitor zu aktualisieren.
IDirectDraw7::TestCooperativeLevel

Meldet den aktuellen Status des DirectDraw-Geräts auf kooperativer Ebene für eine Fenster- oder Vollbildanwendung.
IDirectDraw7::WaitForVerticalBlank

Hilft der Anwendung, sich selbst mit dem vertikal-leeren Intervall zu synchronisieren.

Bemerkungen

Die Methoden der IDirectDraw7-Schnittstelle können in die folgenden Gruppen unterteilt werden:

Gruppieren Methoden
Zuweisung von Arbeitsspeicher Komprimieren und Initialisieren
Kooperative Ebenen SetCooperativeLevel und TestCooperativeLevel
Erstellen von Objekten CreateClipper, CreatePalette und CreateSurface
Gerätefunktionen GetCaps
Anzeigemodi EnumDisplayModes, GetDisplayMode, GetMonitorFrequency, RestoreDisplayMode, SetDisplayMode und WaitForVerticalBlank
Anzeigestatus GetScanLine und GetVerticalBlankStatus
Sonstiges EvaluateMode, GetAvailableVidMem, GetDeviceIdentifier, GetFourCCCodes und StartModeTest
Surface-Verwaltung DuplicateSurface, EnumSurfaces, FlipToGDISurface, GetGDISurface, GetSurfaceFromDC und RestoreAllSurfaces
 

Die IDirectDraw7-Schnittstelle erweitert die Features früherer Versionen der Schnittstelle um Methoden, die eine flexiblere Oberflächenverwaltung als frühere Versionen ermöglichen. Alle oberflächenbezogenen Methoden in der IDirectDraw7-Schnittstelle akzeptieren geringfügig andere Parameter als ihre Entsprechungen in der IDirectDraw2-Schnittstelle . Unabhängig davon, wo eine IDirectDraw2-Schnittstellenmethode eine DDSURFACEDESC-Struktur akzeptiert und eine IDirectDrawSurface3-Schnittstelle abruft, akzeptieren die Methoden in IDirectDraw7 eine DDSURFACEDESC2-Struktur und rufen stattdessen eine IDirectDrawSurface7-Schnittstelle ab.

IDirectDraw7 führt eine verbesserte Compliance mit COM-Regeln ein, die die Lebensdauer untergeordneter Objekte bestimmen.

Verwenden Sie die Datentypen LPDIRECTDRAW, LPDIRECTDRAW2, LPDIRECTDRAW4 oder LPDIRECTDRAW7, um eine Variable zu deklarieren, die einen Zeiger auf eine IDirectDraw-, IDirectDraw2-, IDirectDraw4- oder IDirectDraw7-Schnittstelle enthält. Die Ddraw.h-Headerdatei deklariert diese Datentypen mit dem folgenden Code:


typedef struct IDirectDraw     FAR *LPDIRECTDRAW;
typedef struct IDirectDraw2    FAR *LPDIRECTDRAW2;
typedef struct IDirectDraw4    FAR *LPDIRECTDRAW4;
typedef struct IDirectDraw7    FAR *LPDIRECTDRAW7;

Anforderungen

   
Zielplattform Windows
Kopfzeile ddraw.h