Documentation
¶
Overview ¶
winnt.go
Index ¶
- Constants
- Variables
- func CharsPtr(s string) uintptr
- func CreateEnvironmentBlock(hToken windows.Handle, bInherit bool) (unsafe.Pointer, bool)
- func CreateProcessA(strApplicationName string, strCommandLine string, ...) (bool, windows.Errno)
- func DestroyEnvironmentBlock(lpEnvironment unsafe.Pointer) bool
- func FAILED(hr HRESULT) bool
- func GetComputerName() (string, bool)
- func GetInterfaceInfo(pIfTable *IP_INTERFACE_INFO, dwOutBufLen *uint32) uint32
- func GetTickCount() uint32
- func GetUserName() (*uint16, int, bool, syscall.Errno)
- func GetVersionEx(ov *OSVERSIONINFOW) bool
- func GetVersionExA(ov *OSVERSIONINFOA) bool
- func HIWORD(dw uint32) uint16
- func Htons(hostshort uint16) uint16
- func ImpersonateLoggedOnUser(hToken windows.Token) (bool, windows.Errno)
- func Inet_addr(cp string) uint32
- func Inet_ntoa(in In_addr) *byte
- func IntPtr(n int) uintptr
- func IpReleaseAddress(AdapterInfo *IP_ADAPTER_INDEX_MAP) uint32
- func IpRenewAddress(AdapterInfo *IP_ADAPTER_INDEX_MAP) uint32
- func LOWORD(dw uint32) uint16
- func LogonUser(lpszUsername *uint16, lpszDomain *uint16, lpszPassword *uint16, ...) (windows.Handle, bool)
- func NetGetJoinInformation(lpServer *uint16) (error, string, uint32)
- func PathQuoteSpaces(szPath *string) bool
- func PathRemoveFileSpecA(szPath *byte) bool
- func PathRemoveFileSpecW(szPath *uint16) bool
- func SHGetValueA(hkey HKEY, subKey string, value string, pdwType *uint32, pvData unsafe.Pointer, ...) syscall.Errno
- func StrPtr(s string) uintptr
- func Touint32(num int) uint32
- func UTF16toString(p *uint16) string
- func UnloadUserProfile(hToken windows.Handle, hProfile windows.Handle) bool
- func WTSFreeMemory(pMemory uintptr)
- func WTSQuerySessionInformation(hServer windows.Handle, SessionId uint32, WTSInfoClass WTS_INFO_CLASS) (*byte, int, bool)
- func WTSQueryUserToken(SessionId uint32, hToken windows.Handle) (bool, syscall.Errno)
- func WaitForSingleObject(hHandle windows.Handle, dwMilliseconds uint32) uint32
- func Wow64DisableWow64FsRedirection() (unsafe.Pointer, bool)
- func Wow64RevertWow64FsRedirection(OldValue unsafe.Pointer) bool
- type ATOM
- type BOOL
- type DEV_BROADCAST_DEVICEINTERFACE
- type DEV_BROADCAST_DEVICEINTERFACE_W
- type DOT11_AUTH_ALGORITHM
- type DOT11_BSS_TYPE
- type DOT11_CIPHER_ALGORITHM
- type DOT11_PHY_TYPE
- type DOT11_SSID
- type HGLOBAL
- type HINSTANCE
- type HMODULE
- type HRESULT
- type HRSRC
- type HWINEVENTHOOK
- type IFTYPE
- type IF_INDEX
- type IF_LUID
- type IF_OPER_STATUS
- type INTERNAL_IF_OPER_STATUS
- type IP_ADAPTER_INDEX_MAP
- type IP_INTERFACE_INFO
- type In_addr
- type LANGID
- type LCID
- type LCTYPE
- type LPARAM
- type LPPROCESSENTRY32
- type LPPROCESSENTRY32W
- type LRESULT
- type NET_IFINDEX
- type NET_IFTYPE
- type NET_IF_COMPARTMENT_ID
- type NET_IF_CONNECTION_TYPE
- type NET_IF_NETWORK_GUID
- type NET_LUID
- type NET_LUID_LH
- type NL_DAD_STATE
- type NL_PREFIX_ORIGIN
- type NL_SUFFIX_ORIGIN
- type OSVERSIONINFO
- type OSVERSIONINFOA
- type OSVERSIONINFOW
- type OSVersionInfoA
- type OSVersionInfoExA
- type PIF_INDEX
- type PIF_LUID
- type PNET_IFINDEX
- type PNET_IFTYPE
- type PNET_IF_COMPARTMENT_ID
- type PNET_IF_CONNECTION_TYPE
- type PNET_IF_NETWORK_GUID
- type PNET_LUID
- type PNET_LUID_LH
- type PPROCESSENTRY32
- type PPROCESSENTRY32W
- type PROCESSENTRY32
- type PROCESSENTRY32W
- type PTUNNEL_TYPE
- type SID
- type SID_AND_ATTRIBUTES
- type SID_IDENTIFIER_AUTHORITY
- type SID_NAME_USE
- type S_UN
- type S_UN_B
- type S_UN_W
- type Sockaddr_in
- type TOKEN_INFORMATION_CLASS
- type TOKEN_USER
- type TUNNEL_TYPE
- type WPARAM
- type WTS_CONNECTSTATE_CLASS
- type WTS_INFO_CLASS
- type WTS_SESSION_INFOW
Constants ¶
const ( // // The th32ProcessID argument is only used if TH32CS_SNAPHEAPLIST or // TH32CS_SNAPMODULE is specified. th32ProcessID == 0 means the current // process. // // NOTE that all of the snapshots are global except for the heap and module // lists which are process specific. To enumerate the heap or module // state for all WIN32 processes call with TH32CS_SNAPALL and the // current process. Then for each process in the TH32CS_SNAPPROCESS // list that isn't the current process, do a call with just // TH32CS_SNAPHEAPLIST and/or TH32CS_SNAPMODULE. // // dwFlags // TH32CS_SNAPHEAPLIST = 0x00000001 TH32CS_SNAPPROCESS = 0x00000002 TH32CS_SNAPTHREAD = 0x00000004 TH32CS_SNAPMODULE = 0x00000008 TH32CS_SNAPMODULE32 = 0x00000010 TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE) TH32CS_INHERIT = 0x80000000 )
const ( DBT_DEVTYP_DEVICEINTERFACE = 0x00000005 // device interface class /* * The following messages are for WM_DEVICECHANGE. The immediate list * is for the wParam. ALL THESE MESSAGES PASS A POINTER TO A STRUCT * STARTING WITH A DWORD SIZE AND HAVING NO POINTER IN THE STRUCT. * */ DBT_DEVICEARRIVAL = 0x8000 // system detected a new device DBT_DEVICEQUERYREMOVE = 0x8001 // wants to remove, may fail DBT_DEVICEQUERYREMOVEFAILED = 0x8002 // removal aborted DBT_DEVICEREMOVEPENDING = 0x8003 // about to remove, still avail. DBT_DEVICEREMOVECOMPLETE = 0x8004 // device is gone DBT_DEVICETYPESPECIFIC = 0x8005 // type specific event )
const ( TUNNEL_TYPE_NONE _TUNNEL_TYPE = 0 TUNNEL_TYPE_OTHER _TUNNEL_TYPE = 1 TUNNEL_TYPE_DIRECT _TUNNEL_TYPE = 2 TUNNEL_TYPE_6TO4 _TUNNEL_TYPE = 11 TUNNEL_TYPE_ISATAP _TUNNEL_TYPE = 13 TUNNEL_TYPE_TEREDO _TUNNEL_TYPE = 14 )
const ( IfOperStatusUp if_oper_status = 1 IfOperStatusDown IfOperStatusTesting IfOperStatusUnknown IfOperStatusDormant IfOperStatusNotPresent IfOperStatusLowerLayerDown )
const ( NET_IF_CONNECTION_DEDICATED _NET_IF_CONNECTION_TYPE = 1 NET_IF_CONNECTION_PASSIVE NET_IF_CONNECTION_DEMAND NET_IF_CONNECTION_MAXIMUM )
const ( // // These values are from iptypes.h. // They need to fit in a 4 bit field. // IpPrefixOriginOther _NL_PREFIX_ORIGIN = 0 IpPrefixOriginManual IpPrefixOriginWellKnown IpPrefixOriginDhcp IpPrefixOriginRouterAdvertisement IpPrefixOriginUnchanged _NL_PREFIX_ORIGIN = 1 << 4 )
const ( // // TODO: Remove the Nlso* definitions. // NlsoOther _NL_SUFFIX_ORIGIN = 0 NlsoManual NlsoWellKnown NlsoDhcp NlsoLinkLayerAddress NlsoRandom // // These values are from in iptypes.h. // They need to fit in a 4 bit field. // IpSuffixOriginOther _NL_SUFFIX_ORIGIN = 0 IpSuffixOriginManual IpSuffixOriginWellKnown IpSuffixOriginDhcp IpSuffixOriginLinkLayerAddress IpSuffixOriginRandom IpSuffixOriginUnchanged _NL_SUFFIX_ORIGIN = 1 << 4 )
const ( // // TODO: Remove the Nlds* definitions. // NldsInvalid _NL_DAD_STATE = 0 NldsTentative NldsDuplicate NldsDeprecated NldsPreferred // // These values are from in iptypes.h. // IpDadStateInvalid _NL_DAD_STATE = 0 IpDadStateTentative IpDadStateDuplicate IpDadStateDeprecated IpDadStatePreferred )
const ( FALSE = 0 TRUE = 1 )
const ( DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000 DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001 )
const ( DETACHED_PROCESS = 0x00000008 CREATE_NO_WINDOW = 0x08000000 CREATE_NEW_CONSOLE = 0x00000010 CREATE_NEW_PROCESS_GROUP = 0x00000200 CREATE_UNICODE_ENVIRONMENT = 0x00000400 NORMAL_PRIORITY_CLASS = 0x00000020 IDLE_PRIORITY_CLASS = 0x00000040 HIGH_PRIORITY_CLASS = 0x00000080 REALTIME_PRIORITY_CLASS = 0x00000100 STARTF_USESHOWWINDOW = 0x00000001 STARTF_USESIZE = 0x00000002 STARTF_USEPOSITION = 0x00000004 STARTF_USECOUNTCHARS = 0x00000008 STARTF_USEFILLATTRIBUTE = 0x00000010 STARTF_RUNFULLSCREEN = 0x00000020 // ignored for non-x86 platforms STARTF_FORCEONFEEDBACK = 0x00000040 STARTF_FORCEOFFFEEDBACK = 0x00000080 STARTF_USESTDHANDLES = 0x00000100 INFINITE = 0xFFFFFFFF // Infinite timeout LOGON32_LOGON_INTERACTIVE = 2 LOGON32_PROVIDER_DEFAULT = 0 )
const ( INVALID_FILE_SIZE = 0xFFFFFFFF INVALID_SET_FILE_POINTER = 0xFFFFFFFF INVALID_FILE_ATTRIBUTES = 0xFFFFFFFF )
const ( SID_REVISION = 1 // Current revision level SID_MAX_SUB_AUTHORITIES = 15 SID_RECOMMENDED_SUB_AUTHORITIES = 1 // Will change to around 6 )
const ( WTS_CURRENT_SERVER = windows.Handle(0) WTS_CURRENT_SERVER_HANDLE = windows.Handle(0) WTS_CURRENT_SERVER_NAME = 0 )
* Specifies the current server
const DOT11_SSID_MAX_LENGTH = 32 // 32 bytes
const (
INADDR_NONE uint32 = 0xffffffff
)
const MAX_ADAPTER_NAME = 128
const MAX_PATH = 260
const SECURITY_MAX_SID_SIZE = (12 - 4 + (SID_MAX_SUB_AUTHORITIES * 4))
in a future release.
const (
URL_UNESCAPE_INPLACE = 0x00100000
)
const WTS_CURRENT_SESSION uint32 = 0xFFFFFFFF
* Specifies the current session (SessionId)
Variables ¶
var ( IF_OPER_STATUS_NON_OPERATIONAL _INTERNAL_IF_OPER_STATUS = 0 IF_OPER_STATUS_UNREACHABLE _INTERNAL_IF_OPER_STATUS = 1 IF_OPER_STATUS_DISCONNECTED _INTERNAL_IF_OPER_STATUS = 2 IF_OPER_STATUS_CONNECTING _INTERNAL_IF_OPER_STATUS = 3 IF_OPER_STATUS_CONNECTED _INTERNAL_IF_OPER_STATUS = 4 IF_OPER_STATUS_OPERATIONAL _INTERNAL_IF_OPER_STATUS = 5 )
var ( PROCESSOR_ARCHITECTURE_INTEL = 0 PROCESSOR_ARCHITECTURE_MIPS = 1 PROCESSOR_ARCHITECTURE_ALPHA = 2 PROCESSOR_ARCHITECTURE_PPC = 3 PROCESSOR_ARCHITECTURE_SHX = 4 PROCESSOR_ARCHITECTURE_ARM = 5 PROCESSOR_ARCHITECTURE_IA64 = 6 PROCESSOR_ARCHITECTURE_ALPHA64 = 7 PROCESSOR_ARCHITECTURE_MSIL = 8 PROCESSOR_ARCHITECTURE_AMD64 = 9 PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10 PROCESSOR_ARCHITECTURE_NEUTRAL = 11 PROCESSOR_ARCHITECTURE_ARM64 = 12 PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64 = 13 PROCESSOR_ARCHITECTURE_IA32_ON_ARM64 = 14 PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF PRODUCT_UNDEFINED = 0x00000000 PRODUCT_ULTIMATE = 0x00000001 PRODUCT_HOME_BASIC = 0x00000002 PRODUCT_HOME_PREMIUM = 0x00000003 PRODUCT_ENTERPRISE = 0x00000004 PRODUCT_HOME_BASIC_N = 0x00000005 PRODUCT_BUSINESS = 0x00000006 PRODUCT_STANDARD_SERVER = 0x00000007 PRODUCT_DATACENTER_SERVER = 0x00000008 PRODUCT_SMALLBUSINESS_SERVER = 0x00000009 PRODUCT_ENTERPRISE_SERVER = 0x0000000A PRODUCT_STARTER = 0x0000000B PRODUCT_DATACENTER_SERVER_CORE = 0x0000000C PRODUCT_STANDARD_SERVER_CORE = 0x0000000D PRODUCT_ENTERPRISE_SERVER_CORE = 0x0000000E PRODUCT_ENTERPRISE_SERVER_IA64 = 0x0000000F PRODUCT_BUSINESS_N = 0x00000010 PRODUCT_WEB_SERVER = 0x00000011 PRODUCT_CLUSTER_SERVER = 0x00000012 PRODUCT_HOME_SERVER = 0x00000013 PRODUCT_STORAGE_EXPRESS_SERVER = 0x00000014 PRODUCT_STORAGE_STANDARD_SERVER = 0x00000015 PRODUCT_STORAGE_WORKGROUP_SERVER = 0x00000016 PRODUCT_STORAGE_ENTERPRISE_SERVER = 0x00000017 PRODUCT_SERVER_FOR_SMALLBUSINESS = 0x00000018 PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = 0x00000019 PRODUCT_UNLICENSED = uint64(0xABCDABCD) VER_PLATFORM_WIN32s = 0 VER_PLATFORM_WIN32_WINDOWS = 1 VER_PLATFORM_WIN32_NT = 2 VER_NT_WORKSTATION = 0x0000001 VER_NT_DOMAIN_CONTROLLER = 0x0000002 VER_NT_SERVER = 0x0000003 GENERIC_READ = 0x80000000 GENERIC_WRITE = 0x40000000 GENERIC_EXECUTE = 0x20000000 GENERIC_ALL = 0x10000000 READ_CONTROL = 0x00020000 STANDARD_RIGHTS_REQUIRED = 0x000F0000 STANDARD_RIGHTS_READ = READ_CONTROL SYNCHRONIZE = 0x00100000 PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF) FILE_SHARE_READ = 0x00000001 FILE_SHARE_WRITE = 0x00000002 FILE_SHARE_DELETE = 0x00000004 FILE_ATTRIBUTE_READONLY = 0x00000001 FILE_ATTRIBUTE_HIDDEN = 0x00000002 FILE_ATTRIBUTE_SYSTEM = 0x00000004 FILE_ATTRIBUTE_DIRECTORY = 0x00000010 FILE_ATTRIBUTE_ARCHIVE = 0x00000020 FILE_ATTRIBUTE_DEVICE = 0x00000040 FILE_ATTRIBUTE_NORMAL = 0x00000080 FILE_ATTRIBUTE_TEMPORARY = 0x00000100 FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 FILE_ATTRIBUTE_COMPRESSED = 0x00000800 FILE_ATTRIBUTE_OFFLINE = 0x00001000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 FILE_ATTRIBUTE_VIRTUAL = 0x00010000 FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001 FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002 FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004 FILE_NOTIFY_CHANGE_SIZE = 0x00000008 FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010 FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020 FILE_NOTIFY_CHANGE_CREATION = 0x00000040 FILE_NOTIFY_CHANGE_SECURITY = 0x00000100 FILE_ACTION_ADDED = 0x00000001 FILE_ACTION_REMOVED = 0x00000002 FILE_ACTION_MODIFIED = 0x00000003 FILE_ACTION_RENAMED_OLD_NAME = 0x00000004 FILE_ACTION_RENAMED_NEW_NAME = 0x00000005 MAILSLOT_NO_MESSAGE = 0xFFFFFFFF MAILSLOT_WAIT_FOREVER = 0xFFFFFFFF FILE_CASE_SENSITIVE_SEARCH = 0x00000001 FILE_CASE_PRESERVED_NAMES = 0x00000002 FILE_UNICODE_ON_DISK = 0x00000004 FILE_PERSISTENT_ACLS = 0x00000008 FILE_FILE_COMPRESSION = 0x00000010 FILE_VOLUME_QUOTAS = 0x00000020 FILE_SUPPORTS_SPARSE_FILES = 0x00000040 FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100 FILE_VOLUME_IS_COMPRESSED = 0x00008000 FILE_SUPPORTS_OBJECT_IDS = 0x00010000 FILE_SUPPORTS_ENCRYPTION = 0x00020000 FILE_NAMED_STREAMS = 0x00040000 FILE_READ_ONLY_VOLUME = 0x00080000 FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000 FILE_SUPPORTS_TRANSACTIONS = 0x00200000 FILE_READ_DATA = 0x0001 FILE_READ_ATTRIBUTES = 0x0080 FILE_READ_EA = 0x0008 FILE_GENERIC_READ = (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE) CREATE_NEW = 1 CREATE_ALWAYS = 2 OPEN_EXISTING = 3 OPEN_ALWAYS = 4 TRUNCATE_EXISTING = 5 KEY_QUERY_VALUE = 0x0001 KEY_SET_VALUE = 0x0002 KEY_CREATE_SUB_KEY = 0x0004 KEY_ENUMERATE_SUB_KEYS = 0x0008 KEY_NOTIFY = 0x0010 KEY_CREATE_LINK = 0x0020 KEY_WOW64_32KEY = 0x0200 KEY_WOW64_64KEY = 0x0100 KEY_WOW64_RES = 0x0300 // // MaximumAllowed access type // MAXIMUM_ALLOWED = 0x02000000 ANYSIZE_ARRAY = 1 SE_TCB_NAME = "SeTcbPrivilege" )
判断操作系统的量
Functions ¶
func CreateEnvironmentBlock ¶
func CreateProcessA ¶
func CreateProcessA(strApplicationName string, strCommandLine string, lpProcessAttributes *windows.SecurityAttributes, lpThreadAttributes *windows.SecurityAttributes, bInheritHandles bool, CreationFlags uint32, lpEnvironment unsafe.Pointer, strCurrentDirectory string, lpStartupInfo *windows.StartupInfo, lpProcessInformation *windows.ProcessInformation) (bool, windows.Errno)
func DestroyEnvironmentBlock ¶
=============================================================================
DestroyEnvironmentBlock ¶
Frees environment variables created by CreateEnvironmentBlock ¶
lpEnvironment - A pointer to the environment block
Returns: true if successful
false if not. syscall.Errno for more details
=============================================================================
func GetComputerName ¶
func GetInterfaceInfo ¶
func GetInterfaceInfo(pIfTable *IP_INTERFACE_INFO, dwOutBufLen *uint32) uint32
func GetTickCount ¶
func GetTickCount() uint32
func GetVersionEx ¶
func GetVersionEx(ov *OSVERSIONINFOW) bool
func GetVersionExA ¶
func GetVersionExA(ov *OSVERSIONINFOA) bool
func ImpersonateLoggedOnUser ¶
func IpReleaseAddress ¶
func IpReleaseAddress(AdapterInfo *IP_ADAPTER_INDEX_MAP) uint32
func IpRenewAddress ¶
func IpRenewAddress(AdapterInfo *IP_ADAPTER_INDEX_MAP) uint32
func PathQuoteSpaces ¶
func PathRemoveFileSpecA ¶
func PathRemoveFileSpecW ¶
func SHGetValueA ¶
func UTF16toString ¶
UTF16toString converts a pointer to a UTF16 string into a Go string.
func UnloadUserProfile ¶
=============================================================================
UnloadUserProfile ¶
Unloads a user's profile that was loaded by LoadUserProfile()
hToken - Token for the user, returned from LogonUser() hProfile - hProfile member of the PROFILEINFO structure
Returns: TRUE if successful
FALSE if not. Call GetLastError() for more details
Note: The caller of this function must have admin privileges on the machine.
=============================================================================
func WTSFreeMemory ¶
func WTSFreeMemory(pMemory uintptr)
func WTSQueryUserToken ¶
func WaitForSingleObject ¶
Types ¶
type DEV_BROADCAST_DEVICEINTERFACE ¶
type DEV_BROADCAST_DEVICEINTERFACE = DEV_BROADCAST_DEVICEINTERFACE_W
type DOT11_AUTH_ALGORITHM ¶
type DOT11_AUTH_ALGORITHM uint32
// DOT11_AUTH_ALGO_LIST #ifdef __midl // use the 4-byte enum typedef [v1_enum] enum _DOT11_AUTH_ALGORITHM { #else typedef enum _DOT11_AUTH_ALGORITHM { #endif
const ( DOT11_AUTH_ALGO_80211_OPEN DOT11_AUTH_ALGORITHM = 1 DOT11_AUTH_ALGO_80211_SHARED_KEY DOT11_AUTH_ALGORITHM = 2 DOT11_AUTH_ALGO_WPA DOT11_AUTH_ALGORITHM = 3 DOT11_AUTH_ALGO_WPA_PSK DOT11_AUTH_ALGORITHM = 4 DOT11_AUTH_ALGO_WPA_NONE DOT11_AUTH_ALGORITHM = 5 // used in NatSTA only DOT11_AUTH_ALGO_RSNA DOT11_AUTH_ALGORITHM = 6 DOT11_AUTH_ALGO_RSNA_PSK DOT11_AUTH_ALGORITHM = 7 DOT11_AUTH_ALGO_IHV_START DOT11_AUTH_ALGORITHM = 0x80000000 DOT11_AUTH_ALGO_IHV_END DOT11_AUTH_ALGORITHM = 0xffffffff )
type DOT11_BSS_TYPE ¶
type DOT11_BSS_TYPE uint32
const ( Dot11_BSS_type_infrastructure DOT11_BSS_TYPE = 1 Dot11_BSS_type_independent DOT11_BSS_TYPE = 2 Dot11_BSS_type_any DOT11_BSS_TYPE = 3 )
type DOT11_CIPHER_ALGORITHM ¶
type DOT11_CIPHER_ALGORITHM uint32
// Cipher algorithm Ids (for little endian platform) #ifdef __midl // use the 4-byte enum typedef [v1_enum] enum _DOT11_CIPHER_ALGORITHM { #else typedef enum _DOT11_CIPHER_ALGORITHM { #endif
const ( DOT11_CIPHER_ALGO_NONE DOT11_CIPHER_ALGORITHM = 0x00 DOT11_CIPHER_ALGO_WEP40 DOT11_CIPHER_ALGORITHM = 0x01 DOT11_CIPHER_ALGO_TKIP DOT11_CIPHER_ALGORITHM = 0x02 DOT11_CIPHER_ALGO_CCMP DOT11_CIPHER_ALGORITHM = 0x04 DOT11_CIPHER_ALGO_WEP104 DOT11_CIPHER_ALGORITHM = 0x05 DOT11_CIPHER_ALGO_WPA_USE_GROUP DOT11_CIPHER_ALGORITHM = 0x100 DOT11_CIPHER_ALGO_RSN_USE_GROUP DOT11_CIPHER_ALGORITHM = 0x100 DOT11_CIPHER_ALGO_WEP DOT11_CIPHER_ALGORITHM = 0x101 DOT11_CIPHER_ALGO_IHV_START DOT11_CIPHER_ALGORITHM = 0x80000000 DOT11_CIPHER_ALGO_IHV_END DOT11_CIPHER_ALGORITHM = 0xffffffff )
type DOT11_PHY_TYPE ¶
type DOT11_PHY_TYPE uint32
#ifdef __midl // use 4-byte enum typedef [v1_enum] enum _DOT11_PHY_TYPE { #else typedef enum _DOT11_PHY_TYPE { #endif
const ( Dot11_phy_type_unknown DOT11_PHY_TYPE = 0 Dot11_phy_type_any DOT11_PHY_TYPE = Dot11_phy_type_unknown Dot11_phy_type_fhss DOT11_PHY_TYPE = 1 Dot11_phy_type_dsss DOT11_PHY_TYPE = 2 Dot11_phy_type_irbaseband DOT11_PHY_TYPE = 3 Dot11_phy_type_ofdm DOT11_PHY_TYPE = 4 Dot11_phy_type_hrdsss DOT11_PHY_TYPE = 5 Dot11_phy_type_erp DOT11_PHY_TYPE = 6 Dot11_phy_type_IHV_start DOT11_PHY_TYPE = 0x80000000 Dot11_phy_type_IHV_end DOT11_PHY_TYPE = 0xffffffff )
type DOT11_SSID ¶
type DOT11_SSID struct { // #ifndef __midl // __range(0,32) // #endif SSIDLength uint32 SSID [DOT11_SSID_MAX_LENGTH]byte }
type HWINEVENTHOOK ¶
type IF_INDEX ¶
type IF_INDEX NET_IFINDEX
type IF_LUID ¶
type IF_LUID NET_LUID
IF_LUID
Define the locally unique datalink interface identifier type. This type is persistable.
type IF_OPER_STATUS ¶
type IF_OPER_STATUS if_oper_status
type INTERNAL_IF_OPER_STATUS ¶
type INTERNAL_IF_OPER_STATUS _INTERNAL_IF_OPER_STATUS
type IP_ADAPTER_INDEX_MAP ¶
type IP_ADAPTER_INDEX_MAP struct { Index uint32 Name [MAX_ADAPTER_NAME]uint16 }
type IP_INTERFACE_INFO ¶
type IP_INTERFACE_INFO struct { NumAdapters int32 Adapter [1]IP_ADAPTER_INDEX_MAP }
type LPPROCESSENTRY32 ¶
type LPPROCESSENTRY32 *PROCESSENTRY32
type LPPROCESSENTRY32W ¶
type LPPROCESSENTRY32W *PROCESSENTRY32W
type NET_IF_COMPARTMENT_ID ¶
type NET_IF_COMPARTMENT_ID uint32
const ( NET_IF_COMPARTMENT_ID_UNSPECIFIED NET_IF_COMPARTMENT_ID = 0 NET_IF_COMPARTMENT_ID_PRIMARY NET_IF_COMPARTMENT_ID = 1 )
Define compartment ID type:
type NET_IF_CONNECTION_TYPE ¶
type NET_IF_CONNECTION_TYPE _NET_IF_CONNECTION_TYPE
type NET_LUID ¶
type NET_LUID NET_LUID_LH
Need to make this visible on all platforms (for the purpose of IF_LUID).
type NET_LUID_LH ¶
type NET_LUID_LH _NET_LUID_LH
type NL_DAD_STATE ¶
type NL_DAD_STATE _NL_DAD_STATE
type NL_PREFIX_ORIGIN ¶
type NL_PREFIX_ORIGIN _NL_PREFIX_ORIGIN
type NL_SUFFIX_ORIGIN ¶
type NL_SUFFIX_ORIGIN _NL_SUFFIX_ORIGIN
type OSVERSIONINFO ¶
type OSVERSIONINFO OSVERSIONINFOW
type OSVERSIONINFOA ¶
type OSVERSIONINFOW ¶
type OSVersionInfoA ¶
type OSVersionInfoA struct { OSVersionInfoSize uint32 // 结构体大小, in bytes. Set this member to sizeof(OSVERSIONINFOEX). MajorVersion uint32 // 主版本号 MinorVersion uint32 // 次版本号 BuildNumber uint32 // 编译版本号 PlatformId uint32 // 系统支持的平台 CSDVersion [128]byte // 系统补丁包的名称 CSDVersion[128] }
#region OSVERSIONINFOA OSVERSIONINFOA structure (winnt.h) docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-osversioninfoa
typedef struct _OSVERSIONINFOA { uint32 dwOSVersionInfoSize; uint32 dwMajorVersion; uint32 dwMinorVersion; uint32 dwBuildNumber; uint32 dwPlatformId; CHAR szCSDVersion[128]; } OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
type OSVersionInfoExA ¶
type OSVersionInfoExA struct { OSVersionInfoSize uint32 // 结构体大小, in bytes. Set this member to sizeof(OSVERSIONINFOEX). MajorVersion uint32 // 主版本号 MinorVersion uint32 // 次版本号 BuildNumber uint32 // 编译版本号 PlatformId uint32 // 系统支持的平台 CSDVersion [128]byte // 系统补丁包的名称 CSDVersion[128]// 这个128是必须的 不然就会出现"The data area passed to a system call is too small." ServicePackMajor uint16 // 系统补丁包的主版本 ServicePackMinor uint16 // 系统补丁包的次版本 SuiteMask uint16 // 标识系统上的程序组 ProductType byte // 标识系统类型 Reserved byte // 保留,未使用 } // 这个结构在Windows 2000后出现,老版本的OSVERSIONINFO结构没有wServicePackMajor、wServicePackMinor、wSuiteMask、wProductType和wReserved这几个成员。
func GetVersionExW ¶
func GetVersionExW() (OSVersionInfoExA, error)
#region GetVersionExW 函数 (sysinfoapi.h) docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getversionexw
Kernel32.dll GetVersionExW function (sysinfoapi.h) NOT_BUILD_WINDOWS_DEPRECATE BOOL GetVersionExW(
[in, out] LPOSVERSIONINFOW lpVersionInformation
);
type PIF_INDEX ¶
type PIF_INDEX *NET_IFINDEX
type PNET_IFINDEX ¶
type PNET_IFINDEX *uint64
type PNET_IFTYPE ¶
type PNET_IFTYPE *uint16
type PNET_IF_COMPARTMENT_ID ¶
type PNET_IF_COMPARTMENT_ID *uint32
type PNET_IF_CONNECTION_TYPE ¶
type PNET_IF_CONNECTION_TYPE *_NET_IF_CONNECTION_TYPE
type PNET_IF_NETWORK_GUID ¶
type PNET_LUID_LH ¶
type PNET_LUID_LH *_NET_LUID_LH
type PPROCESSENTRY32 ¶
type PPROCESSENTRY32 *PROCESSENTRY32
type PPROCESSENTRY32W ¶
type PPROCESSENTRY32W *PROCESSENTRY32W
type PROCESSENTRY32 ¶
type PROCESSENTRY32 PROCESSENTRY32W
type PROCESSENTRY32W ¶
type PROCESSENTRY32W tagPROCESSENTRY32W
type PTUNNEL_TYPE ¶
type PTUNNEL_TYPE *_TUNNEL_TYPE
type SID ¶
type SID struct { Revision byte SubAuthorityCount byte IdentifierAuthority SID_IDENTIFIER_AUTHORITY // #ifdef MIDL_PASS // [size_is(SubAuthorityCount)] uint32 SubAuthority[*]; // #else // MIDL_PASS SubAuthority [1]uint32 /*ANYSIZE_ARRAY*/ }
type SID_AND_ATTRIBUTES ¶
type SID_IDENTIFIER_AUTHORITY ¶
type SID_IDENTIFIER_AUTHORITY struct {
Value [6]byte
}
type SID_NAME_USE ¶
type SID_NAME_USE uint32
const ( SidTypeUser SID_NAME_USE = 1 SidTypeGroup SID_NAME_USE = 2 SidTypeDomain SID_NAME_USE = 3 SidTypeAlias SID_NAME_USE = 4 SidTypeWellKnownGroup SID_NAME_USE = 5 SidTypeDeletedAccount SID_NAME_USE = 6 SidTypeInvalid SID_NAME_USE = 7 SidTypeUnknown SID_NAME_USE = 8 SidTypeComputer SID_NAME_USE = 9 SidTypeLabel SID_NAME_USE = 10 )
type S_UN_B ¶
type S_UN_B struct {
S_b1, S_b2, S_b3, S_b4 byte
}
IPv4 Internet address This is an 'on-wire' format structure.
type Sockaddr_in ¶
type Sockaddr_in struct {
// contains filtered or unexported fields
}
type TOKEN_INFORMATION_CLASS ¶
type TOKEN_INFORMATION_CLASS uint32
const ( TokenUser TOKEN_INFORMATION_CLASS = 1 TokenGroups TOKEN_INFORMATION_CLASS = 2 TokenPrivileges TOKEN_INFORMATION_CLASS = 3 TokenOwner TOKEN_INFORMATION_CLASS = 4 TokenPrimaryGroup TOKEN_INFORMATION_CLASS = 5 TokenDefaultDacl TOKEN_INFORMATION_CLASS = 6 TokenSource TOKEN_INFORMATION_CLASS = 7 TokenType TOKEN_INFORMATION_CLASS = 8 TokenImpersonationLevel TOKEN_INFORMATION_CLASS = 9 TokenStatistics TOKEN_INFORMATION_CLASS = 10 TokenRestrictedSids TOKEN_INFORMATION_CLASS = 11 TokenSessionId TOKEN_INFORMATION_CLASS = 12 TokenGroupsAndPrivileges TOKEN_INFORMATION_CLASS = 13 TokenSessionReference TOKEN_INFORMATION_CLASS = 14 TokenSandBoxInert TOKEN_INFORMATION_CLASS = 15 TokenAuditPolicy TOKEN_INFORMATION_CLASS = 16 TokenOrigin TOKEN_INFORMATION_CLASS = 17 TokenElevationType TOKEN_INFORMATION_CLASS = 18 TokenLinkedToken TOKEN_INFORMATION_CLASS = 19 TokenElevation TOKEN_INFORMATION_CLASS = 20 TokenHasRestrictions TOKEN_INFORMATION_CLASS = 21 TokenAccessInformation TOKEN_INFORMATION_CLASS = 22 TokenVirtualizationAllowed TOKEN_INFORMATION_CLASS = 23 TokenVirtualizationEnabled TOKEN_INFORMATION_CLASS = 24 TokenIntegrityLevel TOKEN_INFORMATION_CLASS = 25 TokenUIAccess TOKEN_INFORMATION_CLASS = 26 TokenMandatoryPolicy TOKEN_INFORMATION_CLASS = 27 TokenLogonSid TOKEN_INFORMATION_CLASS = 28 MaxTokenInfoClass TOKEN_INFORMATION_CLASS = 256 // MaxTokenInfoClass should always be the last enum )
type TOKEN_USER ¶
type TOKEN_USER struct {
User SID_AND_ATTRIBUTES
}
type TUNNEL_TYPE ¶
type TUNNEL_TYPE _TUNNEL_TYPE
type WTS_CONNECTSTATE_CLASS ¶
type WTS_CONNECTSTATE_CLASS uint
const ( WTSActive WTS_CONNECTSTATE_CLASS = 0 // User logged on to WinStation WTSConnected WTS_CONNECTSTATE_CLASS = 1 // WinStation connected to client WTSConnectQuery WTS_CONNECTSTATE_CLASS = 2 // In the process of connecting to client WTSShadow WTS_CONNECTSTATE_CLASS = 3 // Shadowing another WinStation WTSDisconnected WTS_CONNECTSTATE_CLASS = 4 // WinStation logged on without client WTSIdle WTS_CONNECTSTATE_CLASS = 5 // Waiting for client to connect WTSListen WTS_CONNECTSTATE_CLASS = 6 // WinStation is listening for connection WTSReset WTS_CONNECTSTATE_CLASS = 7 // WinStation is being reset WTSDown WTS_CONNECTSTATE_CLASS = 8 // WinStation is down due to error WTSInit WTS_CONNECTSTATE_CLASS = 9 // WinStation in initialization )
type WTS_INFO_CLASS ¶
type WTS_INFO_CLASS uint32
const ( WTSInitialProgram WTS_INFO_CLASS = 0 WTSApplicationName WTS_INFO_CLASS = 1 WTSWorkingDirectory WTS_INFO_CLASS = 2 WTSOEMId WTS_INFO_CLASS = 3 WTSSessionId WTS_INFO_CLASS = 4 WTSUserName WTS_INFO_CLASS = 5 WTSWinStationName WTS_INFO_CLASS = 6 WTSDomainName WTS_INFO_CLASS = 7 WTSConnectState WTS_INFO_CLASS = 8 WTSClientBuildNumber WTS_INFO_CLASS = 9 WTSClientName WTS_INFO_CLASS = 10 WTSClientDirectory WTS_INFO_CLASS = 11 WTSClientProductId WTS_INFO_CLASS = 12 WTSClientHardwareId WTS_INFO_CLASS = 13 WTSClientAddress WTS_INFO_CLASS = 14 WTSClientDisplay WTS_INFO_CLASS = 15 WTSClientProtocolType WTS_INFO_CLASS = 16 WTSIdleTime WTS_INFO_CLASS = 17 WTSLogonTime WTS_INFO_CLASS = 18 WTSIncomingBytes WTS_INFO_CLASS = 19 WTSOutgoingBytes WTS_INFO_CLASS = 20 WTSIncomingFrames WTS_INFO_CLASS = 21 WTSOutgoingFrames WTS_INFO_CLASS = 22 )
type WTS_SESSION_INFOW ¶
type WTS_SESSION_INFOW struct { SessionId uint32 // session id PWinStationName *uint16 // name of WinStation this session is // connected to State WTS_CONNECTSTATE_CLASS // connection state (see enum) }