D3DKMT_VIDMM_ESCAPE structure

Do not use the D3DKMT_VIDMM_ESCAPE structure; it is for testing purposes only.

The D3DKMT_VIDMM_ESCAPE structure describes how to control the video memory manager (which is part of Dxgkrnl.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 {
      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 {
      ULONGLONG LocalMemoryBudget;
      ULONGLONG SystemMemoryBudget;
    } SetBudget;
    struct {
      HANDLE hProcess;
      BOOL   bAllowWakeOnSubmission;
    } SuspendProcess;
    struct {
      HANDLE hProcess;
    } ResumeProcess;
    struct {
      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;
      ULONGLONG                      TotalCommitted;
      ULONGLONG                      TotalFree;
      ULONGLONG                      LargestGapBefore;
      ULONGLONG                      LargestGapAfter;
    } Defrag;
    struct {
      D3DKMT_HANDLE hPagingQueue;
      UINT          PhysicalAdapterIndex;
      ULONG         Milliseconds;
      ULONGLONG     PagingFenceValue;
    } DelayExecution;
  };
} D3DKMT_VIDMM_ESCAPE;

Members

Type

SetFault

SetFault

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.#2446799113

SetFault.Reserved.#2704578846

SetFault.Value

Evict

Evict.ResourceHandle

Evict.AllocationHandle

Evict.hProcess

A handle to the process.

EvictByNtHandle

EvictByNtHandle.NtHandle

GetVads

GetVads

GetVads.GetNumVads

GetVads.GetNumVads.NumVads

GetVads.GetVad

GetVads.GetVadRange

GetVads.GetGpuMmuCaps

The GPU memory management capabilities.

GetVads.GetPte

GetVads.GetSegmentCaps

GetVads.Command

GetVads.Status

SetBudget

SetBudget.LocalMemoryBudget

SetBudget.SystemMemoryBudget

SuspendProcess

SuspendProcess.hProcess

A handle to the process.

SuspendProcess.bAllowWakeOnSubmission

ResumeProcess

ResumeProcess.hProcess

A handle to the process.

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

Requirements

   
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Header d3dkmthk.h (include D3dkmthk.h)

See Also

D3DKMTEscape

D3DKMT_ESCAPE