NtGdiDdQueryDirectDrawObject 函式
[此函式可能會隨著每個作業系統修訂而變更。 請改用 DirectDraw 和 Microsoft Direct3DAPIs;這些 API 會隔離應用程式與這類作業系統變更,並隱藏與顯示驅動程式直接互動所涉及的許多其他困難。
查詢先前建立的 Microsoft DirectDraw 物件核心模式表示,以取得其功能。
語法
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
);
參數
-
hDirectDrawLocal [in]
-
處理先前建立的核心模式 DirectDraw 裝置。
-
pHalInfo [out]
-
將填入裝置功能的 DD_HALINFO 結構的指標。 如需詳細資訊,請參閱 DDK 檔。
-
pCallBackFlags
-
呼叫端提供的緩衝區指標,該緩衝區會儲存驅動程式回報的回呼旗標。 緩衝區的大小應為 3*sizeof (DWORD ) ,並依下列順序儲存回呼旗標:DD_CALLBACKS中旗標的 pCallBackFlags[0]、DD_SURFACECALLBACKS中旗標的 pCallBackFlags[1] 和DD_PALETTECALLBACKS 中旗標的 pCallBackFlags[2]。 如需詳細資訊,請參閱 DDK 檔。
-
puD3dCallbacks [out]
-
Direct3D 回呼指標的資料表指標。 資料表會填入Gdi32.dll內模擬 Direct3D 顯示器驅動程式之函式的指標。 此回呼資料表與 DDK 檔中討論的D3DHAL_D3DCALLBACKS結構相同。
-
puD3dDriverData [out]
-
D3DHAL_GLOBALDRIVERDATA資料的指標,如 DDK 檔中所述。
-
puD3dBufferCallbacks [out]
-
回呼指標資料表的指標。 資料表會填入Gdi32.dll內模擬 Direct3D 顯示器驅動程式之函式的指標。 此回呼資料表與DDHAL_DDEXEBUFCALLBACKS結構相同,其對應至 DDK 檔中討論的 DD_D3DBUFCALLBACKS 結構,不同之處在于 DD_D3DBUFCALLBACKS 中的成員 XxxD3DBuffer 會取代為 DDHAL_DDEXEBUFCALLBACKS 中的 XxxExecuteBuffer。
-
puD3dTextureFormats [out]
-
定義允許紋理格式集合之 DDSURFACEDESC 結構的陣列指標。
-
puNumHeaps [out]
-
DD_HALINFO dwNumHeaps成員的指標。vmiData。 dwNumHeaps成員會指定puvmList中的記憶體堆積數目。 如需詳細資訊,請參閱 DDK 檔。
-
puvmList [out]
-
影片記憶體堆積描述項清單的指標。 可以是 Null。 不會使用此參數,因為視訊記憶體管理會在核心模式中完全處理。
-
puNumFourCC [out]
-
DD_HALINFO puNumFourCCCodes成員的指標。ddCaps。 puNumFourCCCodes成員會指定驅動程式支援的四個字元代碼 (FOURCC) 碼的數目。 如需詳細資訊,請參閱 DDK 檔。
-
puFourCC [out]
-
支援的 四個字元代碼清單指標, (FOURCC) 介面格式。 可以是 Null。
傳回值
如果成功,此函式會傳回 TRUE;否則會傳回 FALSE。
備註
此函式的呼叫是設計成在雙步驟程式中進行。 在第一個步驟中, puFourCC、 puvmList 和 puD3dTextureFormats 應該是 Null, 而 DdQueryDirectDrawObject 將會填入 DD_HALINFO。ddCaps。dwNumFourCCCodes, DD_HALINFO。vmiData。dwNumHeaps和 D3DHAL_GLOBALDRIVERDATA。dwNumTextureFormats ,其中包含要傳回的專案數。 在第二個呼叫中,呼叫端應該配置指定大小的陣列,並傳遞這些指標,而不是puFourCC、puvmList和puD3dTextureFormats參數中的Null值。 陣列接著會填入適當的資料。
建議您使用 DirectDraw 和 Direct3D API 來建立和管理圖形裝置物件。 這些建構會以簡化且與作業系統無關的方式抽象化裝置建立程式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
另請參閱