DXGKDDI_CREATEMEMORYBASIS回呼函式 (d3dkmddi.h)
KMD 的 DxgkDdiCreateMemoryBasis 函式會建立記憶體範圍的集合句柄,代表在骯髒的位追蹤期間所作的配置。
語法
DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;
HANDLE DxgkddiCreatememorybasis(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}
參數
hAdapter
[in]與顯示配接器相關聯的內容區塊句柄。 KMD 先前在 DxgiDdiAddDevice 函式的 MiniportDeviceContext 輸出參數中,提供此句柄來 Dxgkrnl。
pArgs
[in]DXGKARG_CREATEMEMORYBASIS 結構的指標,其中包含所建立基礎的資訊。
傳回值
DxgkDdiCreateMemoryBasis 會傳回 KMD 參考的 HANDLE,以追蹤範圍集合。 KMD 應該能夠在 DxgkDdiDestroyMemoryBasis等後續命令中,將此資訊轉換成基礎的資訊。
言論
追蹤 VRAM 上的修改作業適用於可能不連續支援的配置。 因此,在追蹤臟位時所表示的實體位址是由代表所作配置的範圍集合所組成。 DxgkDdiCreateMemoryBasis 會傳回 KMD 參考的句柄,以便追蹤這些範圍。
KMD 可以依賴下列非變異:
針對 Ranges中的每個範圍,SegmentOffset 和 (SegmentOffset + SizeInBytes - 1) 都代表 SegmentId所參考區段的有效位址。
所有 範圍 都是成對的脫離;也就是說,任何兩個範圍之間的交集一律為 Null。
SegmentOffset 和 SizeInBytes 通常會在建立的記憶體基礎用於特定骯髒的追蹤 DIS 時,遵守特定頁面對齊方式。 這些值會在這些 DDI 的參考頁面上描述,而且一律是多個 DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize。
Dxgkrnl 否則不會保證 Ranges 集合中位址的排序 或相關保證。
如需詳細資訊,請參閱 Dirty 位追蹤。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 11 版本 24H2 (WDDM 3.2) |
標頭 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |