struttura D3DKMT_VIDMM_ESCAPE (d3dkmthk.h)
Non utilizzare la struttura D3DKMT_VIDMM_ESCAPE; è solo a scopo di test.
La struttura D3DKMT_VIDMM_ESCAPE descrive come controllare la gestione della memoria video (che fa parte di Dxgkrnl.sys) in una chiamata alla funzione D3DKMTEscape .
Sintassi
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;
void D3DKMT_PTR(
HANDLE unnamedParam1,
hProcess unnamedParam2
);
} 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 {
void D3DKMT_PTR(
HANDLE unnamedParam1,
hProcess unnamedParam2
);
BOOL bAllowWakeOnSubmission;
} SuspendProcess;
struct {
void D3DKMT_PTR(
HANDLE unnamedParam1,
hProcess unnamedParam2
);
} 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
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
void D3DKMT_PTR( HANDLE unnamedParam1, hProcess unnamedParam2)
EvictByNtHandle
EvictByNtHandle.NtHandle
GetVads
GetVads.GetNumVads
GetVads.GetNumVads.NumVads
GetVads.GetVad
GetVads.GetVadRange
GetVads.GetGpuMmuCaps
Funzionalità di gestione della memoria GPU.
GetVads.GetPte
GetVads.GetSegmentCaps
GetVads.Command
GetVads.Status
GetVads.GetPteExt
SetBudget
SetBudget.LocalMemoryBudget
SetBudget.SystemMemoryBudget
SuspendProcess
SuspendProcess.bAllowWakeOnSubmission
ResumeProcess
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
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Intestazione | d3dkmthk.h (include D3dkmthk.h) |