DdQueryDirectDrawObject 函式 (ddrawgdi.h)

[此函式可能會隨著每個作業系統修訂而變更。 請改用 Microsoft DirectDraw 和 Microsoft Direct3DAPIs;這些 API 會隔離應用程式與這類操作系統變更,並隱藏與顯示驅動程式直接互動所涉及的許多其他困難。

NtGdiDdQueryDirectDrawObject 函式的包裝函式,並查詢先前為功能建立的核心模式表示法。

GdiEntry2 定義為此函式的別名。

語法

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
);

參數

pDirectDrawGlobal

先前使用 DdCreateDirectDrawObject 建立核心端對象的使用者模式 DirectDraw 物件的指標。

pHalInfo

將填入裝置功能的 DDHALINFO 結構的指標。 如需詳細資訊,請參閱 DDK 檔。

pDDCallbacks

回呼指標數據表的指標。 數據表會填入 Gdi32.dll 內模擬 DirectDraw 顯示驅動程式之函式的指標。 此回呼數據表與DDHAL_DDCALLBACKS結構相同,對應至 DDK 檔中討論 的DD_CALLBACKS 結構。

pDDSurfaceCallbacks

介面回呼指標數據表的指標。 數據表會填入 Gdi32.dll 內模擬 DirectDraw 顯示驅動程式之函式的指標。 此回呼數據表與DDHAL_DDSURFACECALLBACKS結構相同,對應至 DDK 檔中討論 的DD_SURFACECALLBACKS 結構。

pDDPaletteCallbacks

調色盤回呼指標的數據表指標。 數據表會填入 Gdi32.dll 內模擬 DirectDraw 顯示驅動程式之函式的指標。 此回呼數據表與DDHAL_DDPALETTECALLBACKS結構相同,對應至 DDK 檔中討論 的DD_PALETTECALLBACKS 結構。

pD3dCallbacks

Direct3D 回呼指標的數據表指標。 數據表會填入 Gdi32.dll 內模擬 Direct3D 顯示器驅動程式之函式的指標。 此回呼數據表與 DDK 檔中討論 的D3DHAL_CALLBACKS 結構相同。

pD3dDriverData

D3DHAL_GLOBALDRIVERDATA數據的指標,如 DDK 檔中所述。

pD3dBufferCallbacks

回呼指標數據表的指標。 數據表會填入 Gdi32.dll 內模擬 Direct3D 顯示器驅動程式之函式的指標。 此回呼數據表與DDHAL_DDEXEBUFCALLBACKS結構相同,其對應至 DDK 檔中討論的 DD_D3DBUFCALLBACKS 結構,不同之處在於 DD_D3DBUFCALLBACKS 中的成員 XxxD3DBuffer 會取代為 DDHAL_DDEXEBUFCALLBACKS 中的 XxxExecuteBuffer。

pD3dTextureFormats

定義允許紋理格式集合之 DDSURFACEDESC 結構的數位指標。

pdwFourCC

支援的 四個字元代碼清單指標, (FOURCC) 介面格式。 可以是 NULL

pvmList

影片記憶體堆積描述項清單的指標。 可以是 NULL。 不會使用此參數,因為視訊記憶體管理會在核心模式中完全處理。

傳回值

如果成功,此函式會傳回 TRUE;否則會傳回 FALSE

備註

此函式的呼叫是設計成在雙步驟程式中進行。 在第一個步驟中, pdwFourCCpvmListpD3dTextureFormats 應該是 NULL,而 DdQueryDirectDrawObject 將會填入 DDHALINFOddCapsdwNumFourCCCodesDDHALINFO.vmiDatadwNumHeapsD3DHAL_GLOBALDRIVERDATAdwNumTextureFormats ,其中包含要傳回的項目數。 第二次呼叫時,呼叫端應該配置指定大小的陣列,並傳遞這些指標,而不是 pdwFourCCpvmListpD3dTextureFormats 參數中的 NULL 值。 數位接著會填入適當的數據。

建議您使用 DirectDraw 和 Direct3D API 來建立和管理圖形裝置物件。 這些建構會以簡化且與操作系統無關的方式抽象化裝置建立程式。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 ddrawgdi.h

另請參閱

圖形低階客戶端支援