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 |