D3DKMT_VIDMM_ESCAPE 結構 (d3dkmthk.h)
請勿使用 D3DKMT_VIDMM_ESCAPE 結構;僅供測試之用。
D3DKMT_VIDMM_ESCAPE 結構描述如何控制視訊記憶體管理員 (,這是 呼叫 D3DKMTEscape 函式中 Dxgkrnl.sys) 的一部分。
語法
typedef struct _D3DKMT_VIDMM_ESCAPE {
D3DKMT_VIDMMESCAPETYPE Type;
union {
struct {
union {
struct {
ULONG ProbeAndLock : 1;
ULONG SplitPoint : 1;
ULONG NoDemotion : 1;
ULONG SwizzlingAperture : 1;
ULONG PagingPathLockSubRange : 1;
ULONG PagingPathLockMinRange : 1;
ULONG ComplexLock : 1;
ULONG FailVARotation : 1;
ULONG NoWriteCombined : 1;
ULONG NoPrePatching : 1;
ULONG AlwaysRepatch : 1;
ULONG ExpectPreparationFailure : 1;
ULONG FailUserModeVAMapping : 1;
ULONG NeverDiscardOfferedAllocation : 1;
ULONG AlwaysDiscardOfferedAllocation : 1;
#if ...
ULONG Reserved : 17;
#else
ULONG Reserved : 19;
#endif
};
ULONG Value;
};
} SetFault;
struct {
D3DKMT_HANDLE ResourceHandle;
D3DKMT_HANDLE AllocationHandle;
HANDLE hProcess;
} Evict;
struct {
D3DKMT_ALIGN64 UINT64 NtHandle;
} EvictByNtHandle;
struct {
union {
struct {
UINT NumVads;
} GetNumVads;
D3DKMT_VAD_DESC GetVad;
D3DKMT_VA_RANGE_DESC GetVadRange;
D3DKMT_GET_GPUMMU_CAPS GetGpuMmuCaps;
D3DKMT_GET_PTE GetPte;
D3DKMT_GET_SEGMENT_CAPS GetSegmentCaps;
};
D3DKMT_VAD_ESCAPE_COMMAND Command;
NTSTATUS Status;
} GetVads;
struct {
D3DKMT_ALIGN64 ULONGLONG LocalMemoryBudget;
D3DKMT_ALIGN64 ULONGLONG SystemMemoryBudget;
} SetBudget;
struct {
HANDLE hProcess;
BOOL bAllowWakeOnSubmission;
} SuspendProcess;
struct {
HANDLE hProcess;
} ResumeProcess;
struct {
D3DKMT_ALIGN64 UINT64 NumBytesToTrim;
} GetBudget;
struct {
ULONG MinTrimInterval;
ULONG MaxTrimInterval;
ULONG IdleTrimInterval;
} SetTrimIntervals;
D3DKMT_EVICTION_CRITERIA EvictByCriteria;
struct {
BOOL bFlush;
} Wake;
struct {
D3DKMT_DEFRAG_ESCAPE_OPERATION Operation;
UINT SegmentId;
D3DKMT_ALIGN64 ULONGLONG TotalCommitted;
D3DKMT_ALIGN64 ULONGLONG TotalFree;
D3DKMT_ALIGN64 ULONGLONG LargestGapBefore;
D3DKMT_ALIGN64 ULONGLONG LargestGapAfter;
} Defrag;
struct {
D3DKMT_HANDLE hPagingQueue;
UINT PhysicalAdapterIndex;
ULONG Milliseconds;
D3DKMT_ALIGN64 ULONGLONG PagingFenceValue;
} DelayExecution;
struct {
UINT SegmentId;
} VerifyIntegrity;
struct {
D3DKMT_ALIGN64 LONGLONG TimerValue;
} DelayedEvictionConfig;
};
} D3DKMT_VIDMM_ESCAPE;
成員
Type
SetFault
SplitPoin
HotAddMemory
SetFault.ProbeAndLock
SetFault.SplitPoint
SetFault.NoDemotion
SetFault.SwizzlingAperture
SetFault.PagingPathLockSubRange
SetFault.PagingPathLockMinRange
SetFault.ComplexLock
SetFault.FailVARotation
SetFault.NoWriteCombined
SetFault.NoPrePatching
SetFault.AlwaysRepatch
SetFault.ExpectPreparationFailure
SetFault.FailUserModeVAMapping
SetFault.NeverDiscardOfferedAllocation
SetFault.AlwaysDiscardOfferedAllocation
SetFault.Reserved
SetFault.Value
Evict
Evict.ResourceHandle
Evict.AllocationHandle
Evict.hProcess
進程的句柄。
EvictByNtHandle
EvictByNtHandle.NtHandle
GetVads
GetVads.GetNumVads
GetVads.GetNumVads.NumVads
GetVads.GetVad
GetVads.GetVadRange
GetVads.GetGpuMmuCaps
GPU 記憶體管理功能。
GetVads.GetPte
GetVads.GetSegmentCaps
GetVads.Command
GetVads.Status
SetBudget
SetBudget.LocalMemoryBudget
SetBudget.SystemMemoryBudget
SuspendProcess
SuspendProcess.hProcess
進程的句柄。
SuspendProcess.bAllowWakeOnSubmission
ResumeProcess
ResumeProcess.hProcess
進程的句柄。
GetBudget
GetBudget.NumBytesToTrim
SetTrimIntervals
SetTrimIntervals.MinTrimInterval
SetTrimIntervals.MaxTrimInterval
SetTrimIntervals.IdleTrimInterval
EvictByCriteria
Wake
Wake.bFlush
Defrag
Defrag.Operation
Defrag.SegmentId
Defrag.TotalCommitted
Defrag.TotalFree
Defrag.LargestGapBefore
Defrag.LargestGapAfter
DelayExecution
DelayExecution.hPagingQueue
DelayExecution.PhysicalAdapterIndex
DelayExecution.Milliseconds
DelayExecution.PagingFenceValue
VerifyIntegrity
VerifyIntegrity.SegmentId
DelayedEvictionConfig
DelayedEvictionConfig.TimerValue
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dkmthk.h (包含 D3dkmthk.h) |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應