memory_windows.go raw

   1  // Copyright 2017 The Go Authors. All rights reserved.
   2  // Use of this source code is governed by a BSD-style
   3  // license that can be found in the LICENSE file.
   4  
   5  package windows
   6  
   7  const (
   8  	MEM_COMMIT      = 0x00001000
   9  	MEM_RESERVE     = 0x00002000
  10  	MEM_DECOMMIT    = 0x00004000
  11  	MEM_RELEASE     = 0x00008000
  12  	MEM_RESET       = 0x00080000
  13  	MEM_TOP_DOWN    = 0x00100000
  14  	MEM_WRITE_WATCH = 0x00200000
  15  	MEM_PHYSICAL    = 0x00400000
  16  	MEM_RESET_UNDO  = 0x01000000
  17  	MEM_LARGE_PAGES = 0x20000000
  18  
  19  	PAGE_NOACCESS          = 0x00000001
  20  	PAGE_READONLY          = 0x00000002
  21  	PAGE_READWRITE         = 0x00000004
  22  	PAGE_WRITECOPY         = 0x00000008
  23  	PAGE_EXECUTE           = 0x00000010
  24  	PAGE_EXECUTE_READ      = 0x00000020
  25  	PAGE_EXECUTE_READWRITE = 0x00000040
  26  	PAGE_EXECUTE_WRITECOPY = 0x00000080
  27  	PAGE_GUARD             = 0x00000100
  28  	PAGE_NOCACHE           = 0x00000200
  29  	PAGE_WRITECOMBINE      = 0x00000400
  30  	PAGE_TARGETS_INVALID   = 0x40000000
  31  	PAGE_TARGETS_NO_UPDATE = 0x40000000
  32  
  33  	QUOTA_LIMITS_HARDWS_MIN_DISABLE = 0x00000002
  34  	QUOTA_LIMITS_HARDWS_MIN_ENABLE  = 0x00000001
  35  	QUOTA_LIMITS_HARDWS_MAX_DISABLE = 0x00000008
  36  	QUOTA_LIMITS_HARDWS_MAX_ENABLE  = 0x00000004
  37  )
  38  
  39  type MemoryBasicInformation struct {
  40  	BaseAddress       uintptr
  41  	AllocationBase    uintptr
  42  	AllocationProtect uint32
  43  	PartitionId       uint16
  44  	RegionSize        uintptr
  45  	State             uint32
  46  	Protect           uint32
  47  	Type              uint32
  48  }
  49