D3DKMT_VIDMM_ESCAPE structure (d3dkmthk.h)
Don't use the D3DKMT_VIDMM_ESCAPE structure; it's for testing purposes only.
The D3DKMT_VIDMM_ESCAPE structure describes how to control the video memory manager, which is a part of Dxrngkl.sys, in a call to the D3DKMTEscape function.
Syntax
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;
union {
D3DKMT_GET_PTE_EXT GetPteExt;
};
} 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 {
UINT16 PhysicalAdapterIndex;
UINT16 SegmentId;
} VerifyIntegrity;
struct {
D3DKMT_ALIGN64 LONGLONG TimerValue;
} DelayedEvictionConfig;
};
} D3DKMT_VIDMM_ESCAPE;
Members
Type
SetFault
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
GetVads.GetPte
GetVads.GetSegmentCaps
GetVads.Command
GetVads.Status
GetVads.GetPteExt
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.PhysicalAdapterIndex
VerifyIntegrity.SegmentId
DelayedEvictionConfig
DelayedEvictionConfig.TimerValue
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Header | d3dkmthk.h (include D3dkmthk.h) |