PFND3DDDI_MAPGPUVIRTUALADDRESSCB回呼函式 (d3dumddi.h)
pfnMapGpuVirtualAddressCb 會將 GPU 虛擬位址 (VA) 範圍對應到特定配置範圍,或將它放入 Invalid 或 Zero 狀態。
語法
PFND3DDDI_MAPGPUVIRTUALADDRESSCB Pfnd3dddiMapgpuvirtualaddresscb;
HRESULT Pfnd3dddiMapgpuvirtualaddresscb(
HANDLE hDevice,
D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam2
)
{...}
參數
hDevice
顯示裝置的句柄。
unnamedParam2
[in/out] pDate 是描述要執行的作業 之D3DDDI_MAPGPUVIRTUALADDRESS 結構的指標。
傳回值
pfnMapGpuVirtualAddressCb 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
S_OK | 作業已成功完成。 |
E_PENDING | 呼叫成功,但作業未完成。 呼叫端必須先等候傳回的柵欄值,才能存取配置。 |
此函式也可能傳回其他值。
備註
使用者模式驅動程式可以指定基底 GPU 虛擬位址, (VA) 對應,或讓視訊記憶體管理員自動挑選一個。 指定非 NULL BaseAddress 值時,從 BaseAddress 到 BaseAddress+Size 的整個範圍都必須處於釋放狀態,或屬於透過呼叫 pfnMapGpuVirtualAddressCb 或 pfnReserveGpuVirtualAddressCb 取得的 VA 範圍。 指定 Protection.Zero 或 Protection.NoAccess 時,VA 範圍不能屬於呼叫 pfnMapGpuVirtualAddressCb 取得的範圍。
使用者模式驅動程式可以指定對應是否應該允許寫入和執行許可權,以及預設一律存在的讀取許可權。
在鏈接的顯示配接器 (LDA) 組態中,分頁佇列會定義頁面數據表修改的實體 GPU,如果不是 NULL) 則定義頁面數據表專案所指向的位置,則配置句柄 (。 配置可以駐留在任何實體 GPU 記憶體區段中。
當 GPU VA (GPU VA 對應至) 損毀時,就會釋放 API 所配置的 GPU VA 範圍。 VA 範圍也可以藉由呼叫 PFND3DDDI_FREEGPUVIRTUALADDRESSCB 來釋放,但如有必要,這必須與配置解構進行同步處理。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
目標平台 | 桌面 |
標頭 | d3dumddi.h (包含 D3dumddi.h) |