...

Package winapi

import "github.com/Microsoft/hcsshim/internal/winapi"
Overview
Index

Overview ▾

Package winapi contains various low-level bindings to Windows APIs. It can be thought of as an extension to golang.org/x/sys/windows.

Constants

const (
    BINDFLT_FLAG_READ_ONLY_MAPPING        uint32 = 0x00000001
    BINDFLT_FLAG_MERGED_BIND_MAPPING      uint32 = 0x00000002
    BINDFLT_FLAG_USE_CURRENT_SILO_MAPPING uint32 = 0x00000004
)

Logon types

const (
    LOGON32_LOGON_INTERACTIVE       uint32 = 2
    LOGON32_LOGON_NETWORK           uint32 = 3
    LOGON32_LOGON_BATCH             uint32 = 4
    LOGON32_LOGON_SERVICE           uint32 = 5
    LOGON32_LOGON_UNLOCK            uint32 = 7
    LOGON32_LOGON_NETWORK_CLEARTEXT uint32 = 8
    LOGON32_LOGON_NEW_CREDENTIALS   uint32 = 9
)

Logon providers

const (
    LOGON32_PROVIDER_DEFAULT uint32 = 0
    LOGON32_PROVIDER_WINNT40 uint32 = 2
    LOGON32_PROVIDER_WINNT50 uint32 = 3
)
const (
    PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE = 0x20016
    PROC_THREAD_ATTRIBUTE_JOB_LIST      = 0x2000D
)

Get count from all processor groups. https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups

const ALL_PROCESSOR_GROUPS = 0xFFFF
const PROCESS_ALL_ACCESS uint32 = 2097151

ProcessVmCounters corresponds to the _VM_COUNTERS_EX and _VM_COUNTERS_EX2 structures.

const ProcessVmCounters = 3

type VM_COUNTERS_EX

typedef struct _VM_COUNTERS_EX {
	   SIZE_T PeakVirtualSize;
	   SIZE_T VirtualSize;
	   ULONG PageFaultCount;
	   SIZE_T PeakWorkingSetSize;
	   SIZE_T WorkingSetSize;
	   SIZE_T QuotaPeakPagedPoolUsage;
	   SIZE_T QuotaPagedPoolUsage;
	   SIZE_T QuotaPeakNonPagedPoolUsage;
	   SIZE_T QuotaNonPagedPoolUsage;
	   SIZE_T PagefileUsage;
	   SIZE_T PeakPagefileUsage;
	   SIZE_T PrivateUsage;
} VM_COUNTERS_EX, *PVM_COUNTERS_EX;
type VM_COUNTERS_EX struct {
    PeakVirtualSize            uintptr
    VirtualSize                uintptr
    PageFaultCount             uint32
    PeakWorkingSetSize         uintptr
    WorkingSetSize             uintptr
    QuotaPeakPagedPoolUsage    uintptr
    QuotaPagedPoolUsage        uintptr
    QuotaPeakNonPagedPoolUsage uintptr
    QuotaNonPagedPoolUsage     uintptr
    PagefileUsage              uintptr
    PeakPagefileUsage          uintptr
    PrivateUsage               uintptr
}

type VM_COUNTERS_EX2

typedef struct _VM_COUNTERS_EX2 {
	   VM_COUNTERS_EX CountersEx;
	   SIZE_T PrivateWorkingSetSize;
	   SIZE_T SharedCommitUsage;
} VM_COUNTERS_EX2, *PVM_COUNTERS_EX2;
type VM_COUNTERS_EX2 struct {
    CountersEx            VM_COUNTERS_EX
    PrivateWorkingSetSize uintptr
    SharedCommitUsage     uintptr
}