NtGdiDdQueryDirectDrawObject-Funktion

[Diese Funktion kann bei jeder Betriebssystemrevision geändert werden. Verwenden Sie stattdessen DirectDraw und Microsoft Direct3DAPIs. Diese APIs isolieren Anwendungen vor solchen Betriebssystemänderungen und verbergen viele andere Schwierigkeiten bei der direkten Interaktion mit Anzeigetreibern.]

Fragt eine zuvor erstellte Kernelmodusdarstellung eines Microsoft DirectDraw-Objekts nach seinen Funktionen ab.

Syntax

BOOL APIENTRY NtGdiDdQueryDirectDrawObject(
  _In_  HANDLE                      hDirectDrawLocal,
  _Out_ DD_HALINFO                  *pHalInfo,
        DWORD                       *pCallBackFlags,
  _Out_ LPD3DNTHAL_CALLBACKS        puD3dCallbacks,
  _Out_ LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
  _Out_ PDD_D3DBUFCALLBACKS         puD3dBufferCallbacks,
  _Out_ LPDDSURFACEDESC             puD3dTextureFormats,
  _Out_ DWORD                       *puNumHeaps,
  _Out_ VIDEOMEMORY                 *puvmList,
  _Out_ DWORD                       *puNumFourCC,
  _Out_ DWORD                       *puFourCC
);

Parameter

hDirectDrawLocal [ In]

Handle für das zuvor erstellte DirectDraw-Gerät im Kernelmodus.

pHalInfo [ out]

Zeiger auf eine _ DD-INFO-Struktur, die mit den Funktionen des Geräts gefüllt wird. Weitere Informationen finden Sie in der DDK-Dokumentation.

pCallBackFlags

Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der vom Treiber gemeldete Rückrufflags speichert. Der Puffer sollte die Größe 3 sizeof(DWORD) haben und Rückrufflags in der folgenden Reihenfolge * speichern: pCallBackFlags 0 für [ ] Flags in DD _ CALLBACKS,pCallBackFlags 1 für [ ] Flags in DD _ SURFACECALLBACKSund pCallBackFlags 2 für [ ] Flags in DD _ PALETTECALLBACKS. Weitere Informationen finden Sie in der DDK-Dokumentation.

puD3dCallbacks [ out]

Zeiger auf eine Tabelle mit Direct3D-Rückrufzeigern. Die Tabelle wird mit Zeigern auf Funktionen in der Gdi32.dll, die einen Direct3D-Anzeigetreiber initieren. Diese Rückruftabelle ist identisch mit der D3DHAL _ D3DCALLBACKS-Struktur, die in der DDK-Dokumentation erläutert wird.

puD3dDriverData [ out]

Zeiger auf D3DHAL _ GLOBALDRIVERDATA-Daten, wie in der DDK-Dokumentation beschrieben.

puD3dBufferCallbacks [ out]

Zeiger auf eine Tabelle mit Rückrufzeigern. Die Tabelle wird mit Zeigern auf Funktionen in der Gdi32.dll, die einen Direct3D-Anzeigetreiber initieren. Diese Rückruftabelle ist identisch mit der DDHAL _ DDEXEBUFCALLBACKS-Struktur, die der DD _ D3DBUFCALLBACKS-Struktur entspricht, die in der DDK-Dokumentation erläutert wird, mit der Ausnahme, dass die Elemente XxxD3DBuffer in _ DD D3DBUFCALLBACKS in DDHAL DDEXEBUFCALLBACKS durch XxxExecuteBuffer ersetzt _ werden.

puD3dTextureFormats [ out]

Zeiger auf ein Array von DDSURFACEDESC-Strukturen, die den Satz zulässiger Texturformate definieren.

puNumHeaps [ out]

Zeiger auf den dwNumHeaps-Member von _ DDINFO.vmiData. Der dwNumHeaps-Member gibt die Anzahl der Speicherheaps in puvmList an. Weitere Informationen finden Sie in der DDK-Dokumentation.

puvmList [ out]

Zeiger auf eine Liste von Heapdeskriptoren für den Videospeicher. Kann NULL sein. Dieser Parameter wird nicht verwendet, da die Verwaltung des Videospeichers vollständig im Kernelmodus erfolgt.

puNumFourCC [ out]

Zeiger auf den puNumFourCCCodes-Member von DD _ CODINFO.ddCaps. Das puNumFourCCCodes-Element gibt die Anzahl von FOURCC-Codes (Four-Character Codes) an, die der Treiber unterstützt. Weitere Informationen finden Sie in der DDK-Dokumentation.

puFourCC [ out]

Zeiger auf eine Liste unterstützter FOURCC-Oberflächenformate (Four-Character Codes). Kann NULL sein.

Rückgabewert

Wenn dies erfolgreich ist, 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 puFourCC, puvmList und puD3dTextureFormats NULL sein, und DdQueryDirectDrawObject füllt _ DDRATESINFO aus.ddCaps. dwNumFourCCCodes, _ DDRATESINFO.vmiData. dwNumHeaps und D3DHAL _ GLOBALDRIVERDATA.dwNumTextureFormats mit der Anzahl von Einträgen, die zurückgegeben werden sollen. Im zweiten Aufruf sollte der Aufrufer Arrays der angegebenen Größe zuordnen und diese Zeiger anstelle von NULL-Werten in den Parametern puFourCC, puvmList und puD3dTextureFormats übergeben. Die Arrays werden dann mit den 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 Prozess der Geräteerstellung 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]
Header
Ntgdi.h

Siehe auch

Clientunterstützung auf niedriger Grafikebene

DdQueryDirectDrawObject

NtGdiDdCreateDirectDrawObject