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

Weitere Informationen

Unterstützung des Grafikclients auf niedriger Ebene