Freigeben über


DirectDrawCreateEx-Funktion (ddraw.h)

Erstellt eine instance eines DirectDraw-Objekts, das den Satz von Direct3D-Schnittstellen in DirectX 7.0 unterstützt. Um die Features von Direct3D in DirectX 7.0 zu verwenden, erstellen Sie ein DirectDraw-Objekt mit dieser Funktion.

Syntax

HRESULT DirectDrawCreateEx(
  [in]  GUID     *lpGuid,
  [out] LPVOID   *lplpDD,
  [in]  REFIID   iid,
  [in]  IUnknown *pUnkOuter
);

Parameter

[in] lpGuid

Ein Zeiger auf den 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 Debuggingzwecke einzuschränken:

DDCREATE_EMULATIONONLY

Das DirectDraw-Objekt verwendet die 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 IDirectDraw7-Schnittstellenzeiger festgelegt werden soll, wenn der Aufruf erfolgreich ist.

[in] iid

Dieser Parameter muss auf IID_IDirectDraw7 festgelegt werden. Diese Funktion schlägt fehl und gibt DDERR_INVALIDPARAMS zurück, wenn eine andere Schnittstelle angegeben ist.

[in] pUnkOuter

Ermöglicht zukünftige Kompatibilität mit COM-Aggregationsfeatures. Derzeit gibt diese Funktion 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 DirectDrawCreateEx-Funktion zu verwenden.

Anforderungen

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