Freigeben über


DirectDrawCreate-Funktion (ddraw.h)

Erstellt eine instance eines DirectDraw-Objekts. Ein DirectDraw-Objekt, das mit dieser Funktion erstellt wird, unterstützt nicht den vollständigen Satz von Direct3D-Schnittstellen in DirectX 7.0. Verwenden Sie die DirectDrawCreateEx-Funktion , um ein DirectDraw-Objekt zu erstellen, das alle Features von Direct3D in DirectX 7.0 verfügbar machen kann.

Syntax

HRESULT DirectDrawCreate(
  [in]  GUID         *lpGUID,
  [out] LPDIRECTDRAW *lplpDD,
  [in]  IUnknown     *pUnkOuter
);

Parameter

[in] lpGUID

Ein Zeiger auf den global eindeutigen Bezeichner (Globally Unique Identifier, GUID), der den zu erstellenden Treiber darstellt. Dies kann NULL sein, um den aktiven Anzeigetreiber anzugeben, oder Sie können eines der folgenden Flags übergeben, um das Verhalten des aktiven Anzeigetreibers für Debugzwecke einzuschränken:

DDCREATE_EMULATIONONLY

Das DirectDraw-Objekt verwendet Emulation für alle Features. Es nutzt keine hardwaregestützten Features.

DDCREATE_HARDWAREONLY

Das DirectDraw-Objekt emuliert niemals Features, die von der Hardware nicht unterstützt werden. Versuche, Methoden aufzurufen, die nicht unterstützte Features erfordern, schlagen fehl und geben DDERR_UNSUPPORTED zurück.

[out] lplpDD

Ein Zeiger auf eine Variable, die auf einen gültigen IDirectDraw-Schnittstellenzeiger festgelegt werden soll, wenn der Aufruf erfolgreich ist.

[in] pUnkOuter

Ermöglicht zukünftige Kompatibilität mit COM-Aggregationsfeatures. Derzeit gibt diese Funktion jedoch einen Fehler zurück, wenn dieser Parameter nicht NULL ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert DD_OK.

Wenn ein Fehler auftritt, kann die Funktion einen der folgenden Fehlerwerte zurückgeben:

  • DDERR_DIRECTDRAWALREADYCREATED
  • DDERR_GENERIC
  • DDERR_INVALIDDIRECTDRAWGUID
  • DDERR_INVALIDPARAMS
  • DDERR_NODIRECTDRAWHW
  • DDERR_OUTOFMEMORY

Hinweise

Diese Funktion versucht, ein DirectDraw-Objekt zu initialisieren, und legt dann einen Zeiger auf das -Objekt fest, wenn der Aufruf erfolgreich ist.

Wenn Sie auf Computern mit mehreren Monitoren NULL für lpGUID angeben, wird das DirectDraw-Objekt im Emulationsmodus ausgeführt, wenn die normale Kooperativebene festgelegt ist. Um die Hardwarebeschleunigung auf diesen Computern zu nutzen, geben Sie die GUID des Geräts an.

Sie müssen LoadLibrary verwenden, um explizit eine Verknüpfung mit Ddraw.dll und dann GetProcAddress für den Zugriff auf die DirectDrawCreate-Funktion zu verwenden.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ddraw.h
Bibliothek Ddraw.lib
DLL Ddraw.dll