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 |