' Type definitions for Windows' basic types. Const ANYSIZE_ARRAY = 1 Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Type RECTL Left As Long Top As Long Right As Long Bottom As Long End Type Type POINTAPI x As Long y As Long End Type Type POINTL x As Long y As Long End Type Type Size cx As Long cy As Long End Type Type POINTS x As Integer y As Integer End Type Type MSG hwnd As Long message As Long wParam As Long lParam As Long time As Long pt As POINTAPI End Type Const DELETE = &H10000 Const READ_CONTROL = &H20000 Const WRITE_DAC = &H40000 Const WRITE_OWNER = &H80000 Const SYNCHRONIZE = &H100000 Const STANDARD_RIGHTS_READ = (READ_CONTROL) Const STANDARD_RIGHTS_WRITE = (READ_CONTROL) Const STANDARD_RIGHTS_EXECUTE = (READ_CONTROL) Const STANDARD_RIGHTS_REQUIRED = &HF0000 Const STANDARD_RIGHTS_ALL = &H1F0000 Const SPECIFIC_RIGHTS_ALL = &HFFFF Type SID_IDENTIFIER_AUTHORITY Value(6) As Byte End Type Const SID_REVISION = (1) ' Current revision level Const SID_MAX_SUB_AUTHORITIES = (15) Const SID_RECOMMENDED_SUB_AUTHORITIES = (1) ' Will change to around 6 in a future release. Const SidTypeUser = 1 Const SidTypeGroup = 2 Const SidTypeDomain = 3 Const SidTypeAlias = 4 Const SidTypeWellKnownGroup = 5 Const SidTypeDeletedAccount = 6 Const SidTypeInvalid = 7 Const SidTypeUnknown = 8 Type SID_AND_ATTRIBUTES Sid As Long Attributes As Long End Type Const SECURITY_NULL_RID = &H0 Const SECURITY_WORLD_RID = &H0 Const SECURITY_LOCAL_RID = &H0 Const SECURITY_CREATOR_OWNER_RID = &H0 Const SECURITY_CREATOR_GROUP_RID = &H1 Const SECURITY_DIALUP_RID = &H1 Const SECURITY_NETWORK_RID = &H2 Const SECURITY_BATCH_RID = &H3 Const SECURITY_INTERACTIVE_RID = &H4 Const SECURITY_SERVICE_RID = &H6 Const SECURITY_ANONYMOUS_LOGON_RID = &H7 Const SECURITY_LOGON_IDS_RID = &H5 Const SECURITY_LOCAL_SYSTEM_RID = &H12 Const SECURITY_NT_NON_UNIQUE = &H15 Const SECURITY_BUILTIN_DOMAIN_RID = &H20 Const DOMAIN_USER_RID_ADMIN = &H1F4 Const DOMAIN_USER_RID_GUEST = &H1F5 Const DOMAIN_GROUP_RID_ADMINS = &H200 Const DOMAIN_GROUP_RID_USERS = &H201 Const DOMAIN_GROUP_RID_GUESTS = &H202 Const DOMAIN_ALIAS_RID_ADMINS = &H220 Const DOMAIN_ALIAS_RID_USERS = &H221 Const DOMAIN_ALIAS_RID_GUESTS = &H222 Const DOMAIN_ALIAS_RID_POWER_USERS = &H223 Const DOMAIN_ALIAS_RID_ACCOUNT_OPS = &H224 Const DOMAIN_ALIAS_RID_SYSTEM_OPS = &H225 Const DOMAIN_ALIAS_RID_PRINT_OPS = &H226 Const DOMAIN_ALIAS_RID_BACKUP_OPS = &H227 Const DOMAIN_ALIAS_RID_REPLICATOR = &H228 Const SE_GROUP_MANDATORY = &H1 Const SE_GROUP_ENABLED_BY_DEFAULT = &H2 Const SE_GROUP_ENABLED = &H4 Const SE_GROUP_OWNER = &H8 Const SE_GROUP_LOGON_ID = &HC0000000 Const FILE_BEGIN = 0 Const FILE_CURRENT = 1 Const FILE_END = 2 Const FILE_FLAG_WRITE_THROUGH = &H80000000 Const FILE_FLAG_OVERLAPPED = &H40000000 Const FILE_FLAG_NO_BUFFERING = &H20000000 Const FILE_FLAG_RANDOM_ACCESS = &H10000000 Const FILE_FLAG_SEQUENTIAL_SCAN = &H8000000 Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000 Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000 Const FILE_FLAG_POSIX_SEMANTICS = &H1000000 Const CREATE_NEW = 1 Const CREATE_ALWAYS = 2 Const OPEN_EXISTING = 3 Const OPEN_ALWAYS = 4 Const TRUNCATE_EXISTING = 5 ' Define the dwOpenMode values for CreateNamedPipe Const PIPE_ACCESS_INBOUND = &H1 Const PIPE_ACCESS_OUTBOUND = &H2 Const PIPE_ACCESS_DUPLEX = &H3 ' Define the Named Pipe End flags for GetNamedPipeInfo Const PIPE_CLIENT_END = &H0 Const PIPE_SERVER_END = &H1 ' Define the dwPipeMode values for CreateNamedPipe Const PIPE_WAIT = &H0 Const PIPE_NOWAIT = &H1 Const PIPE_READMODE_BYTE = &H0 Const PIPE_READMODE_MESSAGE = &H2 Const PIPE_TYPE_BYTE = &H0 Const PIPE_TYPE_MESSAGE = &H4 ' Define the well known values for CreateNamedPipe nMaxInstances Const PIPE_UNLIMITED_INSTANCES = 255 ' Define the Security Quality of Service bits to be passed ' into CreateFile Const SECURITY_CONTEXT_TRACKING = &H40000 Const SECURITY_EFFECTIVE_ONLY = &H80000 Const SECURITY_SQOS_PRESENT = &H100000 Const SECURITY_VALID_SQOS_FLAGS = &H1F0000 Type OVERLAPPED Internal As Long InternalHigh As Long offset As Long OffsetHigh As Long hEvent As Long End Type Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadId As Long End Type Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type ' Serial provider type. Const SP_SERIALCOMM = &H1& ' Provider SubTypes Const PST_UNSPECIFIED = &H0& Const PST_RS232 = &H1& Const PST_PARALLELPORT = &H2& Const PST_RS422 = &H3& Const PST_RS423 = &H4& Const PST_RS449 = &H5& Const PST_FAX = &H21& Const PST_SCANNER = &H22& Const PST_NETWORK_BRIDGE = &H100& Const PST_LAT = &H101& Const PST_TCPIP_TELNET = &H102& Const PST_X25 = &H103& ' Provider capabilities flags. Const PCF_DTRDSR = &H1& Const PCF_RTSCTS = &H2& Const PCF_RLSD = &H4& Const PCF_PARITY_CHECK = &H8& Const PCF_XONXOFF = &H10& Const PCF_SETXCHAR = &H20& Const PCF_TOTALTIMEOUTS = &H40& Const PCF_INTTIMEOUTS = &H80& Const PCF_SPECIALCHARS = &H100& Const PCF_16BITMODE = &H200& ' Comm provider settable parameters. Const SP_PARITY = &H1& Const SP_BAUD = &H2& Const SP_DATABITS = &H4& Const SP_STOPBITS = &H8& Const SP_HANDSHAKING = &H10& Const SP_PARITY_CHECK = &H20& Const SP_RLSD = &H40& ' Settable baud rates in the provider. Const BAUD_075 = &H1& Const BAUD_110 = &H2& Const BAUD_134_5 = &H4& Const BAUD_150 = &H8& Const BAUD_300 = &H10& Const BAUD_600 = &H20& Const BAUD_1200 = &H40& Const BAUD_1800 = &H80& Const BAUD_2400 = &H100& Const BAUD_4800 = &H200& Const BAUD_7200 = &H400& Const BAUD_9600 = &H800& Const BAUD_14400 = &H1000& Const BAUD_19200 = &H2000& Const BAUD_38400 = &H4000& Const BAUD_56K = &H8000& Const BAUD_128K = &H10000 Const BAUD_115200 = &H20000 Const BAUD_57600 = &H40000 Const BAUD_USER = &H10000000 ' Settable Data Bits Const DATABITS_5 = &H1& Const DATABITS_6 = &H2& Const DATABITS_7 = &H4& Const DATABITS_8 = &H8& Const DATABITS_16 = &H10& Const DATABITS_16X = &H20& ' Settable Stop and Parity bits. Const STOPBITS_10 = &H1& Const STOPBITS_15 = &H2& Const STOPBITS_20 = &H4& Const PARITY_NONE = &H100& Const PARITY_ODD = &H200& Const PARITY_EVEN = &H400& Const PARITY_MARK = &H800& Const PARITY_SPACE = &H1000& Type COMMPROP wPacketLength As Integer wPacketVersion As Integer dwServiceMask As Long dwReserved1 As Long dwMaxTxQueue As Long dwMaxRxQueue As Long dwMaxBaud As Long dwProvSubType As Long dwProvCapabilities As Long dwSettableParams As Long dwSettableBaud As Long wSettableData As Integer wSettableStopParity As Integer dwCurrentTxQueue As Long dwCurrentRxQueue As Long dwProvSpec1 As Long dwProvSpec2 As Long wcProvChar(1) As Integer End Type 'Type COMSTAT ' fCtsHold As Long ' fDsrHold As Long ' fRlsdHold As Long ' fXoffHold As Long ' fXoffSent As Long ' fEof As Long ' fTxim As Long ' fReserved As Long ' cbInQue As Long ' cbOutQue As Long 'End Type Type COMSTAT fBitFields As Long 'See Comment in Win32API.Txt cbInQue As Long cbOutQue As Long End Type ' The eight actual COMSTAT bit-sized data fields within the four bytes of fBitFields can be manipulated by bitwise logical And/Or operations. ' DTR Control Flow Values. Const DTR_CONTROL_DISABLE = &H0 Const DTR_CONTROL_ENABLE = &H1 Const DTR_CONTROL_HANDSHAKE = &H2 ' RTS Control Flow Values Const RTS_CONTROL_DISABLE = &H0 Const RTS_CONTROL_ENABLE = &H1 Const RTS_CONTROL_HANDSHAKE = &H2 Const RTS_CONTROL_TOGGLE = &H3 Type DCB DCBlength As Long BaudRate As Long fBitFields As Long 'See Comments in Win32API.Txt wReserved As Integer XonLim As Integer XoffLim As Integer ByteSize As Byte Parity As Byte StopBits As Byte XonChar As Byte XoffChar As Byte ErrorChar As Byte EofChar As Byte EvtChar As Byte wReserved1 As Integer 'Reserved; Do Not Use End Type ' The fourteen actual DCB bit-sized data fields within the four bytes of fBitFields can be manipulated by bitwise logical And/Or operations. ' fDummy2 16 reserved Type COMMTIMEOUTS ReadIntervalTimeout As Long ReadTotalTimeoutMultiplier As Long ReadTotalTimeoutConstant As Long WriteTotalTimeoutMultiplier As Long WriteTotalTimeoutConstant As Long End Type Type SYSTEM_INFO dwOemID As Long dwPageSize As Long lpMinimumApplicationAddress As Long lpMaximumApplicationAddress As Long dwActiveProcessorMask As Long dwNumberOrfProcessors As Long dwProcessorType As Long dwAllocationGranularity As Long dwReserved As Long End Type ' Global Memory Flags Const GMEM_FIXED = &H0 Const GMEM_MOVEABLE = &H2 Const GMEM_NOCOMPACT = &H10 Const GMEM_NODISCARD = &H20 Const GMEM_ZEROINIT = &H40 Const GMEM_MODIFY = &H80 Const GMEM_DISCARDABLE = &H100 Const GMEM_NOT_BANKED = &H1000 Const GMEM_SHARE = &H2000 Const GMEM_DDESHARE = &H2000 Const GMEM_NOTIFY = &H4000 Const GMEM_LOWER = GMEM_NOT_BANKED Const GMEM_VALID_FLAGS = &H7F72 Const GMEM_INVALID_HANDLE = &H8000 Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT) Const GPTR = (GMEM_FIXED Or GMEM_ZEROINIT) ' Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE) Const GMEM_DISCARDED = &H4000 Const GMEM_LOCKCOUNT = &HFF Type MEMORYSTATUS dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type ' Local Memory Flags Const LMEM_FIXED = &H0 Const LMEM_MOVEABLE = &H2 Const LMEM_NOCOMPACT = &H10 Const LMEM_NODISCARD = &H20 Const LMEM_ZEROINIT = &H40 Const LMEM_MODIFY = &H80 Const LMEM_DISCARDABLE = &HF00 Const LMEM_VALID_FLAGS = &HF72 Const LMEM_INVALID_HANDLE = &H8000 Const LHND = (LMEM_MOVEABLE + LMEM_ZEROINIT) Const LPTR = (LMEM_FIXED + LMEM_ZEROINIT) Const NONZEROLHND = (LMEM_MOVEABLE) Const NONZEROLPTR = (LMEM_FIXED) ' Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) Const LMEM_DISCARDED = &H4000 Const LMEM_LOCKCOUNT = &HFF ' dwCreationFlag values Const DEBUG_PROCESS = &H1 Const DEBUG_ONLY_THIS_PROCESS = &H2 Const CREATE_SUSPENDED = &H4 Const DETACHED_PROCESS = &H8 Const CREATE_NEW_CONSOLE = &H10 Const NORMAL_PRIORITY_CLASS = &H20 Const IDLE_PRIORITY_CLASS = &H40 Const HIGH_PRIORITY_CLASS = &H80 Const REALTIME_PRIORITY_CLASS = &H100 Const CREATE_NEW_PROCESS_GROUP = &H200 Const CREATE_NO_WINDOW = &H8000000 Const PROFILE_USER = &H10000000 Const PROFILE_KERNEL = &H20000000 Const PROFILE_SERVER = &H40000000 Const MAXLONG = &H7FFFFFFF Const THREAD_BASE_PRIORITY_MIN = -2 Const THREAD_BASE_PRIORITY_MAX = 2 Const THREAD_BASE_PRIORITY_LOWRT = 15 Const THREAD_BASE_PRIORITY_IDLE = -15 Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1) Const THREAD_PRIORITY_NORMAL = 0 Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1) Const THREAD_PRIORITY_ERROR_RETURN = (MAXLONG) Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE ' ++ BUILD Version: 0093 Increment this if a change has global effects ' Copyright (c) 1990-1995 Microsoft Corporation ' Module Name: ' winnt.h ' Abstract: ' This module defines the 32-Bit Windows types and constants that are ' defined by NT, but exposed through the Win32 API. ' Revision History: Const APPLICATION_ERROR_MASK = &H20000000 Const ERROR_SEVERITY_SUCCESS = &H0 Const ERROR_SEVERITY_INFORMATIONAL = &H40000000 Const ERROR_SEVERITY_WARNING = &H80000000 Const ERROR_SEVERITY_ERROR = &HC0000000 Const MINCHAR = &H80 Const MAXCHAR = &H7F Const MINSHORT = &H8000 Const MAXSHORT = &H7FFF Const MINLONG = &H80000000 Const MAXByte = &HFF Const MAXWORD = &HFFFF Const MAXDWORD = &HFFFF Const LANG_NEUTRAL = &H0 Const LANG_BULGARIAN = &H2 Const LANG_CHINESE = &H4 Const LANG_CROATIAN = &H1A Const LANG_CZECH = &H5 Const LANG_DANISH = &H6 Const LANG_DUTCH = &H13 Const LANG_ENGLISH = &H9 Const LANG_FINNISH = &HB Const LANG_FRENCH = &HC Const LANG_GERMAN = &H7 Const LANG_GREEK = &H8 Const LANG_HUNGARIAN = &HE Const LANG_ICELANDIC = &HF Const LANG_ITALIAN = &H10 Const LANG_JAPANESE = &H11 Const LANG_KOREAN = &H12 Const LANG_NORWEGIAN = &H14 Const LANG_POLISH = &H15 Const LANG_PORTUGUESE = &H16 Const LANG_ROMANIAN = &H18 Const LANG_RUSSIAN = &H19 Const LANG_SLOVAK = &H1B Const LANG_SLOVENIAN = &H24 Const LANG_SPANISH = &HA Const LANG_SWEDISH = &H1D Const LANG_TURKISH = &H1F Const SUBLANG_NEUTRAL = &H0 ' language neutral Const SUBLANG_DEFAULT = &H1 ' user default Const SUBLANG_SYS_DEFAULT = &H2 ' system default Const SUBLANG_CHINESE_TRADITIONAL = &H1 ' Chinese (Taiwan) Const SUBLANG_CHINESE_SIMPLIFIED = &H2 ' Chinese (PR China) Const SUBLANG_CHINESE_HONGKONG = &H3 ' Chinese (Hong Kong) Const SUBLANG_CHINESE_SINGAPORE = &H4 ' Chinese (Singapore) Const SUBLANG_DUTCH = &H1 ' Dutch Const SUBLANG_DUTCH_BELGIAN = &H2 ' Dutch (Belgian) Const SUBLANG_ENGLISH_US = &H1 ' English (USA) Const SUBLANG_ENGLISH_UK = &H2 ' English (UK) Const SUBLANG_ENGLISH_AUS = &H3 ' English (Australian) Const SUBLANG_ENGLISH_CAN = &H4 ' English (Canadian) Const SUBLANG_ENGLISH_NZ = &H5 ' English (New Zealand) Const SUBLANG_ENGLISH_EIRE = &H6 ' English (Irish) Const SUBLANG_FRENCH = &H1 ' French Const SUBLANG_FRENCH_BELGIAN = &H2 ' French (Belgian) Const SUBLANG_FRENCH_CANADIAN = &H3 ' French (Canadian) Const SUBLANG_FRENCH_SWISS = &H4 ' French (Swiss) Const SUBLANG_GERMAN = &H1 ' German Const SUBLANG_GERMAN_SWISS = &H2 ' German (Swiss) Const SUBLANG_GERMAN_AUSTRIAN = &H3 ' German (Austrian) Const SUBLANG_ITALIAN = &H1 ' Italian Const SUBLANG_ITALIAN_SWISS = &H2 ' Italian (Swiss) Const SUBLANG_NORWEGIAN_BOKMAL = &H1 ' Norwegian (Bokma Const SUBLANG_NORWEGIAN_NYNORSK = &H2 ' Norwegian (Nynorsk) Const SUBLANG_PORTUGUESE = &H2 ' Portuguese Const SUBLANG_PORTUGUESE_BRAZILIAN = &H1 ' Portuguese (Brazilian) Const SUBLANG_SPANISH = &H1 ' Spanish (Castilian) Const SUBLANG_SPANISH_MEXICAN = &H2 ' Spanish (Mexican) Const SUBLANG_SPANISH_MODERN = &H3 ' Spanish (Modern) ' ' * Sorting IDs. ' * ' */ Const SORT_DEFAULT = &H0 ' sorting default Const SORT_JAPANESE_XJIS = &H0 ' Japanese0xJIS order Const SORT_JAPANESE_UNICODE = &H1 ' Japanese Unicode order Const SORT_CHINESE_BIG5 = &H0 ' Chinese BIG5 order Const SORT_CHINESE_UNICODE = &H1 ' Chinese Unicode order Const SORT_KOREAN_KSC = &H0 ' Korean KSC order Const SORT_KOREAN_UNICODE = &H1 ' Korean Unicode order ' The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in ' devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these ' constants *MUST* always be in sync. ' The values are redefined in devioctl.h because they must be available to ' both DOS and NT. ' Const FILE_READ_DATA = (&H1) ' file pipe Const FILE_LIST_DIRECTORY = (&H1) ' directory Const FILE_WRITE_DATA = (&H2) ' file pipe Const FILE_ADD_FILE = (&H2) ' directory Const FILE_APPEND_DATA = (&H4) ' file Const FILE_ADD_SUBDIRECTORY = (&H4) ' directory Const FILE_CREATE_PIPE_INSTANCE = (&H4) ' named pipe Const FILE_READ_EA = (&H8) ' file directory Const FILE_READ_PROPERTIES = FILE_READ_EA Const FILE_WRITE_EA = (&H10) ' file directory Const FILE_WRITE_PROPERTIES = FILE_WRITE_EA Const FILE_EXECUTE = (&H20) ' file Const FILE_TRAVERSE = (&H20) ' directory Const FILE_DELETE_CHILD = (&H40) ' directory Const FILE_READ_ATTRIBUTES = (&H80) ' all Const FILE_WRITE_ATTRIBUTES = (&H100) ' all Const FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H1FF) Const FILE_GENERIC_READ = (STANDARD_RIGHTS_READ Or FILE_READ_DATA Or FILE_READ_ATTRIBUTES Or FILE_READ_EA Or SYNCHRONIZE) Const FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE Or FILE_WRITE_DATA Or FILE_WRITE_ATTRIBUTES Or FILE_WRITE_EA Or FILE_APPEND_DATA Or SYNCHRONIZE) Const FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE Or FILE_READ_ATTRIBUTES Or FILE_EXECUTE Or SYNCHRONIZE) Const FILE_SHARE_READ = &H1 Const FILE_SHARE_WRITE = &H2 Const FILE_ATTRIBUTE_READONLY = &H1 Const FILE_ATTRIBUTE_HIDDEN = &H2 Const FILE_ATTRIBUTE_SYSTEM = &H4 Const FILE_ATTRIBUTE_DIRECTORY = &H10 Const FILE_ATTRIBUTE_ARCHIVE = &H20 Const FILE_ATTRIBUTE_NORMAL = &H80 Const FILE_ATTRIBUTE_TEMPORARY = &H100 Const FILE_ATTRIBUTE_COMPRESSED = &H800 Const FILE_NOTIFY_CHANGE_FILE_NAME = &H1 Const FILE_NOTIFY_CHANGE_DIR_NAME = &H2 Const FILE_NOTIFY_CHANGE_ATTRIBUTES = &H4 Const FILE_NOTIFY_CHANGE_SIZE = &H8 Const FILE_NOTIFY_CHANGE_LAST_WRITE = &H10 Const FILE_NOTIFY_CHANGE_SECURITY = &H100 Const MAILSLOT_NO_MESSAGE = (-1) Const MAILSLOT_WAIT_FOREVER = (-1) Const FILE_CASE_SENSITIVE_SEARCH = &H1 Const FILE_CASE_PRESERVED_NAMES = &H2 Const FILE_UNICODE_ON_DISK = &H4 Const FILE_PERSISTENT_ACLS = &H8 Const FILE_FILE_COMPRESSION = &H10 Const FILE_VOLUME_IS_COMPRESSED = &H8000 Const IO_COMPLETION_MODIFY_STATE = &H2 Const IO_COMPLETION_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H3) Const DUPLICATE_CLOSE_SOURCE = &H1 Const DUPLICATE_SAME_ACCESS = &H2 Const ACCESS_SYSTEM_SECURITY = &H1000000 ' MaximumAllowed access type Const MAXIMUM_ALLOWED = &H2000000 ' These are the generic rights. Const GENERIC_READ = &H80000000 Const GENERIC_WRITE = &H40000000 Const GENERIC_EXECUTE = &H20000000 Const GENERIC_ALL = &H10000000 ' Define the generic mapping array. This is used to denote the ' mapping of each generic access right to a specific access mask. Type GENERIC_MAPPING GenericRead As Long GenericWrite As Long GenericExecute As Long GenericAll As Long End Type Type LUID LowPart As Long HighPart As Long End Type Type LUID_AND_ATTRIBUTES pLuid As LUID Attributes As Long End Type Const ACL_REVISION = (2) ' This is the history of ACL revisions. Add a new one whenever ' ACL_REVISION is updated Const ACL_REVISION1 = (1) Const ACL_REVISION2 = (2) Type ACL AclRevision As Byte Sbz1 As Byte AclSize As Integer AceCount As Integer Sbz2 As Integer End Type Type ACE_HEADER AceType As Byte AceFlags As Byte AceSize As Long End Type Const ACCESS_ALLOWED_ACE_TYPE = &H0 Const ACCESS_DENIED_ACE_TYPE = &H1 Const SYSTEM_AUDIT_ACE_TYPE = &H2 Const SYSTEM_ALARM_ACE_TYPE = &H3 ' The following are the inherit flags that go into the AceFlags field ' of an Ace header. Const OBJECT_INHERIT_ACE = &H1 Const CONTAINER_INHERIT_ACE = &H2 Const NO_PROPAGATE_INHERIT_ACE = &H4 Const INHERIT_ONLY_ACE = &H8 Const VALID_INHERIT_FLAGS = &HF Const SUCCESSFUL_ACCESS_ACE_FLAG = &H40 Const FAILED_ACCESS_ACE_FLAG = &H80 Type ACCESS_ALLOWED_ACE Header As ACE_HEADER Mask As Long SidStart As Long End Type Type ACCESS_DENIED_ACE Header As ACE_HEADER Mask As Long SidStart As Long End Type Type SYSTEM_AUDIT_ACE Header As ACE_HEADER Mask As Long SidStart As Long End Type Type SYSTEM_ALARM_ACE Header As ACE_HEADER Mask As Long SidStart As Long End Type Const AclRevisionInformation = 1 Const AclSizeInformation = 2 Type ACL_REVISION_INFORMATION AclRevision As Long End Type Type ACL_SIZE_INFORMATION AceCount As Long AclBytesInUse As Long AclBytesFree As Long End Type Const SECURITY_DESCRIPTOR_REVISION = (1) Const SECURITY_DESCRIPTOR_REVISION1 = (1) Const SECURITY_DESCRIPTOR_MIN_LENGTH = (20) Const SE_OWNER_DEFAULTED = &H1 Const SE_GROUP_DEFAULTED = &H2 Const SE_DACL_PRESENT = &H4 Const SE_DACL_DEFAULTED = &H8 Const SE_SACL_PRESENT = &H10 Const SE_SACL_DEFAULTED = &H20 Const SE_SELF_RELATIVE = &H8000 Type SECURITY_DESCRIPTOR Revision As Byte Sbz1 As Byte Control As Long Owner As Long Group As Long Sacl As ACL Dacl As ACL End Type Const SE_PRIVILEGE_ENABLED_BY_DEFAULT = &H1 Const SE_PRIVILEGE_ENABLED = &H2 Const SE_PRIVILEGE_USED_FOR_ACCESS = &H80000000 Type PRIVILEGE_SET PrivilegeCount As Long Control As Long Privilege(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES End Type Const SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege" Const SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege" Const SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege" Const SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege" Const SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege" Const SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege" Const SE_TCB_NAME = "SeTcbPrivilege" Const SE_SECURITY_NAME = "SeSecurityPrivilege" Const SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege" Const SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege" Const SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege" Const SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege" Const SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege" Const SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege" Const SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege" Const SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege" Const SE_BACKUP_NAME = "SeBackupPrivilege" Const SE_RESTORE_NAME = "SeRestorePrivilege" Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege" Const SE_DEBUG_NAME = "SeDebugPrivilege" Const SE_AUDIT_NAME = "SeAuditPrivilege" Const SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege" Const SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege" Const SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege" Const REG_NONE = 0 ' No value type Const REG_SZ = 1 ' Unicode nul terminated string Const REG_EXPAND_SZ = 2 ' Unicode nul terminated string Const REG_BINARY = 3 ' Free form binary Const REG_DWORD = 4 ' 32-bit number Const REG_DWORD_LITTLE_ENDIAN = 4 ' 32-bit number (same as REG_DWORD) Const REG_DWORD_BIG_ENDIAN = 5 ' 32-bit number Const REG_LINK = 6 ' Symbolic Link (unicode) Const REG_MULTI_SZ = 7 ' Multiple Unicode strings Const REG_RESOURCE_LIST = 8 ' Resource list in the resource map Const REG_FULL_RESOURCE_DESCRIPTOR = 9 ' Resource list in the hardware description Const REG_RESOURCE_REQUIREMENTS_LIST = 10 Const REG_CREATED_NEW_KEY = &H1 ' New Registry Key created Const REG_OPENED_EXISTING_KEY = &H2 ' Existing Key opened Const REG_WHOLE_HIVE_VOLATILE = &H1 ' Restore whole hive volatile Const REG_REFRESH_HIVE = &H2 ' Unwind changes to last flush Const REG_NOTIFY_CHANGE_NAME = &H1 ' Create or delete (child) Const REG_NOTIFY_CHANGE_ATTRIBUTES = &H2 Const REG_NOTIFY_CHANGE_LAST_SET = &H4 ' Time stamp Const REG_NOTIFY_CHANGE_SECURITY = &H8 Const REG_LEGAL_CHANGE_FILTER = (REG_NOTIFY_CHANGE_NAME Or REG_NOTIFY_CHANGE_ATTRIBUTES Or REG_NOTIFY_CHANGE_LAST_SET Or REG_NOTIFY_CHANGE_SECURITY) Const REG_LEGAL_OPTION = (REG_OPTION_RESERVED Or REG_OPTION_NON_VOLATILE Or REG_OPTION_VOLATILE Or REG_OPTION_CREATE_LINK Or REG_OPTION_BACKUP_RESTORE) ' Reg Create Type Values... Const REG_OPTION_RESERVED = 0 ' Parameter is reserved Const REG_OPTION_NON_VOLATILE = 0 ' Key is preserved when system is rebooted Const REG_OPTION_VOLATILE = 1 ' Key is not preserved when system is rebooted Const REG_OPTION_CREATE_LINK = 2 ' Created key is a symbolic link Const REG_OPTION_BACKUP_RESTORE = 4 ' open for backup or restore ' Reg Key Security Options ' Const READ_CONTROL = &H20000 Const KEY_QUERY_VALUE = &H1 Const KEY_SET_VALUE = &H2 Const KEY_CREATE_SUB_KEY = &H4 Const KEY_ENUMERATE_SUB_KEYS = &H8 Const KEY_NOTIFY = &H10 Const KEY_CREATE_LINK = &H20 Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE)) Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE)) Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE)) 'Const STANDARD_RIGHTS_READ = (READ_CONTROL) 'Const STANDARD_RIGHTS_WRITE = (READ_CONTROL) Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE)) ' end winnt.txt ' Debug APIs Const EXCEPTION_DEBUG_EVENT = 1 Const CREATE_THREAD_DEBUG_EVENT = 2 Const CREATE_PROCESS_DEBUG_EVENT = 3 Const EXIT_THREAD_DEBUG_EVENT = 4 Const EXIT_PROCESS_DEBUG_EVENT = 5 Const LOAD_DLL_DEBUG_EVENT = 6 Const UNLOAD_DLL_DEBUG_EVENT = 7 Const OUTPUT_DEBUG_STRING_EVENT = 8 Const RIP_EVENT = 9 Const EXCEPTION_MAXIMUM_PARAMETERS = 15 Type EXCEPTION_RECORD ExceptionCode As Long ExceptionFlags As Long pExceptionRecord As Long ' Pointer to an EXCEPTION_RECORD structure ExceptionAddress As Long NumberParameters As Long ExceptionInformation(EXCEPTION_MAXIMUM_PARAMETERS) As Long End Type Type EXCEPTION_DEBUG_INFO pExceptionRecord As EXCEPTION_RECORD dwFirstChance As Long End Type Type CREATE_THREAD_DEBUG_INFO hThread As Long lpThreadLocalBase As Long lpStartAddress As Long End Type Type CREATE_PROCESS_DEBUG_INFO hFile As Long hProcess As Long hThread As Long lpBaseOfImage As Long dwDebugInfoFileOffset As Long nDebugInfoSize As Long lpThreadLocalBase As Long lpStartAddress As Long lpImageName As Long fUnicode As Integer End Type Type EXIT_THREAD_DEBUG_INFO dwExitCode As Long End Type Type EXIT_PROCESS_DEBUG_INFO dwExitCode As Long End Type Type LOAD_DLL_DEBUG_INFO hFile As Long lpBaseOfDll As Long dwDebugInfoFileOffset As Long nDebugInfoSize As Long lpImageName As Long fUnicode As Integer End Type Type UNLOAD_DLL_DEBUG_INFO lpBaseOfDll As Long End Type Type OUTPUT_DEBUG_STRING_INFO lpDebugStringData As String fUnicode As Integer nDebugStringLength As Integer End Type Type RIP_INFO dwError As Long dwType As Long End Type ' GetDriveType return values Const DRIVE_REMOVABLE = 2 Const DRIVE_FIXED = 3 Const DRIVE_REMOTE = 4 Const DRIVE_CDROM = 5 Const DRIVE_RAMDISK = 6 Const FILE_TYPE_UNKNOWN = &H0 Const FILE_TYPE_DISK = &H1 Const FILE_TYPE_CHAR = &H2 Const FILE_TYPE_PIPE = &H3 Const FILE_TYPE_REMOTE = &H8000 Const STD_INPUT_HANDLE = -10& Const STD_OUTPUT_HANDLE = -11& Const STD_ERROR_HANDLE = -12& Const NOPARITY = 0 Const ODDPARITY = 1 Const EVENPARITY = 2 Const MARKPARITY = 3 Const SPACEPARITY = 4 Const ONESTOPBIT = 0 Const ONE5STOPBITS = 1 Const TWOSTOPBITS = 2 Const IGNORE = 0 ' Ignore signal Const INFINITE = &HFFFF ' Infinite timeout ' Comm Baud Rate indices Const CBR_110 = 110 Const CBR_300 = 300 Const CBR_600 = 600 Const CBR_1200 = 1200 Const CBR_2400 = 2400 Const CBR_4800 = 4800 Const CBR_9600 = 9600 Const CBR_14400 = 14400 Const CBR_19200 = 19200 Const CBR_38400 = 38400 Const CBR_56000 = 56000 Const CBR_57600 = 57600 Const CBR_115200 = 115200 Const CBR_128000 = 128000 Const CBR_256000 = 256000 ' Error Flags Const CE_RXOVER = &H1 ' Receive Queue overflow Const CE_OVERRUN = &H2 ' Receive Overrun Error Const CE_RXPARITY = &H4 ' Receive Parity Error Const CE_FRAME = &H8 ' Receive Framing error Const CE_BREAK = &H10 ' Break Detected Const CE_TXFULL = &H100 ' TX Queue is full Const CE_PTO = &H200 ' LPTx Timeout Const CE_c' directory Const FI CE_OVERRgnH80 Clnst CE_c' directory Const FSTD_INPU 00 O Framing esIR_HANDLE G= &H0 Const LANG_BULGARI