diff options
Diffstat (limited to 'packages/w32/advapi32_constants.go')
-rw-r--r-- | packages/w32/advapi32_constants.go | 300 |
1 files changed, 300 insertions, 0 deletions
diff --git a/packages/w32/advapi32_constants.go b/packages/w32/advapi32_constants.go new file mode 100644 index 0000000..fa3c767 --- /dev/null +++ b/packages/w32/advapi32_constants.go @@ -0,0 +1,300 @@ +package w32 + +// Registry predefined keys +const ( + HKEY_CLASSES_ROOT HKEY = 0x80000000 + HKEY_CURRENT_USER HKEY = 0x80000001 + HKEY_LOCAL_MACHINE HKEY = 0x80000002 + HKEY_USERS HKEY = 0x80000003 + HKEY_PERFORMANCE_DATA HKEY = 0x80000004 + HKEY_CURRENT_CONFIG HKEY = 0x80000005 + HKEY_DYN_DATA HKEY = 0x80000006 +) + +// Registry Key Security and Access Rights +const ( + KEY_ALL_ACCESS = 0xF003F + KEY_CREATE_SUB_KEY = 0x0004 + KEY_ENUMERATE_SUB_KEYS = 0x0008 + KEY_NOTIFY = 0x0010 + KEY_QUERY_VALUE = 0x0001 + KEY_SET_VALUE = 0x0002 + KEY_READ = 0x20019 + KEY_WRITE = 0x20006 +) + +const ( + NFR_ANSI = 1 + NFR_UNICODE = 2 + NF_QUERY = 3 + NF_REQUERY = 4 +) + +// Registry value types +const ( + RRF_RT_REG_NONE = 0x00000001 + RRF_RT_REG_SZ = 0x00000002 + RRF_RT_REG_EXPAND_SZ = 0x00000004 + RRF_RT_REG_BINARY = 0x00000008 + RRF_RT_REG_DWORD = 0x00000010 + RRF_RT_REG_MULTI_SZ = 0x00000020 + RRF_RT_REG_QWORD = 0x00000040 + RRF_RT_DWORD = (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD) + RRF_RT_QWORD = (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD) + RRF_RT_ANY = 0x0000ffff + RRF_NOEXPAND = 0x10000000 + RRF_ZEROONFAILURE = 0x20000000 + REG_PROCESS_APPKEY = 0x00000001 + REG_MUI_STRING_TRUNCATE = 0x00000001 +) + +// Service Control Manager object specific access types +const ( + SC_MANAGER_CONNECT = 0x0001 + SC_MANAGER_CREATE_SERVICE = 0x0002 + SC_MANAGER_ENUMERATE_SERVICE = 0x0004 + SC_MANAGER_LOCK = 0x0008 + SC_MANAGER_QUERY_LOCK_STATUS = 0x0010 + SC_MANAGER_MODIFY_BOOT_CONFIG = 0x0020 + SC_MANAGER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG +) + +// Service Types (Bit Mask) +const ( + SERVICE_KERNEL_DRIVER = 0x00000001 + SERVICE_FILE_SYSTEM_DRIVER = 0x00000002 + SERVICE_ADAPTER = 0x00000004 + SERVICE_RECOGNIZER_DRIVER = 0x00000008 + SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER + SERVICE_WIN32_OWN_PROCESS = 0x00000010 + SERVICE_WIN32_SHARE_PROCESS = 0x00000020 + SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS + SERVICE_INTERACTIVE_PROCESS = 0x00000100 + SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS +) + +// Service State -- for CurrentState +const ( + SERVICE_STOPPED = 0x00000001 + SERVICE_START_PENDING = 0x00000002 + SERVICE_STOP_PENDING = 0x00000003 + SERVICE_RUNNING = 0x00000004 + SERVICE_CONTINUE_PENDING = 0x00000005 + SERVICE_PAUSE_PENDING = 0x00000006 + SERVICE_PAUSED = 0x00000007 +) + +// Controls Accepted (Bit Mask) +const ( + SERVICE_ACCEPT_STOP = 0x00000001 + SERVICE_ACCEPT_PAUSE_CONTINUE = 0x00000002 + SERVICE_ACCEPT_SHUTDOWN = 0x00000004 + SERVICE_ACCEPT_PARAMCHANGE = 0x00000008 + SERVICE_ACCEPT_NETBINDCHANGE = 0x00000010 + SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020 + SERVICE_ACCEPT_POWEREVENT = 0x00000040 + SERVICE_ACCEPT_SESSIONCHANGE = 0x00000080 + SERVICE_ACCEPT_PRESHUTDOWN = 0x00000100 + SERVICE_ACCEPT_TIMECHANGE = 0x00000200 + SERVICE_ACCEPT_TRIGGEREVENT = 0x00000400 +) + +// Service object specific access type +const ( + SERVICE_QUERY_CONFIG = 0x0001 + SERVICE_CHANGE_CONFIG = 0x0002 + SERVICE_QUERY_STATUS = 0x0004 + SERVICE_ENUMERATE_DEPENDENTS = 0x0008 + SERVICE_START = 0x0010 + SERVICE_STOP = 0x0020 + SERVICE_PAUSE_CONTINUE = 0x0040 + SERVICE_INTERROGATE = 0x0080 + SERVICE_USER_DEFINED_CONTROL = 0x0100 + + SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | + SERVICE_QUERY_CONFIG | + SERVICE_CHANGE_CONFIG | + SERVICE_QUERY_STATUS | + SERVICE_ENUMERATE_DEPENDENTS | + SERVICE_START | + SERVICE_STOP | + SERVICE_PAUSE_CONTINUE | + SERVICE_INTERROGATE | + SERVICE_USER_DEFINED_CONTROL +) + +const ( + KERNEL_LOGGER_NAME = "NT Kernel Logger" +) + +// WNODE flags, for ETW (Event Tracing for Windows) / WMI +const ( + WNODE_FLAG_ALL_DATA = 0x00000001 + WNODE_FLAG_SINGLE_INSTANCE = 0x00000002 + WNODE_FLAG_SINGLE_ITEM = 0x00000004 + WNODE_FLAG_EVENT_ITEM = 0x00000008 + WNODE_FLAG_FIXED_INSTANCE_SIZE = 0x00000010 + WNODE_FLAG_TOO_SMALL = 0x00000020 + WNODE_FLAG_INSTANCES_SAME = 0x00000040 + WNODE_FLAG_STATIC_INSTANCE_NAMES = 0x00000080 + WNODE_FLAG_INTERNAL = 0x00000100 + WNODE_FLAG_USE_TIMESTAMP = 0x00000200 + WNODE_FLAG_PERSIST_EVENT = 0x00000400 + WNODE_FLAG_EVENT_REFERENCE = 0x00002000 + WNODE_FLAG_ANSI_INSTANCENAMES = 0x00004000 + WNODE_FLAG_METHOD_ITEM = 0x00008000 + WNODE_FLAG_PDO_INSTANCE_NAMES = 0x00010000 + WNODE_FLAG_TRACED_GUID = 0x00020000 + WNODE_FLAG_LOG_WNODE = 0x00040000 + WNODE_FLAG_USE_GUID_PTR = 0x00080000 + WNODE_FLAG_USE_MOF_PTR = 0x00100000 + WNODE_FLAG_NO_HEADER = 0x00200000 + WNODE_FLAG_SEVERITY_MASK = 0xff000000 +) + +// ETW flags and types etc +const ( + EVENT_TRACE_TYPE_INFO = 0x00 + EVENT_TRACE_TYPE_START = 0x01 + EVENT_TRACE_TYPE_END = 0x02 + EVENT_TRACE_TYPE_STOP = 0x02 + EVENT_TRACE_TYPE_DC_START = 0x03 + EVENT_TRACE_TYPE_DC_END = 0x04 + EVENT_TRACE_TYPE_EXTENSION = 0x05 + EVENT_TRACE_TYPE_REPLY = 0x06 + EVENT_TRACE_TYPE_DEQUEUE = 0x07 + EVENT_TRACE_TYPE_RESUME = 0x07 + EVENT_TRACE_TYPE_CHECKPOINT = 0x08 + EVENT_TRACE_TYPE_SUSPEND = 0x08 + EVENT_TRACE_TYPE_WINEVT_SEND = 0x09 + EVENT_TRACE_TYPE_WINEVT_RECEIVE = 0XF0 + TRACE_LEVEL_NONE = 0 + TRACE_LEVEL_CRITICAL = 1 + TRACE_LEVEL_FATAL = 1 + TRACE_LEVEL_ERROR = 2 + TRACE_LEVEL_WARNING = 3 + TRACE_LEVEL_INFORMATION = 4 + TRACE_LEVEL_VERBOSE = 5 + TRACE_LEVEL_RESERVED6 = 6 + TRACE_LEVEL_RESERVED7 = 7 + TRACE_LEVEL_RESERVED8 = 8 + TRACE_LEVEL_RESERVED9 = 9 + EVENT_TRACE_TYPE_LOAD = 0x0A + EVENT_TRACE_TYPE_IO_READ = 0x0A + EVENT_TRACE_TYPE_IO_WRITE = 0x0B + EVENT_TRACE_TYPE_IO_READ_INIT = 0x0C + EVENT_TRACE_TYPE_IO_WRITE_INIT = 0x0D + EVENT_TRACE_TYPE_IO_FLUSH = 0x0E + EVENT_TRACE_TYPE_IO_FLUSH_INIT = 0x0F + EVENT_TRACE_TYPE_MM_TF = 0x0A + EVENT_TRACE_TYPE_MM_DZF = 0x0B + EVENT_TRACE_TYPE_MM_COW = 0x0C + EVENT_TRACE_TYPE_MM_GPF = 0x0D + EVENT_TRACE_TYPE_MM_HPF = 0x0E + EVENT_TRACE_TYPE_MM_AV = 0x0F + EVENT_TRACE_TYPE_SEND = 0x0A + EVENT_TRACE_TYPE_RECEIVE = 0x0B + EVENT_TRACE_TYPE_CONNECT = 0x0C + EVENT_TRACE_TYPE_DISCONNECT = 0x0D + EVENT_TRACE_TYPE_RETRANSMIT = 0x0E + EVENT_TRACE_TYPE_ACCEPT = 0x0F + EVENT_TRACE_TYPE_RECONNECT = 0x10 + EVENT_TRACE_TYPE_CONNFAIL = 0x11 + EVENT_TRACE_TYPE_COPY_TCP = 0x12 + EVENT_TRACE_TYPE_COPY_ARP = 0x13 + EVENT_TRACE_TYPE_ACKFULL = 0x14 + EVENT_TRACE_TYPE_ACKPART = 0x15 + EVENT_TRACE_TYPE_ACKDUP = 0x16 + EVENT_TRACE_TYPE_GUIDMAP = 0x0A + EVENT_TRACE_TYPE_CONFIG = 0x0B + EVENT_TRACE_TYPE_SIDINFO = 0x0C + EVENT_TRACE_TYPE_SECURITY = 0x0D + EVENT_TRACE_TYPE_REGCREATE = 0x0A + EVENT_TRACE_TYPE_REGOPEN = 0x0B + EVENT_TRACE_TYPE_REGDELETE = 0x0C + EVENT_TRACE_TYPE_REGQUERY = 0x0D + EVENT_TRACE_TYPE_REGSETVALUE = 0x0E + EVENT_TRACE_TYPE_REGDELETEVALUE = 0x0F + EVENT_TRACE_TYPE_REGQUERYVALUE = 0x10 + EVENT_TRACE_TYPE_REGENUMERATEKEY = 0x11 + EVENT_TRACE_TYPE_REGENUMERATEVALUEKEY = 0x12 + EVENT_TRACE_TYPE_REGQUERYMULTIPLEVALUE = 0x13 + EVENT_TRACE_TYPE_REGSETINFORMATION = 0x14 + EVENT_TRACE_TYPE_REGFLUSH = 0x15 + EVENT_TRACE_TYPE_REGKCBCREATE = 0x16 + EVENT_TRACE_TYPE_REGKCBDELETE = 0x17 + EVENT_TRACE_TYPE_REGKCBRUNDOWNBEGIN = 0x18 + EVENT_TRACE_TYPE_REGKCBRUNDOWNEND = 0x19 + EVENT_TRACE_TYPE_REGVIRTUALIZE = 0x1A + EVENT_TRACE_TYPE_REGCLOSE = 0x1B + EVENT_TRACE_TYPE_REGSETSECURITY = 0x1C + EVENT_TRACE_TYPE_REGQUERYSECURITY = 0x1D + EVENT_TRACE_TYPE_REGCOMMIT = 0x1E + EVENT_TRACE_TYPE_REGPREPARE = 0x1F + EVENT_TRACE_TYPE_REGROLLBACK = 0x20 + EVENT_TRACE_TYPE_REGMOUNTHIVE = 0x21 + EVENT_TRACE_TYPE_CONFIG_CPU = 0x0A + EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK = 0x0B + EVENT_TRACE_TYPE_CONFIG_LOGICALDISK = 0x0C + EVENT_TRACE_TYPE_CONFIG_NIC = 0x0D + EVENT_TRACE_TYPE_CONFIG_VIDEO = 0x0E + EVENT_TRACE_TYPE_CONFIG_SERVICES = 0x0F + EVENT_TRACE_TYPE_CONFIG_POWER = 0x10 + EVENT_TRACE_TYPE_CONFIG_NETINFO = 0x11 + EVENT_TRACE_TYPE_CONFIG_IRQ = 0x15 + EVENT_TRACE_TYPE_CONFIG_PNP = 0x16 + EVENT_TRACE_TYPE_CONFIG_IDECHANNEL = 0x17 + EVENT_TRACE_TYPE_CONFIG_PLATFORM = 0x19 + EVENT_TRACE_FLAG_PROCESS = 0x00000001 + EVENT_TRACE_FLAG_THREAD = 0x00000002 + EVENT_TRACE_FLAG_IMAGE_LOAD = 0x00000004 + EVENT_TRACE_FLAG_DISK_IO = 0x00000100 + EVENT_TRACE_FLAG_DISK_FILE_IO = 0x00000200 + EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS = 0x00001000 + EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS = 0x00002000 + EVENT_TRACE_FLAG_NETWORK_TCPIP = 0x00010000 + EVENT_TRACE_FLAG_REGISTRY = 0x00020000 + EVENT_TRACE_FLAG_DBGPRINT = 0x00040000 + EVENT_TRACE_FLAG_PROCESS_COUNTERS = 0x00000008 + EVENT_TRACE_FLAG_CSWITCH = 0x00000010 + EVENT_TRACE_FLAG_DPC = 0x00000020 + EVENT_TRACE_FLAG_INTERRUPT = 0x00000040 + EVENT_TRACE_FLAG_SYSTEMCALL = 0x00000080 + EVENT_TRACE_FLAG_DISK_IO_INIT = 0x00000400 + EVENT_TRACE_FLAG_ALPC = 0x00100000 + EVENT_TRACE_FLAG_SPLIT_IO = 0x00200000 + EVENT_TRACE_FLAG_DRIVER = 0x00800000 + EVENT_TRACE_FLAG_PROFILE = 0x01000000 + EVENT_TRACE_FLAG_FILE_IO = 0x02000000 + EVENT_TRACE_FLAG_FILE_IO_INIT = 0x04000000 + EVENT_TRACE_FLAG_DISPATCHER = 0x00000800 + EVENT_TRACE_FLAG_VIRTUAL_ALLOC = 0x00004000 + EVENT_TRACE_FLAG_EXTENSION = 0x80000000 + EVENT_TRACE_FLAG_FORWARD_WMI = 0x40000000 + EVENT_TRACE_FLAG_ENABLE_RESERVE = 0x20000000 + EVENT_TRACE_FILE_MODE_NONE = 0x00000000 + EVENT_TRACE_FILE_MODE_SEQUENTIAL = 0x00000001 + EVENT_TRACE_FILE_MODE_CIRCULAR = 0x00000002 + EVENT_TRACE_FILE_MODE_APPEND = 0x00000004 + EVENT_TRACE_REAL_TIME_MODE = 0x00000100 + EVENT_TRACE_DELAY_OPEN_FILE_MODE = 0x00000200 + EVENT_TRACE_BUFFERING_MODE = 0x00000400 + EVENT_TRACE_PRIVATE_LOGGER_MODE = 0x00000800 + EVENT_TRACE_ADD_HEADER_MODE = 0x00001000 + EVENT_TRACE_USE_GLOBAL_SEQUENCE = 0x00004000 + EVENT_TRACE_USE_LOCAL_SEQUENCE = 0x00008000 + EVENT_TRACE_RELOG_MODE = 0x00010000 + EVENT_TRACE_USE_PAGED_MEMORY = 0x01000000 + EVENT_TRACE_FILE_MODE_NEWFILE = 0x00000008 + EVENT_TRACE_FILE_MODE_PREALLOCATE = 0x00000020 + EVENT_TRACE_NONSTOPPABLE_MODE = 0x00000040 + EVENT_TRACE_SECURE_MODE = 0x00000080 + EVENT_TRACE_USE_KBYTES_FOR_SIZE = 0x00002000 + EVENT_TRACE_PRIVATE_IN_PROC = 0x00020000 + EVENT_TRACE_MODE_RESERVED = 0x00100000 + EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING = 0x10000000 + EVENT_TRACE_CONTROL_QUERY = 0 + EVENT_TRACE_CONTROL_STOP = 1 + EVENT_TRACE_CONTROL_UPDATE = 2 + EVENT_TRACE_CONTROL_FLUSH = 3 +) |