DdQueryDirectDrawObject-Funktion (ddrawgdi.h)
[Diese Funktion kann sich bei jeder Betriebssystemrevision ändern. Verwenden Sie stattdessen Microsoft DirectDraw und Microsoft Direct3DAPIs. Diese APIs isolieren Anwendungen vor solchen Betriebssystemänderungen und blenden viele andere Probleme aus, die bei der direkten Interaktion mit Anzeigetreibern auftreten.]
Wrapper für die NtGdiDdQueryDirectDrawObject-Funktion und fragt eine zuvor erstellte Kernelmodusdarstellung für Funktionen ab.
GdiEntry2 ist als Alias für diese Funktion definiert.
Syntax
BOOL DdQueryDirectDrawObject(
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
LPDDHALINFO pHalInfo,
LPDDHAL_DDCALLBACKS pDDCallbacks,
LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
LPD3DHAL_CALLBACKS pD3dCallbacks,
LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
LPDDSURFACEDESC pD3dTextureFormats,
LPDWORD pdwFourCC,
LPVIDMEM pvmList
);
Parameter
pDirectDrawGlobal
Zeiger auf ein DirectDraw-Objekt im Benutzermodus, für das zuvor mit DdCreateDirectDrawObject ein kernelseitiges Objekt erstellt wurde.
pHalInfo
Zeiger auf eine DDHALINFO-Struktur , die mit den Funktionen des Geräts gefüllt wird. Weitere Informationen finden Sie in der DDK-Dokumentation.
pDDCallbacks
Zeiger auf eine Tabelle mit Rückrufzeigern. Die Tabelle ist mit Zeigern auf Funktionen in Gdi32.dll gefüllt, die einen DirectDraw-Anzeigetreiber imitieren. Diese Rückruftabelle ist identisch mit der DDHAL_DDCALLBACKS-Struktur, die der in der DDK-Dokumentation beschriebenen DD_CALLBACKS-Struktur entspricht.
pDDSurfaceCallbacks
Zeiger auf eine Tabelle mit Surface-Rückrufzeigern. Die Tabelle ist mit Zeigern auf Funktionen in Gdi32.dll gefüllt, die einen DirectDraw-Anzeigetreiber imitieren. Diese Rückruftabelle ist identisch mit der DDHAL_DDSURFACECALLBACKS-Struktur, die der in der DDK-Dokumentation beschriebenen DD_SURFACECALLBACKS-Struktur entspricht.
pDDPaletteCallbacks
Zeiger auf eine Tabelle mit Palettenrückrufzeigern. Die Tabelle ist mit Zeigern auf Funktionen in Gdi32.dll gefüllt, die einen DirectDraw-Anzeigetreiber imitieren. Diese Rückruftabelle ist identisch mit der DDHAL_DDPALETTECALLBACKS-Struktur, die der in der DDK-Dokumentation beschriebenen DD_PALETTECALLBACKS-Struktur entspricht.
pD3dCallbacks
Zeiger auf eine Tabelle mit Direct3D-Rückrufzeigern. Die Tabelle ist mit Zeigern auf Funktionen in Gdi32.dll gefüllt, die einen Direct3D-Anzeigetreiber imitieren. Diese Rückruftabelle ist mit der in der DDK-Dokumentation beschriebenen D3DHAL_CALLBACKS-Struktur identisch.
pD3dDriverData
Zeiger auf D3DHAL_GLOBALDRIVERDATA Daten, wie in der DDK-Dokumentation beschrieben.
pD3dBufferCallbacks
Zeiger auf eine Tabelle mit Rückrufzeigern. Die Tabelle ist mit Zeigern auf Funktionen in Gdi32.dll gefüllt, die einen Direct3D-Anzeigetreiber imitieren. Diese Rückruftabelle ist identisch mit der DDHAL_DDEXEBUFCALLBACKS-Struktur, die der in der DDK-Dokumentation beschriebenen DD_D3DBUFCALLBACKS-Struktur zugeordnet ist, mit der Ausnahme, dass XxxD3DBuffer-Member in DD_D3DBUFCALLBACKS durch XxxExecuteBuffer in DDHAL_DDEXEBUFCALLBACKS ersetzt werden.
pD3dTextureFormats
Zeiger auf ein Array von DDSURFACEDESC-Strukturen , die den Satz zulässiger Texturformate definieren.
pdwFourCC
Zeiger auf eine Liste der unterstützten Vierzeichencodes (FOURCC)- Oberflächenformate. Kann NULL sein.
pvmList
Zeiger auf eine Liste von Videospeicher-Heapdeskriptoren. Kann NULL sein. Dieser Parameter wird nicht verwendet, da die Videospeicherverwaltung vollständig im Kernelmodus verarbeitet wird.
Rückgabewert
Bei erfolgreicher Ausführung gibt diese Funktion TRUE zurück. Andernfalls wird FALSE zurückgegeben.
Hinweise
Ein Aufruf dieser Funktion ist so konzipiert, dass er in einem zweistufigen Prozess erfolgt. Im ersten Schritt sollten pdwFourCC, pvmList und pD3dTextureFormatsNULL sein, und DdQueryDirectDrawObject füllt DDHALINFO aus. ddCaps. dwNumFourCCCodes, DDHALINFO. vmiData. dwNumHeaps und D3DHAL_GLOBALDRIVERDATA. dwNumTextureFormats mit der Anzahl der zurückzugebenden Einträge. Im zweiten Aufruf sollte der Aufrufer Arrays der angegebenen Größe zuordnen und diese Zeiger anstelle von NULL-Werten in den Parametern pdwFourCC, pvmList und pD3dTextureFormats übergeben. Die Arrays werden dann mit entsprechenden Daten aufgefüllt.
Anwendungen wird empfohlen, die DirectDraw- und Direct3D-APIs zum Erstellen und Verwalten von Grafikgeräteobjekten zu verwenden. Diese Konstrukte abstrahieren den Geräteerstellungsprozess auf vereinfachte und betriebssystemunabhängige Weise.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ddrawgdi.h |