MODULE WinApi ["KERNEL32.dll"];
(**
	project	= "BlackBox"
	organization	= "www.oberon.ch"
	contributors	= "Oberon microsystems"
	version	= "System/Rsrc/About"
	copyright	= "System/Rsrc/About"
	license	= "Docu/BB-License"
	changes	= "
	- 20070130, bh, RtlUnwind added
	- 20070130, bh, EnumFont callbacks corrected added
	- 20070510, mf, RegSetValueExW corrected
	- 20141215, center #23, fixing bugs in WinApi plus some refinements and extensions
	- 20170321, center #156, adding Coroutines to BlackBox
	- 20170321, center #166, adding SendInput to WinApi
	- 20171023, center #179, fixing the value of WinApi.WM_MOUSELAST
	- 20171106, center #181, fixing error handling of HostDialog.OpenExternal
	- 20180515, center #187, adding a run-time debugger to BlackBox
	"
	issues	= "
	- ...
	"

**)

	IMPORT SYSTEM, COM;

	TYPE (* base types *)
		PtrVoid* = INTEGER;
		PtrSTR* = POINTER TO ARRAY [untagged] OF SHORTCHAR;
		PtrWSTR* = POINTER TO ARRAY [untagged] OF CHAR;
		DATE* = REAL;
		CY* = LONGINT;
		ACCESS_MASK* = SET;
		SECURITY_INFORMATION* = SET;

	CONST
		HKEY_CLASSES_ROOT* = 80000000H;
		HKEY_CURRENT_USER* = 80000001H;
		HKEY_LOCAL_MACHINE* = 80000002H;
		HKEY_USERS* = 80000003H;
		HKEY_PERFORMANCE_DATA* = 80000004H;
		HKEY_CURRENT_CONFIG* = 80000005H;
		
	CONST (* macros *)
		INVALID_HANDLE_VALUE* = -1;
		MAX_PATH* = 260 (* {2, 8} *);
		NULL* = 0 (* {} *);
		FALSE* = 0 (* {} *);
		TRUE* = 1 (* {0} *);
		ANYSIZE_ARRAY* = 1 (* {0} *);
		APPLICATION_ERROR_MASK* = 536870912 (* {29} *);
		ERROR_SEVERITY_SUCCESS* = 0 (* {} *);
		ERROR_SEVERITY_INFORMATIONAL* = 1073741824 (* {30} *);
		ERROR_SEVERITY_WARNING* = 80000000H;
		ERROR_SEVERITY_ERROR* = -1073741824 (* {30, 31} *);
		CLASS_E_NOTLICENSED* = -2147221230;
		CONNECT_E_FIRST* = -2147220992;
		CONNECT_E_LAST* = -2147220977;
		CONNECT_S_FIRST* = 262656;
		CONNECT_S_LAST* = 262671;
		CONNECT_E_NOCONNECTION* = -2147220992;
		CONNECT_E_ADVISELIMIT* = -2147220991;
		CONNECT_E_CANNOTCONNECT* = -2147220990;
		CONNECT_E_OVERRIDDEN* = -2147220989;
		SELFREG_E_FIRST* = -2147220992;
		SELFREG_E_LAST* = -2147220977;
		SELFREG_S_FIRST* = 262656;
		SELFREG_S_LAST* = 262671;
		SELFREG_E_TYPELIB* = -2147220992;
		SELFREG_E_CLASS* = -2147220991;
		PERPROP_E_FIRST* = -2147220992;
		PERPROP_E_LAST* = -2147220977;
		PERPROP_S_FIRST* = 262656;
		PERPROP_S_LAST* = 262671;
		PERPROP_E_NOPAGEAVAILABLE* = -2147220992;
		UNICODE_NULL* = 0 (* {} *);
		MINCHAR* = 128 (* {7} *);
		MAXCHAR* = 127 (* {0..6} *);
		MINSHORT* = 32768 (* {15} *);
		MAXSHORT* = 32767 (* {0..14} *);
		MINLONG* = 80000000H;
		MAXLONG* = 2147483647 (* {0..30} *);
		MAXBYTE* = 255 (* {0..7} *);
		MAXWORD* = 65535 (* {0..15} *);
		MAXDWORD* = -1 (* {0..31} *);
		LANG_NEUTRAL* = 0 (* {} *);
		LANG_BULGARIAN* = 2 (* {1} *);
		LANG_CHINESE* = 4 (* {2} *);
		LANG_CROATIAN* = 26 (* {1, 3, 4} *);
		LANG_CZECH* = 5 (* {0, 2} *);
		LANG_DANISH* = 6 (* {1, 2} *);
		LANG_DUTCH* = 19 (* {0, 1, 4} *);
		LANG_ENGLISH* = 9 (* {0, 3} *);
		LANG_FINNISH* = 11 (* {0, 1, 3} *);
		LANG_FRENCH* = 12 (* {2, 3} *);
		LANG_GERMAN* = 7 (* {0..2} *);
		LANG_GREEK* = 8 (* {3} *);
		LANG_HUNGARIAN* = 14 (* {1..3} *);
		LANG_ICELANDIC* = 15 (* {0..3} *);
		LANG_ITALIAN* = 16 (* {4} *);
		LANG_JAPANESE* = 17 (* {0, 4} *);
		LANG_KOREAN* = 18 (* {1, 4} *);
		LANG_NORWEGIAN* = 20 (* {2, 4} *);
		LANG_POLISH* = 21 (* {0, 2, 4} *);
		LANG_PORTUGUESE* = 22 (* {1, 2, 4} *);
		LANG_ROMANIAN* = 24 (* {3, 4} *);
		LANG_RUSSIAN* = 25 (* {0, 3, 4} *);
		LANG_SLOVAK* = 27 (* {0, 1, 3, 4} *);
		LANG_SLOVENIAN* = 36 (* {2, 5} *);
		LANG_SPANISH* = 10 (* {1, 3} *);
		LANG_SWEDISH* = 29 (* {0, 2..4} *);
		LANG_TURKISH* = 31 (* {0..4} *);
		SUBLANG_NEUTRAL* = 0 (* {} *);
		SUBLANG_DEFAULT* = 1 (* {0} *);
		SUBLANG_SYS_DEFAULT* = 2 (* {1} *);
		SUBLANG_CHINESE_TRADITIONAL* = 1 (* {0} *);
		SUBLANG_CHINESE_SIMPLIFIED* = 2 (* {1} *);
		SUBLANG_CHINESE_HONGKONG* = 3 (* {0, 1} *);
		SUBLANG_CHINESE_SINGAPORE* = 4 (* {2} *);
		SUBLANG_DUTCH* = 1 (* {0} *);
		SUBLANG_DUTCH_BELGIAN* = 2 (* {1} *);
		SUBLANG_ENGLISH_US* = 1 (* {0} *);
		SUBLANG_ENGLISH_UK* = 2 (* {1} *);
		SUBLANG_ENGLISH_AUS* = 3 (* {0, 1} *);
		SUBLANG_ENGLISH_CAN* = 4 (* {2} *);
		SUBLANG_ENGLISH_NZ* = 5 (* {0, 2} *);
		SUBLANG_ENGLISH_EIRE* = 6 (* {1, 2} *);
		SUBLANG_FRENCH* = 1 (* {0} *);
		SUBLANG_FRENCH_BELGIAN* = 2 (* {1} *);
		SUBLANG_FRENCH_CANADIAN* = 3 (* {0, 1} *);
		SUBLANG_FRENCH_SWISS* = 4 (* {2} *);
		SUBLANG_GERMAN* = 1 (* {0} *);
		SUBLANG_GERMAN_SWISS* = 2 (* {1} *);
		SUBLANG_GERMAN_AUSTRIAN* = 3 (* {0, 1} *);
		SUBLANG_ITALIAN* = 1 (* {0} *);
		SUBLANG_ITALIAN_SWISS* = 2 (* {1} *);
		SUBLANG_NORWEGIAN_BOKMAL* = 1 (* {0} *);
		SUBLANG_NORWEGIAN_NYNORSK* = 2 (* {1} *);
		SUBLANG_PORTUGUESE* = 2 (* {1} *);
		SUBLANG_PORTUGUESE_BRAZILIAN* = 1 (* {0} *);
		SUBLANG_SPANISH* = 1 (* {0} *);
		SUBLANG_SPANISH_MEXICAN* = 2 (* {1} *);
		SUBLANG_SPANISH_MODERN* = 3 (* {0, 1} *);
		SORT_DEFAULT* = 0 (* {} *);
		SORT_JAPANESE_XJIS* = 0 (* {} *);
		SORT_JAPANESE_UNICODE* = 1 (* {0} *);
		SORT_CHINESE_BIG5* = 0 (* {} *);
		SORT_CHINESE_PRCP* = 0 (* {} *);
		SORT_CHINESE_UNICODE* = 1 (* {0} *);
		SORT_CHINESE_PRC* = 2 (* {1} *);
		SORT_KOREAN_KSC* = 0 (* {} *);
		SORT_KOREAN_UNICODE* = 1 (* {0} *);
		SORT_GERMAN_PHONE_BOOK* = 1 (* {0} *);
		NLS_VALID_LOCALE_MASK* = 1048575 (* {0..19} *);
		LANG_SYSTEM_DEFAULT* = 2048 (* {11} *);
		LANG_USER_DEFAULT* = 1024 (* {10} *);
		LOCALE_SYSTEM_DEFAULT* = 2048 (* {11} *);
		LOCALE_USER_DEFAULT* = 1024 (* {10} *);
		LOCALE_NEUTRAL* = 0 (* {} *);
		STATUS_WAIT_0* = 0 (* {} *);
		STATUS_ABANDONED_WAIT_0* = 128 (* {7} *);
		STATUS_USER_APC* = 192 (* {6, 7} *);
		STATUS_TIMEOUT* = 258 (* {1, 8} *);
		STATUS_PENDING* = 259 (* {0, 1, 8} *);
		STATUS_SEGMENT_NOTIFICATION* = 1073741829 (* {0, 2, 30} *);
		STATUS_GUARD_PAGE_VIOLATION* = -2147483647 (* {0, 31} *);
		STATUS_DATATYPE_MISALIGNMENT* = -2147483646 (* {1, 31} *);
		STATUS_BREAKPOINT* = -2147483645 (* {0, 1, 31} *);
		STATUS_SINGLE_STEP* = -2147483644 (* {2, 31} *);
		STATUS_ACCESS_VIOLATION* = -1073741819 (* {0, 2, 30, 31} *);
		STATUS_IN_PAGE_ERROR* = -1073741818 (* {1, 2, 30, 31} *);
		STATUS_NO_MEMORY* = -1073741801 (* {0..2, 4, 30, 31} *);
		STATUS_ILLEGAL_INSTRUCTION* = -1073741795 (* {0, 2..4, 30, 31} *);
		STATUS_NONCONTINUABLE_EXCEPTION* = -1073741787 (* {0, 2, 5, 30, 31} *);
		STATUS_INVALID_DISPOSITION* = -1073741786 (* {1, 2, 5, 30, 31} *);
		STATUS_ARRAY_BOUNDS_EXCEEDED* = -1073741684 (* {2, 3, 7, 30, 31} *);
		STATUS_FLOAT_DENORMAL_OPERAND* = -1073741683 (* {0, 2, 3, 7, 30, 31} *);
		STATUS_FLOAT_DIVIDE_BY_ZERO* = -1073741682 (* {1..3, 7, 30, 31} *);
		STATUS_FLOAT_INEXACT_RESULT* = -1073741681 (* {0..3, 7, 30, 31} *);
		STATUS_FLOAT_INVALID_OPERATION* = -1073741680 (* {4, 7, 30, 31} *);
		STATUS_FLOAT_OVERFLOW* = -1073741679 (* {0, 4, 7, 30, 31} *);
		STATUS_FLOAT_STACK_CHECK* = -1073741678 (* {1, 4, 7, 30, 31} *);
		STATUS_FLOAT_UNDERFLOW* = -1073741677 (* {0, 1, 4, 7, 30, 31} *);
		STATUS_INTEGER_DIVIDE_BY_ZERO* = -1073741676 (* {2, 4, 7, 30, 31} *);
		STATUS_INTEGER_OVERFLOW* = -1073741675 (* {0, 2, 4, 7, 30, 31} *);
		STATUS_PRIVILEGED_INSTRUCTION* = -1073741674 (* {1, 2, 4, 7, 30, 31} *);
		STATUS_STACK_OVERFLOW* = -1073741571 (* {0, 2..7, 30, 31} *);
		STATUS_CONTROL_C_EXIT* = -1073741510 (* {1, 3..5, 8, 30, 31} *);
		MAXIMUM_WAIT_OBJECTS* = 64 (* {6} *);
		MAXIMUM_SUSPEND_COUNT* = 127 (* {0..6} *);
		SIZE_OF_80387_REGISTERS* = 80 (* {4, 6} *);
		CONTEXT_i386* = {16};
		CONTEXT_i486* = {16};
		CONTEXT_CONTROL* = {0, 16};
		CONTEXT_INTEGER* = {1, 16};
		CONTEXT_SEGMENTS* = {2, 16};
		CONTEXT_FLOATING_POINT* = {3, 16};
		CONTEXT_DEBUG_REGISTERS* = {4, 16};
		CONTEXT_FULL* = {0..2, 16};
		EXCEPTION_NONCONTINUABLE* = {0};
		EXCEPTION_MAXIMUM_PARAMETERS* = 15 (* {0..3} *);
		PROCESS_TERMINATE* = {0};
		PROCESS_CREATE_THREAD* = {1};
		PROCESS_VM_OPERATION* = {3};
		PROCESS_VM_READ* = {4};
		PROCESS_VM_WRITE* = {5};
		PROCESS_DUP_HANDLE* = {6};
		PROCESS_CREATE_PROCESS* = {7};
		PROCESS_SET_QUOTA* = {8};
		PROCESS_SET_INFORMATION* = {9};
		PROCESS_QUERY_INFORMATION* = {10};
		PROCESS_ALL_ACCESS* = {0..11, 16..20};
		MAXIMUM_PROCESSORS* = 32 (* {5} *);
		THREAD_TERMINATE* = {0};
		THREAD_SUSPEND_RESUME* = {1};
		THREAD_GET_CONTEXT* = {3};
		THREAD_SET_CONTEXT* = {4};
		THREAD_SET_INFORMATION* = {5};
		THREAD_QUERY_INFORMATION* = {6};
		THREAD_SET_THREAD_TOKEN* = {7};
		THREAD_IMPERSONATE* = {8};
		THREAD_DIRECT_IMPERSONATION* = {9};
		THREAD_ALL_ACCESS* = 2032639 (* {0..9, 16..20} *);
		TLS_MINIMUM_AVAILABLE* = 64 (* {6} *);
		THREAD_BASE_PRIORITY_LOWRT* = 15 (* {0..3} *);
		THREAD_BASE_PRIORITY_MAX* = 2 (* {1} *);
		THREAD_BASE_PRIORITY_MIN* = -2 (* {1..31} *);
		THREAD_BASE_PRIORITY_IDLE* = -15 (* {0, 4..31} *);
		EVENT_MODIFY_STATE* = 2 (* {1} *);
		EVENT_ALL_ACCESS* = 2031619 (* {0, 1, 16..20} *);
		MUTANT_QUERY_STATE* = 1 (* {0} *);
		MUTANT_ALL_ACCESS* = 2031617 (* {0, 16..20} *);
		SEMAPHORE_MODIFY_STATE* = 2 (* {1} *);
		SEMAPHORE_ALL_ACCESS* = 2031619 (* {0, 1, 16..20} *);
		TIME_ZONE_ID_UNKNOWN* = {};
		TIME_ZONE_ID_STANDARD* = {0};
		TIME_ZONE_ID_DAYLIGHT* = {1};
		PROCESSOR_INTEL_386* = 386 (* {1, 7, 8} *);
		PROCESSOR_INTEL_486* = 486 (* {1, 2, 5..8} *);
		PROCESSOR_INTEL_PENTIUM* = 586 (* {1, 3, 6, 9} *);
		PROCESSOR_MIPS_R4000* = 4000 (* {5, 7..11} *);
		PROCESSOR_ALPHA_21064* = 21064 (* {3, 6, 9, 12, 14} *);
		PROCESSOR_ARCHITECTURE_INTEL* = 0 (* {} *);
		PROCESSOR_ARCHITECTURE_MIPS* = 1 (* {0} *);
		PROCESSOR_ARCHITECTURE_ALPHA* = 2 (* {1} *);
		PROCESSOR_ARCHITECTURE_PPC* = 3 (* {0, 1} *);
		PROCESSOR_ARCHITECTURE_UNKNOWN* = 65535 (* {0..15} *);
		SECTION_QUERY* = {0};
		SECTION_MAP_WRITE* = {1};
		SECTION_MAP_READ* = {2};
		SECTION_MAP_EXECUTE* = {3};
		SECTION_EXTEND_SIZE* = {4};
		SECTION_ALL_ACCESS* = {0..4, 16..19};
		PAGE_NOACCESS* = {0};
		PAGE_READONLY* = {1};
		PAGE_READWRITE* = {2};
		PAGE_WRITECOPY* = {3};
		PAGE_EXECUTE* = {4};
		PAGE_EXECUTE_READ* = {5};
		PAGE_EXECUTE_READWRITE* = {6};
		PAGE_EXECUTE_WRITECOPY* = {7};
		PAGE_GUARD* = {8};
		PAGE_NOCACHE* = {9};
		MEM_COMMIT* = {12};
		MEM_RESERVE* = {13};
		MEM_DECOMMIT* = {14};
		MEM_RELEASE* = {15};
		MEM_FREE* = {16};
		MEM_PRIVATE* = {17};
		MEM_MAPPED* = {18};
		MEM_RESET* = {19};
		MEM_TOP_DOWN* = {20};
		SEC_FILE* = {23};
		SEC_IMAGE* = {24};
		SEC_RESERVE* = {26};
		SEC_COMMIT* = {27};
		SEC_NOCACHE* = {28};
		MEM_IMAGE* = {24};
		FILE_READ_DATA* = {0};
		FILE_LIST_DIRECTORY* = {0};
		FILE_WRITE_DATA* = {1};
		FILE_ADD_FILE* = {1};
		FILE_APPEND_DATA* = {2};
		FILE_ADD_SUBDIRECTORY* = {2};
		FILE_CREATE_PIPE_INSTANCE* = {2};
		FILE_READ_EA* = {3};
		FILE_WRITE_EA* = {4};
		FILE_EXECUTE* = {5};
		FILE_TRAVERSE* = {5};
		FILE_DELETE_CHILD* = {6};
		FILE_READ_ATTRIBUTES* = {7};
		FILE_WRITE_ATTRIBUTES* = {8};
		FILE_ALL_ACCESS* = {0..8, 16..20};
		FILE_GENERIC_READ* = {0, 3, 7, 17, 20};
		FILE_GENERIC_WRITE* = {1, 2, 4, 8, 17, 20};
		FILE_GENERIC_EXECUTE* = {5, 7, 17, 20};
		FILE_SHARE_READ* = {0};
		FILE_SHARE_WRITE* = {1};
		FILE_SHARE_DELETE* = {2};
		FILE_ATTRIBUTE_READONLY* = {0};
		FILE_ATTRIBUTE_HIDDEN* = {1};
		FILE_ATTRIBUTE_SYSTEM* = {2};
		FILE_ATTRIBUTE_DIRECTORY* = {4};
		FILE_ATTRIBUTE_ARCHIVE* = {5};
		FILE_ATTRIBUTE_NORMAL* = {7};
		FILE_ATTRIBUTE_TEMPORARY* = {8};
		FILE_ATTRIBUTE_COMPRESSED* = {11};
		FILE_NOTIFY_CHANGE_FILE_NAME* = {0};
		FILE_NOTIFY_CHANGE_DIR_NAME* = {1};
		FILE_NOTIFY_CHANGE_ATTRIBUTES* = {2};
		FILE_NOTIFY_CHANGE_SIZE* = {3};
		FILE_NOTIFY_CHANGE_LAST_WRITE* = {4};
		FILE_NOTIFY_CHANGE_LAST_ACCESS* = {5};
		FILE_NOTIFY_CHANGE_CREATION* = {6};
		FILE_NOTIFY_CHANGE_SECURITY* = {8};
		FILE_ACTION_ADDED* = {0};
		FILE_ACTION_REMOVED* = {1};
		FILE_ACTION_MODIFIED* = {0, 1};
		FILE_ACTION_RENAMED_OLD_NAME* = {2};
		FILE_ACTION_RENAMED_NEW_NAME* = {0, 2};
		MAILSLOT_NO_MESSAGE* = -1 (* {0..31} *);
		MAILSLOT_WAIT_FOREVER* = -1 (* {0..31} *);
		FILE_CASE_SENSITIVE_SEARCH* = {0};
		FILE_CASE_PRESERVED_NAMES* = {1};
		FILE_UNICODE_ON_DISK* = {2};
		FILE_PERSISTENT_ACLS* = {3};
		FILE_FILE_COMPRESSION* = {4};
		FILE_VOLUME_IS_COMPRESSED* = {15};
		IO_COMPLETION_MODIFY_STATE* = 2 (* {1} *);
		IO_COMPLETION_ALL_ACCESS* = 2031619 (* {0, 1, 16..20} *);
		DUPLICATE_CLOSE_SOURCE* = 1 (* {0} *);
		DUPLICATE_SAME_ACCESS* = 2 (* {1} *);
		DELETE* = 65536 (* {16} *);
		READ_CONTROL* = 131072 (* {17} *);
		WRITE_DAC* = 262144 (* {18} *);
		WRITE_OWNER* = 524288 (* {19} *);
		SYNCHRONIZE* = {20};
		STANDARD_RIGHTS_REQUIRED* = 983040 (* {16..19} *);
		STANDARD_RIGHTS_READ* = 131072 (* {17} *);
		STANDARD_RIGHTS_WRITE* = 131072 (* {17} *);
		STANDARD_RIGHTS_EXECUTE* = 131072 (* {17} *);
		STANDARD_RIGHTS_ALL* = 2031616 (* {16..20} *);
		SPECIFIC_RIGHTS_ALL* = 65535 (* {0..15} *);
		ACCESS_SYSTEM_SECURITY* = 16777216 (* {24} *);
		MAXIMUM_ALLOWED* = 33554432 (* {25} *);
		GENERIC_READ* = {31};
		GENERIC_WRITE* = {30};
		GENERIC_EXECUTE* = {29};
		GENERIC_ALL* = {28};
		SID_REVISION* = 1 (* {0} *);
		SID_MAX_SUB_AUTHORITIES* = 15 (* {0..3} *);
		SID_RECOMMENDED_SUB_AUTHORITIES* = 1 (* {0} *);
		SECURITY_NULL_RID* = 0 (* {} *);
		SECURITY_WORLD_RID* = 0 (* {} *);
		SECURITY_LOCAL_RID* = 0 (* {} *);
		SECURITY_CREATOR_OWNER_RID* = 0 (* {} *);
		SECURITY_CREATOR_GROUP_RID* = 1 (* {0} *);
		SECURITY_CREATOR_OWNER_SERVER_RID* = 2 (* {1} *);
		SECURITY_CREATOR_GROUP_SERVER_RID* = 3 (* {0, 1} *);
		SECURITY_DIALUP_RID* = 1 (* {0} *);
		SECURITY_NETWORK_RID* = 2 (* {1} *);
		SECURITY_BATCH_RID* = 3 (* {0, 1} *);
		SECURITY_INTERACTIVE_RID* = 4 (* {2} *);
		SECURITY_SERVICE_RID* = 6 (* {1, 2} *);
		SECURITY_ANONYMOUS_LOGON_RID* = 7 (* {0..2} *);
		SECURITY_PROXY_RID* = 8 (* {3} *);
		SECURITY_LOGON_IDS_RID* = 5 (* {0, 2} *);
		SECURITY_LOGON_IDS_RID_COUNT* = 3 (* {0, 1} *);
		SECURITY_LOCAL_SYSTEM_RID* = 18 (* {1, 4} *);
		SECURITY_NT_NON_UNIQUE* = 21 (* {0, 2, 4} *);
		SECURITY_BUILTIN_DOMAIN_RID* = 32 (* {5} *);
		DOMAIN_USER_RID_ADMIN* = 500 (* {2, 4..8} *);
		DOMAIN_USER_RID_GUEST* = 501 (* {0, 2, 4..8} *);
		DOMAIN_GROUP_RID_ADMINS* = 512 (* {9} *);
		DOMAIN_GROUP_RID_USERS* = 513 (* {0, 9} *);
		DOMAIN_GROUP_RID_GUESTS* = 514 (* {1, 9} *);
		DOMAIN_ALIAS_RID_ADMINS* = 544 (* {5, 9} *);
		DOMAIN_ALIAS_RID_USERS* = 545 (* {0, 5, 9} *);
		DOMAIN_ALIAS_RID_GUESTS* = 546 (* {1, 5, 9} *);
		DOMAIN_ALIAS_RID_POWER_USERS* = 547 (* {0, 1, 5, 9} *);
		DOMAIN_ALIAS_RID_ACCOUNT_OPS* = 548 (* {2, 5, 9} *);
		DOMAIN_ALIAS_RID_SYSTEM_OPS* = 549 (* {0, 2, 5, 9} *);
		DOMAIN_ALIAS_RID_PRINT_OPS* = 550 (* {1, 2, 5, 9} *);
		DOMAIN_ALIAS_RID_BACKUP_OPS* = 551 (* {0..2, 5, 9} *);
		DOMAIN_ALIAS_RID_REPLICATOR* = 552 (* {3, 5, 9} *);
		SE_GROUP_MANDATORY* = {0};
		SE_GROUP_ENABLED_BY_DEFAULT* = {1};
		SE_GROUP_ENABLED* = {2};
		SE_GROUP_OWNER* = {3};
		SE_GROUP_LOGON_ID* = {30, 31};
		ACL_REVISION* = 2 (* {1} *);
		ACL_REVISION1* = 1 (* {0} *);
		ACL_REVISION2* = 2 (* {1} *);
		ACL_REVISION3* = 3 (* {0, 1} *);
		ACCESS_ALLOWED_ACE_TYPE* = 0 (* {} *);
		ACCESS_DENIED_ACE_TYPE* = 1 (* {0} *);
		SYSTEM_AUDIT_ACE_TYPE* = 2 (* {1} *);
		SYSTEM_ALARM_ACE_TYPE* = 3 (* {0, 1} *);
		ACCESS_ALLOWED_COMPOUND_ACE_TYPE* = 4 (* {2} *);
		OBJECT_INHERIT_ACE* = 1 (* {0} *);
		CONTAINER_INHERIT_ACE* = 2 (* {1} *);
		NO_PROPAGATE_INHERIT_ACE* = 4 (* {2} *);
		INHERIT_ONLY_ACE* = 8 (* {3} *);
		VALID_INHERIT_FLAGS* = 15 (* {0..3} *);
		SUCCESSFUL_ACCESS_ACE_FLAG* = 64 (* {6} *);
		FAILED_ACCESS_ACE_FLAG* = 128 (* {7} *);
		COMPOUND_ACE_IMPERSONATION* = 1 (* {0} *);
		SECURITY_DESCRIPTOR_REVISION* = 1 (* {0} *);
		SECURITY_DESCRIPTOR_REVISION1* = 1 (* {0} *);
		SECURITY_DESCRIPTOR_MIN_LENGTH* = 20 (* {2, 4} *);
		SE_OWNER_DEFAULTED* = 1 (* {0} *);
		SE_GROUP_DEFAULTED* = {1};
		SE_DACL_PRESENT* = 4 (* {2} *);
		SE_DACL_DEFAULTED* = 8 (* {3} *);
		SE_SACL_PRESENT* = 16 (* {4} *);
		SE_SACL_DEFAULTED* = 32 (* {5} *);
		SE_DACL_UNTRUSTED* = 64 (* {6} *);
		SE_SERVER_SECURITY* = 128 (* {7} *);
		SE_SELF_RELATIVE* = 32768 (* {15} *);
		SE_PRIVILEGE_ENABLED_BY_DEFAULT* = 1 (* {0} *);
		SE_PRIVILEGE_ENABLED* = 2 (* {1} *);
		SE_PRIVILEGE_USED_FOR_ACCESS* = 80000000H;
		PRIVILEGE_SET_ALL_NECESSARY* = 1 (* {0} *);
		SE_CREATE_TOKEN_NAME* = "SeCreateTokenPrivilege";
		SE_ASSIGNPRIMARYTOKEN_NAME* = "SeAssignPrimaryTokenPrivilege";
		SE_LOCK_MEMORY_NAME* = "SeLockMemoryPrivilege";
		SE_INCREASE_QUOTA_NAME* = "SeIncreaseQuotaPrivilege";
		SE_UNSOLICITED_INPUT_NAME* = "SeUnsolicitedInputPrivilege";
		SE_MACHINE_ACCOUNT_NAME* = "SeMachineAccountPrivilege";
		SE_TCB_NAME* = "SeTcbPrivilege";
		SE_SECURITY_NAME* = "SeSecurityPrivilege";
		SE_TAKE_OWNERSHIP_NAME* = "SeTakeOwnershipPrivilege";
		SE_LOAD_DRIVER_NAME* = "SeLoadDriverPrivilege";
		SE_SYSTEM_PROFILE_NAME* = "SeSystemProfilePrivilege";
		SE_SYSTEMTIME_NAME* = "SeSystemtimePrivilege";
		SE_PROF_SINGLE_PROCESS_NAME* = "SeProfileSingleProcessPrivilege";
		SE_INC_BASE_PRIORITY_NAME* = "SeIncreaseBasePriorityPrivilege";
		SE_CREATE_PAGEFILE_NAME* = "SeCreatePagefilePrivilege";
		SE_CREATE_PERMANENT_NAME* = "SeCreatePermanentPrivilege";
		SE_BACKUP_NAME* = "SeBackupPrivilege";
		SE_RESTORE_NAME* = "SeRestorePrivilege";
		SE_SHUTDOWN_NAME* = "SeShutdownPrivilege";
		SE_DEBUG_NAME* = "SeDebugPrivilege";
		SE_AUDIT_NAME* = "SeAuditPrivilege";
		SE_SYSTEM_ENVIRONMENT_NAME* = "SeSystemEnvironmentPrivilege";
		SE_CHANGE_NOTIFY_NAME* = "SeChangeNotifyPrivilege";
		SE_REMOTE_SHUTDOWN_NAME* = "SeRemoteShutdownPrivilege";
		SECURITY_MAX_IMPERSONATION_LEVEL* = 3 (* {0, 1} *);
		DEFAULT_IMPERSONATION_LEVEL* = 2 (* {1} *);
		TOKEN_ASSIGN_PRIMARY* = {0};
		TOKEN_DUPLICATE* = {1};
		TOKEN_IMPERSONATE* = {2};
		TOKEN_QUERY* = {3};
		TOKEN_QUERY_SOURCE* = {4};
		TOKEN_ADJUST_PRIVILEGES* = {5};
		TOKEN_ADJUST_GROUPS* = {6};
		TOKEN_ADJUST_DEFAULT* = {7};
		TOKEN_ALL_ACCESS* = {0..7, 16..19};
		TOKEN_READ* = {3, 17};
		TOKEN_WRITE* = {5..7, 17};
		TOKEN_EXECUTE* = {17};
		TOKEN_SOURCE_LENGTH* = {3};
		SECURITY_DYNAMIC_TRACKING* = 1 (* {0} *);
		SECURITY_STATIC_TRACKING* = 0 (* {} *);
		OWNER_SECURITY_INFORMATION* = {0};
		GROUP_SECURITY_INFORMATION* = {1};
		DACL_SECURITY_INFORMATION* = {2};
		SACL_SECURITY_INFORMATION* = {3};
		IMAGE_DOS_SIGNATURE* = 23117 (* {0, 2, 3, 6, 9, 11, 12, 14} *);
		IMAGE_OS2_SIGNATURE* = 17742 (* {1..3, 6, 8, 10, 14} *);
		IMAGE_OS2_SIGNATURE_LE* = 17740 (* {2, 3, 6, 8, 10, 14} *);
		IMAGE_VXD_SIGNATURE* = 17740 (* {2, 3, 6, 8, 10, 14} *);
		IMAGE_NT_SIGNATURE* = 17744 (* {4, 6, 8, 10, 14} *);
		IMAGE_SIZEOF_FILE_HEADER* = 20 (* {2, 4} *);
		IMAGE_FILE_RELOCS_STRIPPED* = {0};
		IMAGE_FILE_EXECUTABLE_IMAGE* = {1};
		IMAGE_FILE_LINE_NUMS_STRIPPED* = {2};
		IMAGE_FILE_LOCAL_SYMS_STRIPPED* = {3};
		IMAGE_FILE_BYTES_REVERSED_LO* = {7};
		IMAGE_FILE_32BIT_MACHINE* = {8};
		IMAGE_FILE_DEBUG_STRIPPED* = {9};
		IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP* = {10};
		IMAGE_FILE_NET_RUN_FROM_SWAP* = {11};
		IMAGE_FILE_SYSTEM* = {12};
		IMAGE_FILE_DLL* = {13};
		IMAGE_FILE_UP_SYSTEM_ONLY* = {14};
		IMAGE_FILE_BYTES_REVERSED_HI* = {15};
		IMAGE_FILE_MACHINE_UNKNOWN* = 0 (* {} *);
		IMAGE_FILE_MACHINE_I386* = 332 (* {2, 3, 6, 8} *);
		IMAGE_FILE_MACHINE_R3000* = 354 (* {1, 5, 6, 8} *);
		IMAGE_FILE_MACHINE_R4000* = 358 (* {1, 2, 5, 6, 8} *);
		IMAGE_FILE_MACHINE_R10000* = 360 (* {3, 5, 6, 8} *);
		IMAGE_FILE_MACHINE_ALPHA* = 388 (* {2, 7, 8} *);
		IMAGE_FILE_MACHINE_POWERPC* = 496 (* {4..8} *);
		IMAGE_NUMBEROF_DIRECTORY_ENTRIES* = 16 (* {4} *);
		IMAGE_SIZEOF_ROM_OPTIONAL_HEADER* = 56 (* {3..5} *);
		IMAGE_SIZEOF_STD_OPTIONAL_HEADER* = 28 (* {2..4} *);
		IMAGE_SIZEOF_NT_OPTIONAL_HEADER* = 224 (* {5..7} *);
		IMAGE_NT_OPTIONAL_HDR_MAGIC* = 267 (* {0, 1, 3, 8} *);
		IMAGE_ROM_OPTIONAL_HDR_MAGIC* = 263 (* {0..2, 8} *);
		IMAGE_SUBSYSTEM_UNKNOWN* = 0 (* {} *);
		IMAGE_SUBSYSTEM_NATIVE* = 1 (* {0} *);
		IMAGE_SUBSYSTEM_WINDOWS_GUI* = 2 (* {1} *);
		IMAGE_SUBSYSTEM_WINDOWS_CUI* = 3 (* {0, 1} *);
		IMAGE_SUBSYSTEM_OS2_CUI* = 5 (* {0, 2} *);
		IMAGE_SUBSYSTEM_POSIX_CUI* = 7 (* {0..2} *);
		IMAGE_SUBSYSTEM_RESERVED8* = 8 (* {3} *);
		IMAGE_DIRECTORY_ENTRY_EXPORT* = 0 (* {} *);
		IMAGE_DIRECTORY_ENTRY_IMPORT* = 1 (* {0} *);
		IMAGE_DIRECTORY_ENTRY_RESOURCE* = 2 (* {1} *);
		IMAGE_DIRECTORY_ENTRY_EXCEPTION* = 3 (* {0, 1} *);
		IMAGE_DIRECTORY_ENTRY_SECURITY* = 4 (* {2} *);
		IMAGE_DIRECTORY_ENTRY_BASERELOC* = 5 (* {0, 2} *);
		IMAGE_DIRECTORY_ENTRY_DEBUG* = 6 (* {1, 2} *);
		IMAGE_DIRECTORY_ENTRY_COPYRIGHT* = 7 (* {0..2} *);
		IMAGE_DIRECTORY_ENTRY_GLOBALPTR* = 8 (* {3} *);
		IMAGE_DIRECTORY_ENTRY_TLS* = 9 (* {0, 3} *);
		IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG* = 10 (* {1, 3} *);
		IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT* = 11 (* {0, 1, 3} *);
		IMAGE_DIRECTORY_ENTRY_IAT* = 12 (* {2, 3} *);
		IMAGE_SIZEOF_SHORT_NAME* = 8 (* {3} *);
		IMAGE_SIZEOF_SECTION_HEADER* = 40 (* {3, 5} *);
		IMAGE_SCN_TYPE_NO_PAD* = {3};
		IMAGE_SCN_CNT_CODE* = {5};
		IMAGE_SCN_CNT_INITIALIZED_DATA* = {6};
		IMAGE_SCN_CNT_UNINITIALIZED_DATA* = {7};
		IMAGE_SCN_LNK_OTHER* = {8};
		IMAGE_SCN_LNK_INFO* = {9};
		IMAGE_SCN_LNK_REMOVE* = {11};
		IMAGE_SCN_LNK_COMDAT* = {12};
		IMAGE_SCN_MEM_FARDATA* = {15};
		IMAGE_SCN_MEM_PURGEABLE* = {17};
		IMAGE_SCN_MEM_16BIT* = {17};
		IMAGE_SCN_MEM_LOCKED* = {18};
		IMAGE_SCN_MEM_PRELOAD* = {19};
		IMAGE_SCN_ALIGN_1BYTES* = {20};
		IMAGE_SCN_ALIGN_2BYTES* = {21};
		IMAGE_SCN_ALIGN_4BYTES* = {20, 21};
		IMAGE_SCN_ALIGN_8BYTES* = {22};
		IMAGE_SCN_ALIGN_16BYTES* = {20, 22};
		IMAGE_SCN_ALIGN_32BYTES* = {21, 22};
		IMAGE_SCN_ALIGN_64BYTES* = {20..22};
		IMAGE_SCN_LNK_NRELOC_OVFL* = {24};
		IMAGE_SCN_MEM_DISCARDABLE* = {25};
		IMAGE_SCN_MEM_NOT_CACHED* = {26};
		IMAGE_SCN_MEM_NOT_PAGED* = {27};
		IMAGE_SCN_MEM_SHARED* = {28};
		IMAGE_SCN_MEM_EXECUTE* = {29};
		IMAGE_SCN_MEM_READ* = {30};
		IMAGE_SCN_MEM_WRITE* = {31};
		IMAGE_SIZEOF_SYMBOL* = 18 (* {1, 4} *);
		IMAGE_SYM_UNDEFINED* = 0 (* {} *);
		IMAGE_SYM_ABSOLUTE* = -1 (* {0..31} *);
		IMAGE_SYM_DEBUG* = -2 (* {1..31} *);
		IMAGE_SYM_TYPE_NULL* = 0 (* {} *);
		IMAGE_SYM_TYPE_VOID* = 1 (* {0} *);
		IMAGE_SYM_TYPE_CHAR* = 2 (* {1} *);
		IMAGE_SYM_TYPE_SHORT* = 3 (* {0, 1} *);
		IMAGE_SYM_TYPE_INT* = 4 (* {2} *);
		IMAGE_SYM_TYPE_LONG* = 5 (* {0, 2} *);
		IMAGE_SYM_TYPE_FLOAT* = 6 (* {1, 2} *);
		IMAGE_SYM_TYPE_DOUBLE* = 7 (* {0..2} *);
		IMAGE_SYM_TYPE_STRUCT* = 8 (* {3} *);
		IMAGE_SYM_TYPE_UNION* = 9 (* {0, 3} *);
		IMAGE_SYM_TYPE_ENUM* = 10 (* {1, 3} *);
		IMAGE_SYM_TYPE_MOE* = 11 (* {0, 1, 3} *);
		IMAGE_SYM_TYPE_BYTE* = 12 (* {2, 3} *);
		IMAGE_SYM_TYPE_WORD* = 13 (* {0, 2, 3} *);
		IMAGE_SYM_TYPE_UINT* = 14 (* {1..3} *);
		IMAGE_SYM_TYPE_DWORD* = 15 (* {0..3} *);
		IMAGE_SYM_TYPE_PCODE* = 32768 (* {15} *);
		IMAGE_SYM_DTYPE_NULL* = 0 (* {} *);
		IMAGE_SYM_DTYPE_POINTER* = 1 (* {0} *);
		IMAGE_SYM_DTYPE_FUNCTION* = 2 (* {1} *);
		IMAGE_SYM_DTYPE_ARRAY* = 3 (* {0, 1} *);
		IMAGE_SYM_CLASS_END_OF_FUNCTION* = -1 (* {0..31} *);
		IMAGE_SYM_CLASS_NULL* = 0 (* {} *);
		IMAGE_SYM_CLASS_AUTOMATIC* = 1 (* {0} *);
		IMAGE_SYM_CLASS_EXTERNAL* = 2 (* {1} *);
		IMAGE_SYM_CLASS_STATIC* = 3 (* {0, 1} *);
		IMAGE_SYM_CLASS_REGISTER* = 4 (* {2} *);
		IMAGE_SYM_CLASS_EXTERNAL_DEF* = 5 (* {0, 2} *);
		IMAGE_SYM_CLASS_LABEL* = 6 (* {1, 2} *);
		IMAGE_SYM_CLASS_UNDEFINED_LABEL* = 7 (* {0..2} *);
		IMAGE_SYM_CLASS_MEMBER_OF_STRUCT* = 8 (* {3} *);
		IMAGE_SYM_CLASS_ARGUMENT* = 9 (* {0, 3} *);
		IMAGE_SYM_CLASS_STRUCT_TAG* = 10 (* {1, 3} *);
		IMAGE_SYM_CLASS_MEMBER_OF_UNION* = 11 (* {0, 1, 3} *);
		IMAGE_SYM_CLASS_UNION_TAG* = 12 (* {2, 3} *);
		IMAGE_SYM_CLASS_TYPE_DEFINITION* = 13 (* {0, 2, 3} *);
		IMAGE_SYM_CLASS_UNDEFINED_STATIC* = 14 (* {1..3} *);
		IMAGE_SYM_CLASS_ENUM_TAG* = 15 (* {0..3} *);
		IMAGE_SYM_CLASS_MEMBER_OF_ENUM* = 16 (* {4} *);
		IMAGE_SYM_CLASS_REGISTER_PARAM* = 17 (* {0, 4} *);
		IMAGE_SYM_CLASS_BIT_FIELD* = 18 (* {1, 4} *);
		IMAGE_SYM_CLASS_FAR_EXTERNAL* = 68 (* {2, 6} *);
		IMAGE_SYM_CLASS_BLOCK* = 100 (* {2, 5, 6} *);
		IMAGE_SYM_CLASS_FUNCTION* = 101 (* {0, 2, 5, 6} *);
		IMAGE_SYM_CLASS_END_OF_STRUCT* = 102 (* {1, 2, 5, 6} *);
		IMAGE_SYM_CLASS_FILE* = 103 (* {0..2, 5, 6} *);
		IMAGE_SYM_CLASS_SECTION* = 104 (* {3, 5, 6} *);
		IMAGE_SYM_CLASS_WEAK_EXTERNAL* = 105 (* {0, 3, 5, 6} *);
		N_BTMASK* = {0..3};
		N_TMASK* = {4, 5};
		N_TMASK1* = {6, 7};
		N_TMASK2* = {4..7};
		N_BTSHFT* = {2};
		N_TSHIFT* = {1};
		IMAGE_SIZEOF_AUX_SYMBOL* = 18 (* {1, 4} *);
		IMAGE_COMDAT_SELECT_NODUPLICATES* = 1 (* {0} *);
		IMAGE_COMDAT_SELECT_ANY* = 2 (* {1} *);
		IMAGE_COMDAT_SELECT_SAME_SIZE* = 3 (* {0, 1} *);
		IMAGE_COMDAT_SELECT_EXACT_MATCH* = 4 (* {2} *);
		IMAGE_COMDAT_SELECT_ASSOCIATIVE* = 5 (* {0, 2} *);
		IMAGE_COMDAT_SELECT_LARGEST* = 6 (* {1, 2} *);
		IMAGE_COMDAT_SELECT_NEWEST* = 7 (* {0..2} *);
		IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY* = 1 (* {0} *);
		IMAGE_WEAK_EXTERN_SEARCH_LIBRARY* = 2 (* {1} *);
		IMAGE_WEAK_EXTERN_SEARCH_ALIAS* = 3 (* {0, 1} *);
		IMAGE_SIZEOF_RELOCATION* = 10 (* {1, 3} *);
		IMAGE_REL_I386_ABSOLUTE* = 0 (* {} *);
		IMAGE_REL_I386_DIR16* = 1 (* {0} *);
		IMAGE_REL_I386_REL16* = 2 (* {1} *);
		IMAGE_REL_I386_DIR32* = 6 (* {1, 2} *);
		IMAGE_REL_I386_DIR32NB* = 7 (* {0..2} *);
		IMAGE_REL_I386_SEG12* = 9 (* {0, 3} *);
		IMAGE_REL_I386_SECTION* = 10 (* {1, 3} *);
		IMAGE_REL_I386_SECREL* = 11 (* {0, 1, 3} *);
		IMAGE_REL_I386_REL32* = 20 (* {2, 4} *);
		IMAGE_REL_MIPS_ABSOLUTE* = 0 (* {} *);
		IMAGE_REL_MIPS_REFHALF* = 1 (* {0} *);
		IMAGE_REL_MIPS_REFWORD* = 2 (* {1} *);
		IMAGE_REL_MIPS_JMPADDR* = 3 (* {0, 1} *);
		IMAGE_REL_MIPS_REFHI* = 4 (* {2} *);
		IMAGE_REL_MIPS_REFLO* = 5 (* {0, 2} *);
		IMAGE_REL_MIPS_GPREL* = 6 (* {1, 2} *);
		IMAGE_REL_MIPS_LITERAL* = 7 (* {0..2} *);
		IMAGE_REL_MIPS_SECTION* = 10 (* {1, 3} *);
		IMAGE_REL_MIPS_SECREL* = 11 (* {0, 1, 3} *);
		IMAGE_REL_MIPS_SECRELLO* = 12 (* {2, 3} *);
		IMAGE_REL_MIPS_SECRELHI* = 13 (* {0, 2, 3} *);
		IMAGE_REL_MIPS_REFWORDNB* = 34 (* {1, 5} *);
		IMAGE_REL_MIPS_PAIR* = 37 (* {0, 2, 5} *);
		IMAGE_REL_ALPHA_ABSOLUTE* = 0 (* {} *);
		IMAGE_REL_ALPHA_REFLONG* = 1 (* {0} *);
		IMAGE_REL_ALPHA_REFQUAD* = 2 (* {1} *);
		IMAGE_REL_ALPHA_GPREL32* = 3 (* {0, 1} *);
		IMAGE_REL_ALPHA_LITERAL* = 4 (* {2} *);
		IMAGE_REL_ALPHA_LITUSE* = 5 (* {0, 2} *);
		IMAGE_REL_ALPHA_GPDISP* = 6 (* {1, 2} *);
		IMAGE_REL_ALPHA_BRADDR* = 7 (* {0..2} *);
		IMAGE_REL_ALPHA_HINT* = 8 (* {3} *);
		IMAGE_REL_ALPHA_INLINE_REFLONG* = 9 (* {0, 3} *);
		IMAGE_REL_ALPHA_REFHI* = 10 (* {1, 3} *);
		IMAGE_REL_ALPHA_REFLO* = 11 (* {0, 1, 3} *);
		IMAGE_REL_ALPHA_PAIR* = 12 (* {2, 3} *);
		IMAGE_REL_ALPHA_MATCH* = 13 (* {0, 2, 3} *);
		IMAGE_REL_ALPHA_SECTION* = 14 (* {1..3} *);
		IMAGE_REL_ALPHA_SECREL* = 15 (* {0..3} *);
		IMAGE_REL_ALPHA_REFLONGNB* = 16 (* {4} *);
		IMAGE_REL_ALPHA_SECRELLO* = 17 (* {0, 4} *);
		IMAGE_REL_ALPHA_SECRELHI* = 18 (* {1, 4} *);
		IMAGE_REL_PPC_ABSOLUTE* = 0 (* {} *);
		IMAGE_REL_PPC_ADDR64* = 1 (* {0} *);
		IMAGE_REL_PPC_ADDR32* = 2 (* {1} *);
		IMAGE_REL_PPC_ADDR24* = 3 (* {0, 1} *);
		IMAGE_REL_PPC_ADDR16* = 4 (* {2} *);
		IMAGE_REL_PPC_ADDR14* = 5 (* {0, 2} *);
		IMAGE_REL_PPC_REL24* = 6 (* {1, 2} *);
		IMAGE_REL_PPC_REL14* = 7 (* {0..2} *);
		IMAGE_REL_PPC_TOCREL16* = 8 (* {3} *);
		IMAGE_REL_PPC_TOCREL14* = 9 (* {0, 3} *);
		IMAGE_REL_PPC_ADDR32NB* = 10 (* {1, 3} *);
		IMAGE_REL_PPC_SECREL* = 11 (* {0, 1, 3} *);
		IMAGE_REL_PPC_SECTION* = 12 (* {2, 3} *);
		IMAGE_REL_PPC_IFGLUE* = 13 (* {0, 2, 3} *);
		IMAGE_REL_PPC_IMGLUE* = 14 (* {1..3} *);
		IMAGE_REL_PPC_SECREL16* = 15 (* {0..3} *);
		IMAGE_REL_PPC_REFHI* = 16 (* {4} *);
		IMAGE_REL_PPC_REFLO* = 17 (* {0, 4} *);
		IMAGE_REL_PPC_PAIR* = 18 (* {1, 4} *);
		IMAGE_REL_PPC_TYPEMASK* = 255 (* {0..7} *);
		IMAGE_REL_PPC_NEG* = 256 (* {8} *);
		IMAGE_REL_PPC_BRTAKEN* = 512 (* {9} *);
		IMAGE_REL_PPC_BRNTAKEN* = 1024 (* {10} *);
		IMAGE_REL_PPC_TOCDEFN* = 2048 (* {11} *);
		IMAGE_SIZEOF_BASE_RELOCATION* = 8 (* {3} *);
		IMAGE_REL_BASED_ABSOLUTE* = 0 (* {} *);
		IMAGE_REL_BASED_HIGH* = 1 (* {0} *);
		IMAGE_REL_BASED_LOW* = 2 (* {1} *);
		IMAGE_REL_BASED_HIGHLOW* = 3 (* {0, 1} *);
		IMAGE_REL_BASED_HIGHADJ* = 4 (* {2} *);
		IMAGE_REL_BASED_MIPS_JMPADDR* = 5 (* {0, 2} *);
		IMAGE_SIZEOF_LINENUMBER* = 6 (* {1, 2} *);
		IMAGE_ARCHIVE_START_SIZE* = 8 (* {3} *);
		IMAGE_ARCHIVE_START* = "!<arch> 0AX ";
		IMAGE_ARCHIVE_END* = "` 0AX ";
		IMAGE_ARCHIVE_PAD* = " 0AX ";
		IMAGE_ARCHIVE_LINKER_MEMBER* = "/               ";
		IMAGE_ARCHIVE_LONGNAMES_MEMBER* = "//              ";
		IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR* = 60 (* {2..5} *);
		IMAGE_ORDINAL_FLAG* = 80000000H;
		IMAGE_RESOURCE_NAME_IS_STRING* = 80000000H;
		IMAGE_RESOURCE_DATA_IS_DIRECTORY* = 80000000H;
		IMAGE_DEBUG_TYPE_UNKNOWN* = 0 (* {} *);
		IMAGE_DEBUG_TYPE_COFF* = 1 (* {0} *);
		IMAGE_DEBUG_TYPE_CODEVIEW* = 2 (* {1} *);
		IMAGE_DEBUG_TYPE_FPO* = 3 (* {0, 1} *);
		IMAGE_DEBUG_TYPE_MISC* = 4 (* {2} *);
		IMAGE_DEBUG_TYPE_EXCEPTION* = 5 (* {0, 2} *);
		IMAGE_DEBUG_TYPE_FIXUP* = 6 (* {1, 2} *);
		IMAGE_DEBUG_TYPE_OMAP_TO_SRC* = 7 (* {0..2} *);
		IMAGE_DEBUG_TYPE_OMAP_FROM_SRC* = 8 (* {3} *);
		IMAGE_DEBUG_TYPE_OMAP_MISC* = 9 (* {0, 3} *);
		FRAME_FPO* = 0 (* {} *);
		FRAME_TRAP* = 1 (* {0} *);
		FRAME_TSS* = 2 (* {1} *);
		FRAME_NONFPO* = 3 (* {0, 1} *);
		SIZEOF_RFPO_DATA* = 16 (* {4} *);
		IMAGE_DEBUG_MISC_EXENAME* = 1 (* {0} *);
		IMAGE_SEPARATE_DEBUG_SIGNATURE* = 18756 (* {2, 6, 8, 11, 14} *);
		IMAGE_SEPARATE_DEBUG_FLAGS_MASK* = 32768 (* {15} *);
		IMAGE_SEPARATE_DEBUG_MISMATCH* = 32768 (* {15} *);
		HEAP_NO_SERIALIZE* = {0};
		HEAP_GROWABLE* = {1};
		HEAP_GENERATE_EXCEPTIONS* = {2};
		HEAP_ZERO_MEMORY* = {3};
		HEAP_REALLOC_IN_PLACE_ONLY* = {4};
		HEAP_TAIL_CHECKING_ENABLED* = {5};
		HEAP_FREE_CHECKING_ENABLED* = {6};
		HEAP_DISABLE_COALESCE_ON_FREE* = {7};
		HEAP_CREATE_ALIGN_16* = {16};
		HEAP_CREATE_ENABLE_TRACING* = {17};
		HEAP_MAXIMUM_TAG* = {0..11};
		HEAP_PSEUDO_TAG_FLAG* = {15};
		HEAP_TAG_SHIFT* = {4};
		IS_TEXT_UNICODE_ASCII16* = {0};
		IS_TEXT_UNICODE_REVERSE_ASCII16* = {4};
		IS_TEXT_UNICODE_STATISTICS* = {1};
		IS_TEXT_UNICODE_REVERSE_STATISTICS* = {5};
		IS_TEXT_UNICODE_CONTROLS* = {2};
		IS_TEXT_UNICODE_REVERSE_CONTROLS* = {6};
		IS_TEXT_UNICODE_SIGNATURE* = {3};
		IS_TEXT_UNICODE_REVERSE_SIGNATURE* = {7};
		IS_TEXT_UNICODE_ILLEGAL_CHARS* = {8};
		IS_TEXT_UNICODE_ODD_LENGTH* = {9};
		IS_TEXT_UNICODE_DBCS_LEADBYTE* = {10};
		IS_TEXT_UNICODE_NULL_BYTES* = {12};
		IS_TEXT_UNICODE_UNICODE_MASK* = {0..3};
		IS_TEXT_UNICODE_REVERSE_MASK* = {4..7};
		IS_TEXT_UNICODE_NOT_UNICODE_MASK* = {8..11};
		IS_TEXT_UNICODE_NOT_ASCII_MASK* = {12..15};
		COMPRESSION_FORMAT_NONE* = 0 (* {} *);
		COMPRESSION_FORMAT_DEFAULT* = 1 (* {0} *);
		COMPRESSION_FORMAT_LZNT1* = 2 (* {1} *);
		COMPRESSION_ENGINE_STANDARD* = 0 (* {} *);
		COMPRESSION_ENGINE_MAXIMUM* = 256 (* {8} *);
		MESSAGE_RESOURCE_UNICODE* = 1 (* {0} *);
		RTL_CRITSECT_TYPE* = 0 (* {} *);
		RTL_RESOURCE_TYPE* = 1 (* {0} *);
		DLL_PROCESS_ATTACH* = {0};
		DLL_THREAD_ATTACH* = {1};
		DLL_THREAD_DETACH* = {0, 1};
		DLL_PROCESS_DETACH* = {};
		EVENTLOG_SEQUENTIAL_READ* = {0};
		EVENTLOG_SEEK_READ* = {1};
		EVENTLOG_FORWARDS_READ* = {2};
		EVENTLOG_BACKWARDS_READ* = {3};
		EVENTLOG_SUCCESS* = {};
		EVENTLOG_ERROR_TYPE* = {0};
		EVENTLOG_WARNING_TYPE* = {1};
		EVENTLOG_INFORMATION_TYPE* = {2};
		EVENTLOG_AUDIT_SUCCESS* = {3};
		EVENTLOG_AUDIT_FAILURE* = {4};
		EVENTLOG_START_PAIRED_EVENT* = {0};
		EVENTLOG_END_PAIRED_EVENT* = {1};
		EVENTLOG_END_ALL_PAIRED_EVENTS* = {2};
		EVENTLOG_PAIRED_EVENT_ACTIVE* = {3};
		EVENTLOG_PAIRED_EVENT_INACTIVE* = {4};
		DBG_CONTINUE* = {1, 16};
		DBG_TERMINATE_THREAD* = {0, 1, 16, 30};
		DBG_TERMINATE_PROCESS* = {2, 16, 30};
		DBG_CONTROL_C* = {0, 2, 16, 30};
		DBG_CONTROL_BREAK* = {3, 16, 30};
		DBG_EXCEPTION_NOT_HANDLED* = {0, 16, 31};
		KEY_QUERY_VALUE* = {0};
		KEY_SET_VALUE* = {1};
		KEY_CREATE_SUB_KEY* = {2};
		KEY_ENUMERATE_SUB_KEYS* = {3};
		KEY_NOTIFY* = {4};
		KEY_CREATE_LINK* = {5};
		KEY_READ* = {0, 3, 4, 17};
		KEY_WRITE* = {1, 2, 17};
		KEY_EXECUTE* = {0, 3, 4, 17};
		KEY_ALL_ACCESS* = {0..5, 16..19};
		REG_OPTION_RESERVED* = {};
		REG_OPTION_NON_VOLATILE* = {};
		REG_OPTION_VOLATILE* = {0};
		REG_OPTION_CREATE_LINK* = {1};
		REG_OPTION_BACKUP_RESTORE* = {2};
		REG_LEGAL_OPTION* = 7 (* {0..2} *);
		REG_CREATED_NEW_KEY* = 1 (* {0} *);
		REG_OPENED_EXISTING_KEY* = 2 (* {1} *);
		REG_WHOLE_HIVE_VOLATILE* = 1 (* {0} *);
		REG_REFRESH_HIVE* = 2 (* {1} *);
		REG_NOTIFY_CHANGE_NAME* = {0};
		REG_NOTIFY_CHANGE_ATTRIBUTES* = {1};
		REG_NOTIFY_CHANGE_LAST_SET* = {2};
		REG_NOTIFY_CHANGE_SECURITY* = {3};
		REG_LEGAL_CHANGE_FILTER* = {0..3};
		REG_NONE* = 0 (* {} *);
		REG_SZ* = 1 (* {0} *);
		REG_EXPAND_SZ* = 2 (* {1} *);
		REG_BINARY* = 3 (* {0, 1} *);
		REG_DWORD* = 4 (* {2} *);
		REG_DWORD_LITTLE_ENDIAN* = 4 (* {2} *);
		REG_DWORD_BIG_ENDIAN* = 5 (* {0, 2} *);
		REG_LINK* = 6 (* {1, 2} *);
		REG_MULTI_SZ* = 7 (* {0..2} *);
		REG_RESOURCE_LIST* = 8 (* {3} *);
		REG_FULL_RESOURCE_DESCRIPTOR* = 9 (* {0, 3} *);
		REG_RESOURCE_REQUIREMENTS_LIST* = 10 (* {1, 3} *);
		REG_QWORD* = 11; (* not supported under Windows XP; limited support  from Vista on; see http://msdn.microsoft.com/en-us/library/windows/desktop/ms724884(v=vs.85).aspx *)
		SERVICE_KERNEL_DRIVER* = {0};
		SERVICE_FILE_SYSTEM_DRIVER* = {1};
		SERVICE_ADAPTER* = {2};
		SERVICE_RECOGNIZER_DRIVER* = {3};
		SERVICE_DRIVER* = {0, 1, 3};
		SERVICE_WIN32_OWN_PROCESS* = {4};
		SERVICE_WIN32_SHARE_PROCESS* = {5};
		SERVICE_WIN32* = {4, 5};
		SERVICE_INTERACTIVE_PROCESS* = {8};
		SERVICE_TYPE_ALL* = {0..5, 8};
		SERVICE_BOOT_START* = 0 (* {} *);
		SERVICE_SYSTEM_START* = 1 (* {0} *);
		SERVICE_AUTO_START* = 2 (* {1} *);
		SERVICE_DEMAND_START* = 3 (* {0, 1} *);
		SERVICE_DISABLED* = 4 (* {2} *);
		SERVICE_ERROR_IGNORE* = 0 (* {} *);
		SERVICE_ERROR_NORMAL* = 1 (* {0} *);
		SERVICE_ERROR_SEVERE* = 2 (* {1} *);
		SERVICE_ERROR_CRITICAL* = 3 (* {0, 1} *);
		TAPE_ERASE_SHORT* = 0 (* {} *);
		TAPE_ERASE_LONG* = 1 (* {0} *);
		TAPE_LOAD* = 0 (* {} *);
		TAPE_UNLOAD* = 1 (* {0} *);
		TAPE_TENSION* = 2 (* {1} *);
		TAPE_LOCK* = 3 (* {0, 1} *);
		TAPE_UNLOCK* = 4 (* {2} *);
		TAPE_FORMAT* = 5 (* {0, 2} *);
		TAPE_SETMARKS* = 0 (* {} *);
		TAPE_FILEMARKS* = 1 (* {0} *);
		TAPE_SHORT_FILEMARKS* = 2 (* {1} *);
		TAPE_LONG_FILEMARKS* = 3 (* {0, 1} *);
		TAPE_ABSOLUTE_POSITION* = 0 (* {} *);
		TAPE_LOGICAL_POSITION* = 1 (* {0} *);
		TAPE_PSEUDO_LOGICAL_POSITION* = 2 (* {1} *);
		TAPE_REWIND* = 0 (* {} *);
		TAPE_ABSOLUTE_BLOCK* = 1 (* {0} *);
		TAPE_LOGICAL_BLOCK* = 2 (* {1} *);
		TAPE_PSEUDO_LOGICAL_BLOCK* = 3 (* {0, 1} *);
		TAPE_SPACE_END_OF_DATA* = 4 (* {2} *);
		TAPE_SPACE_RELATIVE_BLOCKS* = 5 (* {0, 2} *);
		TAPE_SPACE_FILEMARKS* = 6 (* {1, 2} *);
		TAPE_SPACE_SEQUENTIAL_FMKS* = 7 (* {0..2} *);
		TAPE_SPACE_SETMARKS* = 8 (* {3} *);
		TAPE_SPACE_SEQUENTIAL_SMKS* = 9 (* {0, 3} *);
		TAPE_DRIVE_FIXED* = {0};
		TAPE_DRIVE_SELECT* = {1};
		TAPE_DRIVE_INITIATOR* = {2};
		TAPE_DRIVE_ERASE_SHORT* = {4};
		TAPE_DRIVE_ERASE_LONG* = {5};
		TAPE_DRIVE_ERASE_BOP_ONLY* = {6};
		TAPE_DRIVE_ERASE_IMMEDIATE* = {7};
		TAPE_DRIVE_TAPE_CAPACITY* = {8};
		TAPE_DRIVE_TAPE_REMAINING* = {9};
		TAPE_DRIVE_FIXED_BLOCK* = {10};
		TAPE_DRIVE_VARIABLE_BLOCK* = {11};
		TAPE_DRIVE_WRITE_PROTECT* = {12};
		TAPE_DRIVE_EOT_WZ_SIZE* = {13};
		TAPE_DRIVE_ECC* = {16};
		TAPE_DRIVE_COMPRESSION* = {17};
		TAPE_DRIVE_PADDING* = {18};
		TAPE_DRIVE_REPORT_SMKS* = {19};
		TAPE_DRIVE_GET_ABSOLUTE_BLK* = {20};
		TAPE_DRIVE_GET_LOGICAL_BLK* = {21};
		TAPE_DRIVE_SET_EOT_WZ_SIZE* = {22};
		TAPE_DRIVE_RESERVED_BIT* = {31};
		TAPE_DRIVE_LOAD_UNLOAD* = {0, 31};
		TAPE_DRIVE_TENSION* = {1, 31};
		TAPE_DRIVE_LOCK_UNLOCK* = {2, 31};
		TAPE_DRIVE_REWIND_IMMEDIATE* = {3, 31};
		TAPE_DRIVE_SET_BLOCK_SIZE* = {4, 31};
		TAPE_DRIVE_LOAD_UNLD_IMMED* = {5, 31};
		TAPE_DRIVE_TENSION_IMMED* = {6, 31};
		TAPE_DRIVE_LOCK_UNLK_IMMED* = {7, 31};
		TAPE_DRIVE_SET_ECC* = {8, 31};
		TAPE_DRIVE_SET_COMPRESSION* = {9, 31};
		TAPE_DRIVE_SET_PADDING* = {10, 31};
		TAPE_DRIVE_SET_REPORT_SMKS* = {11, 31};
		TAPE_DRIVE_ABSOLUTE_BLK* = {12, 31};
		TAPE_DRIVE_ABS_BLK_IMMED* = {13, 31};
		TAPE_DRIVE_LOGICAL_BLK* = {14, 31};
		TAPE_DRIVE_LOG_BLK_IMMED* = {15, 31};
		TAPE_DRIVE_END_OF_DATA* = {16, 31};
		TAPE_DRIVE_RELATIVE_BLKS* = {17, 31};
		TAPE_DRIVE_FILEMARKS* = {18, 31};
		TAPE_DRIVE_SEQUENTIAL_FMKS* = {19, 31};
		TAPE_DRIVE_SETMARKS* = {20, 31};
		TAPE_DRIVE_SEQUENTIAL_SMKS* = {21, 31};
		TAPE_DRIVE_REVERSE_POSITION* = {22, 31};
		TAPE_DRIVE_SPACE_IMMEDIATE* = {23, 31};
		TAPE_DRIVE_WRITE_SETMARKS* = {24, 31};
		TAPE_DRIVE_WRITE_FILEMARKS* = {25, 31};
		TAPE_DRIVE_WRITE_SHORT_FMKS* = {26, 31};
		TAPE_DRIVE_WRITE_LONG_FMKS* = {27, 31};
		TAPE_DRIVE_WRITE_MARK_IMMED* = {28, 31};
		TAPE_DRIVE_FORMAT* = {29, 31};
		TAPE_DRIVE_FORMAT_IMMEDIATE* = {30, 31};
		TAPE_DRIVE_HIGH_FEATURES* = {31};
		TAPE_FIXED_PARTITIONS* = 0 (* {} *);
		TAPE_SELECT_PARTITIONS* = 1 (* {0} *);
		TAPE_INITIATOR_PARTITIONS* = 2 (* {1} *);
		DM_UPDATE* = {0};
		DM_COPY* = {1};
		DM_PROMPT* = {2};
		DM_MODIFY* = {3};
		DM_IN_BUFFER* = {3};
		DM_IN_PROMPT* = {2};
		DM_OUT_BUFFER* = {1};
		DM_OUT_DEFAULT* = {0};
		DC_FIELDS* = 1 (* {0} *);
		DC_PAPERS* = 2 (* {1} *);
		DC_PAPERSIZE* = 3 (* {0, 1} *);
		DC_MINEXTENT* = 4 (* {2} *);
		DC_MAXEXTENT* = 5 (* {0, 2} *);
		DC_BINS* = 6 (* {1, 2} *);
		DC_DUPLEX* = 7 (* {0..2} *);
		DC_SIZE* = 8 (* {3} *);
		DC_EXTRA* = 9 (* {0, 3} *);
		DC_VERSION* = 10 (* {1, 3} *);
		DC_DRIVER* = 11 (* {0, 1, 3} *);
		DC_BINNAMES* = 12 (* {2, 3} *);
		DC_ENUMRESOLUTIONS* = 13 (* {0, 2, 3} *);
		DC_FILEDEPENDENCIES* = 14 (* {1..3} *);
		DC_TRUETYPE* = 15 (* {0..3} *);
		DC_PAPERNAMES* = 16 (* {4} *);
		DC_ORIENTATION* = 17 (* {0, 4} *);
		DC_COPIES* = 18 (* {1, 4} *);
		INVALID_FILE_SIZE* = -1 (* {0..31} *);
		FILE_BEGIN* = 0 (* {} *);
		FILE_CURRENT* = 1 (* {0} *);
		FILE_END* = 2 (* {1} *);
		TIME_ZONE_ID_INVALID* = {0..31};
		WAIT_FAILED* = -1 (* {0..31} *);
		WAIT_OBJECT_0* = 0 (* {} *);
		WAIT_ABANDONED* = 128 (* {7} *);
		WAIT_ABANDONED_0* = 128 (* {7} *);
		WAIT_TIMEOUT* = 258 (* {1, 8} *);
		WAIT_IO_COMPLETION* = 192 (* {6, 7} *);
		STILL_ACTIVE* = 259 (* {0, 1, 8} *);
		EXCEPTION_ACCESS_VIOLATION* = -1073741819 (* {0, 2, 30, 31} *);
		EXCEPTION_DATATYPE_MISALIGNMENT* = -2147483646 (* {1, 31} *);
		EXCEPTION_BREAKPOINT* = -2147483645 (* {0, 1, 31} *);
		EXCEPTION_SINGLE_STEP* = -2147483644 (* {2, 31} *);
		EXCEPTION_ARRAY_BOUNDS_EXCEEDED* = -1073741684 (* {2, 3, 7, 30, 31} *);
		EXCEPTION_FLT_DENORMAL_OPERAND* = -1073741683 (* {0, 2, 3, 7, 30, 31} *);
		EXCEPTION_FLT_DIVIDE_BY_ZERO* = -1073741682 (* {1..3, 7, 30, 31} *);
		EXCEPTION_FLT_INEXACT_RESULT* = -1073741681 (* {0..3, 7, 30, 31} *);
		EXCEPTION_FLT_INVALID_OPERATION* = -1073741680 (* {4, 7, 30, 31} *);
		EXCEPTION_FLT_OVERFLOW* = -1073741679 (* {0, 4, 7, 30, 31} *);
		EXCEPTION_FLT_STACK_CHECK* = -1073741678 (* {1, 4, 7, 30, 31} *);
		EXCEPTION_FLT_UNDERFLOW* = -1073741677 (* {0, 1, 4, 7, 30, 31} *);
		EXCEPTION_INT_DIVIDE_BY_ZERO* = -1073741676 (* {2, 4, 7, 30, 31} *);
		EXCEPTION_INT_OVERFLOW* = -1073741675 (* {0, 2, 4, 7, 30, 31} *);
		EXCEPTION_PRIV_INSTRUCTION* = -1073741674 (* {1, 2, 4, 7, 30, 31} *);
		EXCEPTION_IN_PAGE_ERROR* = -1073741818 (* {1, 2, 30, 31} *);
		EXCEPTION_ILLEGAL_INSTRUCTION* = -1073741795 (* {0, 2..4, 30, 31} *);
		EXCEPTION_NONCONTINUABLE_EXCEPTION* = {0, 2, 5, 30, 31};
		EXCEPTION_STACK_OVERFLOW* = -1073741571 (* {0, 2..7, 30, 31} *);
		EXCEPTION_INVALID_DISPOSITION* = -1073741786 (* {1, 2, 5, 30, 31} *);
		EXCEPTION_GUARD_PAGE* = -2147483647 (* {0, 31} *);
		CONTROL_C_EXIT* = -1073741510 (* {1, 3..5, 8, 30, 31} *);
		FILE_FLAG_WRITE_THROUGH* = {31};
		FILE_FLAG_OVERLAPPED* = {30};
		FILE_FLAG_NO_BUFFERING* = {29};
		FILE_FLAG_RANDOM_ACCESS* = {28};
		FILE_FLAG_SEQUENTIAL_SCAN* = {27};
		FILE_FLAG_DELETE_ON_CLOSE* = {26};
		FILE_FLAG_BACKUP_SEMANTICS* = {25};
		FILE_FLAG_POSIX_SEMANTICS* = {24};
		CREATE_NEW* = 1 (* {0} *);
		CREATE_ALWAYS* = 2 (* {1} *);
		OPEN_EXISTING* = 3 (* {0, 1} *);
		OPEN_ALWAYS* = 4 (* {2} *);
		TRUNCATE_EXISTING* = 5 (* {0, 2} *);
		PROGRESS_CONTINUE* = 0 (* {} *);
		PROGRESS_CANCEL* = 1 (* {0} *);
		PROGRESS_STOP* = 2 (* {1} *);
		PROGRESS_QUIET* = 3 (* {0, 1} *);
		CALLBACK_CHUNK_FINISHED* = 0 (* {} *);
		CALLBACK_STREAM_SWITCH* = 1 (* {0} *);
		COPY_FILE_FAIL_IF_EXISTS* = 1 (* {0} *);
		COPY_FILE_RESTARTABLE* = 2 (* {1} *);
		PIPE_ACCESS_INBOUND* = 1 (* {0} *);
		PIPE_ACCESS_OUTBOUND* = 2 (* {1} *);
		PIPE_ACCESS_DUPLEX* = 3 (* {0, 1} *);
		PIPE_CLIENT_END* = 0 (* {} *);
		PIPE_SERVER_END* = 1 (* {0} *);
		PIPE_WAIT* = 0 (* {} *);
		PIPE_NOWAIT* = 1 (* {0} *);
		PIPE_READMODE_BYTE* = 0 (* {} *);
		PIPE_READMODE_MESSAGE* = 2 (* {1} *);
		PIPE_TYPE_BYTE* = 0 (* {} *);
		PIPE_TYPE_MESSAGE* = 4 (* {2} *);
		PIPE_UNLIMITED_INSTANCES* = 255 (* {0..7} *);
		SECURITY_ANONYMOUS* = {};
		SECURITY_IDENTIFICATION* = {16};
		SECURITY_IMPERSONATION* = {17};
		SECURITY_DELEGATION* = {16, 17};
		SECURITY_CONTEXT_TRACKING* = {18};
		SECURITY_EFFECTIVE_ONLY* = {19};
		SECURITY_SQOS_PRESENT* = {20};
		SECURITY_VALID_SQOS_FLAGS* = {16..20};
		MUTEX_MODIFY_STATE* = {0};
		MUTEX_ALL_ACCESS* = {0, 16..20};
		SP_SERIALCOMM* = {0};
		PST_UNSPECIFIED* = 0 (* {} *);
		PST_RS232* = 1 (* {0} *);
		PST_PARALLELPORT* = 2 (* {1} *);
		PST_RS422* = 3 (* {0, 1} *);
		PST_RS423* = 4 (* {2} *);
		PST_RS449* = 5 (* {0, 2} *);
		PST_MODEM* = 6 (* {1, 2} *);
		PST_FAX* = 33 (* {0, 5} *);
		PST_SCANNER* = 34 (* {1, 5} *);
		PST_NETWORK_BRIDGE* = 256 (* {8} *);
		PST_LAT* = 257 (* {0, 8} *);
		PST_TCPIP_TELNET* = 258 (* {1, 8} *);
		PST_X25* = 259 (* {0, 1, 8} *);
		PCF_DTRDSR* = {0};
		PCF_RTSCTS* = {1};
		PCF_RLSD* = {2};
		PCF_PARITY_CHECK* = {3};
		PCF_XONXOFF* = {4};
		PCF_SETXCHAR* = {5};
		PCF_TOTALTIMEOUTS* = {6};
		PCF_INTTIMEOUTS* = {7};
		PCF_SPECIALCHARS* = {8};
		PCF_16BITMODE* = {9};
		SP_PARITY* = {0};
		SP_BAUD* = {1};
		SP_DATABITS* = {2};
		SP_STOPBITS* = {3};
		SP_HANDSHAKING* = {4};
		SP_PARITY_CHECK* = {5};
		SP_RLSD* = {6};
		BAUD_075* = {0};
		BAUD_110* = {1};
		BAUD_134_5* = {2};
		BAUD_150* = {3};
		BAUD_300* = {4};
		BAUD_600* = {5};
		BAUD_1200* = {6};
		BAUD_1800* = {7};
		BAUD_2400* = {8};
		BAUD_4800* = {9};
		BAUD_7200* = {10};
		BAUD_9600* = {11};
		BAUD_14400* = {12};
		BAUD_19200* = {13};
		BAUD_38400* = {14};
		BAUD_56K* = {15};
		BAUD_128K* = {16};
		BAUD_115200* = {17};
		BAUD_57600* = {18};
		BAUD_USER* = {28};
		DATABITS_5* = 1 (* {0} *);
		DATABITS_6* = 2 (* {1} *);
		DATABITS_7* = 4 (* {2} *);
		DATABITS_8* = 8 (* {3} *);
		DATABITS_16* = 16 (* {4} *);
		DATABITS_16X* = 32 (* {5} *);
		STOPBITS_10* = 1 (* {0} *);
		STOPBITS_15* = 2 (* {1} *);
		STOPBITS_20* = 4 (* {2} *);
		PARITY_NONE* = 256 (* {8} *);
		PARITY_ODD* = 512 (* {9} *);
		PARITY_EVEN* = 1024 (* {10} *);
		PARITY_MARK* = 2048 (* {11} *);
		PARITY_SPACE* = 4096 (* {12} *);
		COMMPROP_INITIALIZED* = -415435474 (* {1..3, 5, 8, 10, 12..15, 18..21, 24..26, 29..31} *);
		DTR_CONTROL_DISABLE* = 0 (* {} *);
		DTR_CONTROL_ENABLE* = 1 (* {0} *);
		DTR_CONTROL_HANDSHAKE* = 2 (* {1} *);
		RTS_CONTROL_DISABLE* = 0 (* {} *);
		RTS_CONTROL_ENABLE* = 1 (* {0} *);
		RTS_CONTROL_HANDSHAKE* = 2 (* {1} *);
		RTS_CONTROL_TOGGLE* = 3 (* {0, 1} *);
		GMEM_FIXED* = {};
		GMEM_MOVEABLE* = {1};
		GMEM_NOCOMPACT* = {4};
		GMEM_NODISCARD* = {5};
		GMEM_ZEROINIT* = {6};
		GMEM_MODIFY* = {7};
		GMEM_DISCARDABLE* = {8};
		GMEM_NOT_BANKED* = {12};
		GMEM_SHARE* = {13};
		GMEM_DDESHARE* = {13};
		GMEM_NOTIFY* = {14};
		GMEM_LOWER* = {12};
		GMEM_VALID_FLAGS* = {1, 4..6, 8..14};
		GMEM_INVALID_HANDLE* = {15};
		GHND* = {1, 6};
		GPTR* = {6};
		GMEM_DISCARDED* = {14};
		GMEM_LOCKCOUNT* = {0..7};
		LMEM_FIXED* = {};
		LMEM_MOVEABLE* = {1};
		LMEM_NOCOMPACT* = {4};
		LMEM_NODISCARD* = {5};
		LMEM_ZEROINIT* = {6};
		LMEM_MODIFY* = {7};
		LMEM_DISCARDABLE* = {8..11};
		LMEM_VALID_FLAGS* = {1, 4..6, 8..11};
		LMEM_INVALID_HANDLE* = {15};
		LHND* = {1, 6};
		LPTR* = {6};
		NONZEROLHND* = {1};
		NONZEROLPTR* = {};
		LMEM_DISCARDED* = {14};
		LMEM_LOCKCOUNT* = {0..7};
		DEBUG_PROCESS* = {0};
		DEBUG_ONLY_THIS_PROCESS* = {1};
		CREATE_SUSPENDED* = {2};
		DETACHED_PROCESS* = {3};
		CREATE_NEW_CONSOLE* = {4};
		NORMAL_PRIORITY_CLASS* = {5};
		IDLE_PRIORITY_CLASS* = {6};
		HIGH_PRIORITY_CLASS* = {7};
		REALTIME_PRIORITY_CLASS* = {8};
		CREATE_NEW_PROCESS_GROUP* = {9};
		CREATE_UNICODE_ENVIRONMENT* = {10};
		CREATE_SEPARATE_WOW_VDM* = {11};
		CREATE_SHARED_WOW_VDM* = {12};
		CREATE_DEFAULT_ERROR_MODE* = {26};
		CREATE_NO_WINDOW* = {27};
		PROFILE_USER* = {28};
		PROFILE_KERNEL* = {29};
		PROFILE_SERVER* = {30};
		THREAD_PRIORITY_LOWEST* = -2 (* {1..31} *);
		THREAD_PRIORITY_BELOW_NORMAL* = -1 (* {0..31} *);
		THREAD_PRIORITY_NORMAL* = 0 (* {} *);
		THREAD_PRIORITY_HIGHEST* = 2 (* {1} *);
		THREAD_PRIORITY_ABOVE_NORMAL* = 1 (* {0} *);
		THREAD_PRIORITY_ERROR_RETURN* = 2147483647 (* {0..30} *);
		THREAD_PRIORITY_TIME_CRITICAL* = 15 (* {0..3} *);
		THREAD_PRIORITY_IDLE* = -15 (* {0, 4..31} *);
		EXCEPTION_DEBUG_EVENT* = 1 (* {0} *);
		CREATE_THREAD_DEBUG_EVENT* = 2 (* {1} *);
		CREATE_PROCESS_DEBUG_EVENT* = 3 (* {0, 1} *);
		EXIT_THREAD_DEBUG_EVENT* = 4 (* {2} *);
		EXIT_PROCESS_DEBUG_EVENT* = 5 (* {0, 2} *);
		LOAD_DLL_DEBUG_EVENT* = 6 (* {1, 2} *);
		UNLOAD_DLL_DEBUG_EVENT* = 7 (* {0..2} *);
		OUTPUT_DEBUG_STRING_EVENT* = 8 (* {3} *);
		RIP_EVENT* = 9 (* {0, 3} *);
		DRIVE_UNKNOWN* = 0 (* {} *);
		DRIVE_NO_ROOT_DIR* = 1 (* {0} *);
		DRIVE_REMOVABLE* = 2 (* {1} *);
		DRIVE_FIXED* = 3 (* {0, 1} *);
		DRIVE_REMOTE* = 4 (* {2} *);
		DRIVE_CDROM* = 5 (* {0, 2} *);
		DRIVE_RAMDISK* = 6 (* {1, 2} *);
		FILE_TYPE_UNKNOWN* = 0 (* {} *);
		FILE_TYPE_DISK* = 1 (* {0} *);
		FILE_TYPE_CHAR* = 2 (* {1} *);
		FILE_TYPE_PIPE* = 3 (* {0, 1} *);
		FILE_TYPE_REMOTE* = 32768 (* {15} *);
		STD_INPUT_HANDLE* = -10 (* {1, 2, 4..31} *);
		STD_OUTPUT_HANDLE* = -11 (* {0, 2, 4..31} *);
		STD_ERROR_HANDLE* = -12 (* {2, 4..31} *);
		NOPARITY* = 0 (* {} *);
		ODDPARITY* = 1 (* {0} *);
		EVENPARITY* = 2 (* {1} *);
		MARKPARITY* = 3 (* {0, 1} *);
		SPACEPARITY* = 4 (* {2} *);
		ONESTOPBIT* = 0 (* {} *);
		ONE5STOPBITS* = 1 (* {0} *);
		TWOSTOPBITS* = 2 (* {1} *);
		IGNORE* = 0 (* {} *);
		INFINITE* = -1 (* {0..31} *);
		CBR_110* = 110 (* {1..3, 5, 6} *);
		CBR_300* = 300 (* {2, 3, 5, 8} *);
		CBR_600* = 600 (* {3, 4, 6, 9} *);
		CBR_1200* = 1200 (* {4, 5, 7, 10} *);
		CBR_2400* = 2400 (* {5, 6, 8, 11} *);
		CBR_4800* = 4800 (* {6, 7, 9, 12} *);
		CBR_9600* = 9600 (* {7, 8, 10, 13} *);
		CBR_14400* = 14400 (* {6, 11..13} *);
		CBR_19200* = 19200 (* {8, 9, 11, 14} *);
		CBR_38400* = 38400 (* {9, 10, 12, 15} *);
		CBR_56000* = 56000 (* {6, 7, 9, 11, 12, 14, 15} *);
		CBR_57600* = 57600 (* {8, 13..15} *);
		CBR_115200* = 115200 (* {9, 14..16} *);
		CBR_128000* = 128000 (* {10, 12..16} *);
		CBR_256000* = 256000 (* {11, 13..17} *);
		CE_RXOVER* = {0};
		CE_OVERRUN* = {1};
		CE_RXPARITY* = {2};
		CE_FRAME* = {3};
		CE_BREAK* = {4};
		CE_TXFULL* = {8};
		CE_PTO* = {9};
		CE_IOE* = {10};
		CE_DNS* = {11};
		CE_OOP* = {12};
		CE_MODE* = {15};
		IE_BADID* = -1 (* {0..31} *);
		IE_OPEN* = -2 (* {1..31} *);
		IE_NOPEN* = -3 (* {0, 2..31} *);
		IE_MEMORY* = -4 (* {2..31} *);
		IE_DEFAULT* = -5 (* {0, 1, 3..31} *);
		IE_HARDWARE* = -10 (* {1, 2, 4..31} *);
		IE_BYTESIZE* = -11 (* {0, 2, 4..31} *);
		IE_BAUDRATE* = -12 (* {2, 4..31} *);
		EV_RXCHAR* = {0};
		EV_RXFLAG* = {1};
		EV_TXEMPTY* = {2};
		EV_CTS* = {3};
		EV_DSR* = {4};
		EV_RLSD* = {5};
		EV_BREAK* = {6};
		EV_ERR* = {7};
		EV_RING* = {8};
		EV_PERR* = {9};
		EV_RX80FULL* = {10};
		EV_EVENT1* = {11};
		EV_EVENT2* = {12};
		SETXOFF* = 1 (* {0} *);
		SETXON* = 2 (* {1} *);
		SETRTS* = 3 (* {0, 1} *);
		CLRRTS* = 4 (* {2} *);
		SETDTR* = 5 (* {0, 2} *);
		CLRDTR* = 6 (* {1, 2} *);
		RESETDEV* = 7 (* {0..2} *);
		SETBREAK* = 8 (* {3} *);
		CLRBREAK* = 9 (* {0, 3} *);
		PURGE_TXABORT* = {0};
		PURGE_RXABORT* = {1};
		PURGE_TXCLEAR* = {2};
		PURGE_RXCLEAR* = {3};
		LPTx* = {7};
		MS_CTS_ON* = {4};
		MS_DSR_ON* = {5};
		MS_RING_ON* = {6};
		MS_RLSD_ON* = {7};
		S_QUEUEEMPTY* = 0 (* {} *);
		S_THRESHOLD* = 1 (* {0} *);
		S_ALLTHRESHOLD* = 2 (* {1} *);
		S_NORMAL* = 0 (* {} *);
		S_LEGATO* = 1 (* {0} *);
		S_STACCATO* = 2 (* {1} *);
		S_PERIOD512* = 0 (* {} *);
		S_PERIOD1024* = 1 (* {0} *);
		S_PERIOD2048* = 2 (* {1} *);
		S_PERIODVOICE* = 3 (* {0, 1} *);
		S_WHITE512* = 4 (* {2} *);
		S_WHITE1024* = 5 (* {0, 2} *);
		S_WHITE2048* = 6 (* {1, 2} *);
		S_WHITEVOICE* = 7 (* {0..2} *);
		S_SERDVNA* = -1 (* {0..31} *);
		S_SEROFM* = -2 (* {1..31} *);
		S_SERMACT* = -3 (* {0, 2..31} *);
		S_SERQFUL* = -4 (* {2..31} *);
		S_SERBDNT* = -5 (* {0, 1, 3..31} *);
		S_SERDLN* = -6 (* {1, 3..31} *);
		S_SERDCC* = -7 (* {0, 3..31} *);
		S_SERDTP* = -8 (* {3..31} *);
		S_SERDVL* = -9 (* {0..2, 4..31} *);
		S_SERDMD* = -10 (* {1, 2, 4..31} *);
		S_SERDSH* = -11 (* {0, 2, 4..31} *);
		S_SERDPT* = -12 (* {2, 4..31} *);
		S_SERDFQ* = -13 (* {0, 1, 4..31} *);
		S_SERDDR* = -14 (* {1, 4..31} *);
		S_SERDSR* = -15 (* {0, 4..31} *);
		S_SERDST* = -16 (* {4..31} *);
		NMPWAIT_WAIT_FOREVER* = -1 (* {0..31} *);
		NMPWAIT_NOWAIT* = 1 (* {0} *);
		NMPWAIT_USE_DEFAULT_WAIT* = 0 (* {} *);
		FS_CASE_IS_PRESERVED* = {1};
		FS_CASE_SENSITIVE* = {0};
		FS_UNICODE_STORED_ON_DISK* = {2};
		FS_PERSISTENT_ACLS* = {3};
		FS_VOL_IS_COMPRESSED* = {15};
		FS_FILE_COMPRESSION* = {4};
		FILE_MAP_COPY* = {0};
		FILE_MAP_WRITE* = {1};
		FILE_MAP_READ* = {2};
		FILE_MAP_ALL_ACCESS* = {0..4, 16..19};
		OF_READ* = {};
		OF_WRITE* = {0};
		OF_READWRITE* = {1};
		OF_SHARE_COMPAT* = {};
		OF_SHARE_EXCLUSIVE* = {4};
		OF_SHARE_DENY_WRITE* = {5};
		OF_SHARE_DENY_READ* = {4, 5};
		OF_SHARE_DENY_NONE* = {6};
		OF_PARSE* = {8};
		OF_DELETE* = {9};
		OF_VERIFY* = {10};
		OF_CANCEL* = {11};
		OF_CREATE* = {12};
		OF_PROMPT* = {13};
		OF_EXIST* = {14};
		OF_REOPEN* = {15};
		OFS_MAXPATHNAME* = 128 (* {7} *);
		MAXINTATOM* = 49152 (* {14, 15} *);
		PROCESS_HEAP_REGION* = {0};
		PROCESS_HEAP_UNCOMMITTED_RANGE* = {1};
		PROCESS_HEAP_ENTRY_BUSY* = {2};
		PROCESS_HEAP_ENTRY_MOVEABLE* = {4};
		PROCESS_HEAP_ENTRY_DDESHARE* = {5};
		SCS_32BIT_BINARY* = 0 (* {} *);
		SCS_DOS_BINARY* = 1 (* {0} *);
		SCS_WOW_BINARY* = 2 (* {1} *);
		SCS_PIF_BINARY* = 3 (* {0, 1} *);
		SCS_POSIX_BINARY* = 4 (* {2} *);
		SCS_OS216_BINARY* = 5 (* {0, 2} *);
		SEM_FAILCRITICALERRORS* = {0};
		SEM_NOGPFAULTERRORBOX* = {1};
		SEM_NOALIGNMENTFAULTEXCEPT* = {2};
		SEM_NOOPENFILEERRORBOX* = {15};
		LOCKFILE_FAIL_IMMEDIATELY* = {0};
		LOCKFILE_EXCLUSIVE_LOCK* = {1};
		HANDLE_FLAG_INHERIT* = {0};
		HANDLE_FLAG_PROTECT_FROM_CLOSE* = {1};
		HINSTANCE_ERROR* = 32 (* {5} *);
		GET_TAPE_MEDIA_INFORMATION* = 0 (* {} *);
		GET_TAPE_DRIVE_INFORMATION* = 1 (* {0} *);
		SET_TAPE_MEDIA_INFORMATION* = 0 (* {} *);
		SET_TAPE_DRIVE_INFORMATION* = 1 (* {0} *);
		FORMAT_MESSAGE_ALLOCATE_BUFFER* = {8};
		FORMAT_MESSAGE_IGNORE_INSERTS* = {9};
		FORMAT_MESSAGE_FROM_STRING* = {10};
		FORMAT_MESSAGE_FROM_HMODULE* = {11};
		FORMAT_MESSAGE_FROM_SYSTEM* = {12};
		FORMAT_MESSAGE_ARGUMENT_ARRAY* = {13};
		FORMAT_MESSAGE_MAX_WIDTH_MASK* = {0..7};
		TLS_OUT_OF_INDEXES* = -1 (* {0..31} *);
		BACKUP_INVALID* = 0 (* {} *);
		BACKUP_DATA* = 1 (* {0} *);
		BACKUP_EA_DATA* = 2 (* {1} *);
		BACKUP_SECURITY_DATA* = 3 (* {0, 1} *);
		BACKUP_ALTERNATE_DATA* = 4 (* {2} *);
		BACKUP_LINK* = 5 (* {0, 2} *);
		BACKUP_PROPERTY_DATA* = 6 (* {1, 2} *);
		STREAM_NORMAL_ATTRIBUTE* = 0 (* {} *);
		STREAM_MODIFIED_WHEN_READ* = 1 (* {0} *);
		STREAM_CONTAINS_SECURITY* = 2 (* {1} *);
		STREAM_CONTAINS_PROPERTIES* = 4 (* {2} *);
		STARTF_USESHOWWINDOW* = {0};
		STARTF_USESIZE* = {1};
		STARTF_USEPOSITION* = {2};
		STARTF_USECOUNTCHARS* = {3};
		STARTF_USEFILLATTRIBUTE* = {4};
		STARTF_RUNFULLSCREEN* = {5};
		STARTF_FORCEONFEEDBACK* = {6};
		STARTF_FORCEOFFFEEDBACK* = {7};
		STARTF_USESTDHANDLES* = {8};
		STARTF_USEHOTKEY* = {9};
		SHUTDOWN_NORETRY* = 1 (* {0} *);
		DONT_RESOLVE_DLL_REFERENCES* = {0};
		LOAD_LIBRARY_AS_DATAFILE* = {1};
		LOAD_WITH_ALTERED_SEARCH_PATH* = {3};
		DDD_RAW_TARGET_PATH* = {0};
		DDD_REMOVE_DEFINITION* = {1};
		DDD_EXACT_MATCH_ON_REMOVE* = {2};
		DDD_NO_BROADCAST_SYSTEM* = {3};
		FIND_FIRST_EX_CASE_SENSITIVE* = {0};
		MOVEFILE_REPLACE_EXISTING* = {0};
		MOVEFILE_COPY_ALLOWED* = {1};
		MOVEFILE_DELAY_UNTIL_REBOOT* = {2};
		MOVEFILE_WRITE_THROUGH* = {3};
		MAX_COMPUTERNAME_LENGTH* = 15 (* {0..3} *);
		LOGON32_LOGON_INTERACTIVE* = 2 (* {1} *);
		LOGON32_LOGON_BATCH* = 4 (* {2} *);
		LOGON32_LOGON_SERVICE* = 5 (* {0, 2} *);
		LOGON32_PROVIDER_DEFAULT* = 0 (* {} *);
		LOGON32_PROVIDER_WINNT35* = 1 (* {0} *);
		LOGON32_PROVIDER_WINNT40* = 2 (* {1} *);
		HW_PROFILE_GUIDLEN* = 39 (* {0..2, 5} *);
		MAX_PROFILE_LEN* = 80 (* {4, 6} *);
		DOCKINFO_UNDOCKED* = 1 (* {0} *);
		DOCKINFO_DOCKED* = 2 (* {1} *);
		DOCKINFO_USER_SUPPLIED* = 4 (* {2} *);
		DOCKINFO_USER_UNDOCKED* = 5 (* {0, 2} *);
		DOCKINFO_USER_DOCKED* = 6 (* {1, 2} *);
		VER_PLATFORM_WIN32s* = 0 (* {} *);
		VER_PLATFORM_WIN32_WINDOWS* = 1 (* {0} *);
		VER_PLATFORM_WIN32_NT* = 2 (* {1} *);
		FACILITY_WINDOWS* = 8 (* {3} *);
		FACILITY_STORAGE* = 3 (* {0, 1} *);
		FACILITY_RPC* = 1 (* {0} *);
		FACILITY_WIN32* = 7 (* {0..2} *);
		FACILITY_CONTROL* = 10 (* {1, 3} *);
		FACILITY_NULL* = 0 (* {} *);
		FACILITY_ITF* = 4 (* {2} *);
		FACILITY_DISPATCH* = 2 (* {1} *);
		ERROR_SUCCESS* = 0 (* {} *);
		NO_ERROR* = 0 (* {} *);
		ERROR_INVALID_FUNCTION* = 1 (* {0} *);
		ERROR_FILE_NOT_FOUND* = 2 (* {1} *);
		ERROR_PATH_NOT_FOUND* = 3 (* {0, 1} *);
		ERROR_TOO_MANY_OPEN_FILES* = 4 (* {2} *);
		ERROR_ACCESS_DENIED* = 5 (* {0, 2} *);
		ERROR_INVALID_HANDLE* = 6 (* {1, 2} *);
		ERROR_ARENA_TRASHED* = 7 (* {0..2} *);
		ERROR_NOT_ENOUGH_MEMORY* = 8 (* {3} *);
		ERROR_INVALID_BLOCK* = 9 (* {0, 3} *);
		ERROR_BAD_ENVIRONMENT* = 10 (* {1, 3} *);
		ERROR_BAD_FORMAT* = 11 (* {0, 1, 3} *);
		ERROR_INVALID_ACCESS* = 12 (* {2, 3} *);
		ERROR_INVALID_DATA* = 13 (* {0, 2, 3} *);
		ERROR_OUTOFMEMORY* = 14 (* {1..3} *);
		ERROR_INVALID_DRIVE* = 15 (* {0..3} *);
		ERROR_CURRENT_DIRECTORY* = 16 (* {4} *);
		ERROR_NOT_SAME_DEVICE* = 17 (* {0, 4} *);
		ERROR_NO_MORE_FILES* = 18 (* {1, 4} *);
		ERROR_WRITE_PROTECT* = 19 (* {0, 1, 4} *);
		ERROR_BAD_UNIT* = 20 (* {2, 4} *);
		ERROR_NOT_READY* = 21 (* {0, 2, 4} *);
		ERROR_BAD_COMMAND* = 22 (* {1, 2, 4} *);
		ERROR_CRC* = 23 (* {0..2, 4} *);
		ERROR_BAD_LENGTH* = 24 (* {3, 4} *);
		ERROR_SEEK* = 25 (* {0, 3, 4} *);
		ERROR_NOT_DOS_DISK* = 26 (* {1, 3, 4} *);
		ERROR_SECTOR_NOT_FOUND* = 27 (* {0, 1, 3, 4} *);
		ERROR_OUT_OF_PAPER* = 28 (* {2..4} *);
		ERROR_WRITE_FAULT* = 29 (* {0, 2..4} *);
		ERROR_READ_FAULT* = 30 (* {1..4} *);
		ERROR_GEN_FAILURE* = 31 (* {0..4} *);
		ERROR_SHARING_VIOLATION* = 32 (* {5} *);
		ERROR_LOCK_VIOLATION* = 33 (* {0, 5} *);
		ERROR_WRONG_DISK* = 34 (* {1, 5} *);
		ERROR_SHARING_BUFFER_EXCEEDED* = 36 (* {2, 5} *);
		ERROR_HANDLE_EOF* = 38 (* {1, 2, 5} *);
		ERROR_HANDLE_DISK_FULL* = 39 (* {0..2, 5} *);
		ERROR_NOT_SUPPORTED* = 50 (* {1, 4, 5} *);
		ERROR_REM_NOT_LIST* = 51 (* {0, 1, 4, 5} *);
		ERROR_DUP_NAME* = 52 (* {2, 4, 5} *);
		ERROR_BAD_NETPATH* = 53 (* {0, 2, 4, 5} *);
		ERROR_NETWORK_BUSY* = 54 (* {1, 2, 4, 5} *);
		ERROR_DEV_NOT_EXIST* = 55 (* {0..2, 4, 5} *);
		ERROR_TOO_MANY_CMDS* = 56 (* {3..5} *);
		ERROR_ADAP_HDW_ERR* = 57 (* {0, 3..5} *);
		ERROR_BAD_NET_RESP* = 58 (* {1, 3..5} *);
		ERROR_UNEXP_NET_ERR* = 59 (* {0, 1, 3..5} *);
		ERROR_BAD_REM_ADAP* = 60 (* {2..5} *);
		ERROR_PRINTQ_FULL* = 61 (* {0, 2..5} *);
		ERROR_NO_SPOOL_SPACE* = 62 (* {1..5} *);
		ERROR_PRINT_CANCELLED* = 63 (* {0..5} *);
		ERROR_NETNAME_DELETED* = 64 (* {6} *);
		ERROR_NETWORK_ACCESS_DENIED* = 65 (* {0, 6} *);
		ERROR_BAD_DEV_TYPE* = 66 (* {1, 6} *);
		ERROR_BAD_NET_NAME* = 67 (* {0, 1, 6} *);
		ERROR_TOO_MANY_NAMES* = 68 (* {2, 6} *);
		ERROR_TOO_MANY_SESS* = 69 (* {0, 2, 6} *);
		ERROR_SHARING_PAUSED* = 70 (* {1, 2, 6} *);
		ERROR_REQ_NOT_ACCEP* = 71 (* {0..2, 6} *);
		ERROR_REDIR_PAUSED* = 72 (* {3, 6} *);
		ERROR_FILE_EXISTS* = 80 (* {4, 6} *);
		ERROR_CANNOT_MAKE* = 82 (* {1, 4, 6} *);
		ERROR_FAIL_I24* = 83 (* {0, 1, 4, 6} *);
		ERROR_OUT_OF_STRUCTURES* = 84 (* {2, 4, 6} *);
		ERROR_ALREADY_ASSIGNED* = 85 (* {0, 2, 4, 6} *);
		ERROR_INVALID_PASSWORD* = 86 (* {1, 2, 4, 6} *);
		ERROR_INVALID_PARAMETER* = 87 (* {0..2, 4, 6} *);
		ERROR_NET_WRITE_FAULT* = 88 (* {3, 4, 6} *);
		ERROR_NO_PROC_SLOTS* = 89 (* {0, 3, 4, 6} *);
		ERROR_TOO_MANY_SEMAPHORES* = 100 (* {2, 5, 6} *);
		ERROR_EXCL_SEM_ALREADY_OWNED* = 101 (* {0, 2, 5, 6} *);
		ERROR_SEM_IS_SET* = 102 (* {1, 2, 5, 6} *);
		ERROR_TOO_MANY_SEM_REQUESTS* = 103 (* {0..2, 5, 6} *);
		ERROR_INVALID_AT_INTERRUPT_TIME* = 104 (* {3, 5, 6} *);
		ERROR_SEM_OWNER_DIED* = 105 (* {0, 3, 5, 6} *);
		ERROR_SEM_USER_LIMIT* = 106 (* {1, 3, 5, 6} *);
		ERROR_DISK_CHANGE* = 107 (* {0, 1, 3, 5, 6} *);
		ERROR_DRIVE_LOCKED* = 108 (* {2, 3, 5, 6} *);
		ERROR_BROKEN_PIPE* = 109 (* {0, 2, 3, 5, 6} *);
		ERROR_OPEN_FAILED* = 110 (* {1..3, 5, 6} *);
		ERROR_BUFFER_OVERFLOW* = 111 (* {0..3, 5, 6} *);
		ERROR_DISK_FULL* = 112 (* {4..6} *);
		ERROR_NO_MORE_SEARCH_HANDLES* = 113 (* {0, 4..6} *);
		ERROR_INVALID_TARGET_HANDLE* = 114 (* {1, 4..6} *);
		ERROR_INVALID_CATEGORY* = 117 (* {0, 2, 4..6} *);
		ERROR_INVALID_VERIFY_SWITCH* = 118 (* {1, 2, 4..6} *);
		ERROR_BAD_DRIVER_LEVEL* = 119 (* {0..2, 4..6} *);
		ERROR_CALL_NOT_IMPLEMENTED* = 120 (* {3..6} *);
		ERROR_SEM_TIMEOUT* = 121 (* {0, 3..6} *);
		ERROR_INSUFFICIENT_BUFFER* = 122 (* {1, 3..6} *);
		ERROR_INVALID_NAME* = 123 (* {0, 1, 3..6} *);
		ERROR_INVALID_LEVEL* = 124 (* {2..6} *);
		ERROR_NO_VOLUME_LABEL* = 125 (* {0, 2..6} *);
		ERROR_MOD_NOT_FOUND* = 126 (* {1..6} *);
		ERROR_PROC_NOT_FOUND* = 127 (* {0..6} *);
		ERROR_WAIT_NO_CHILDREN* = 128 (* {7} *);
		ERROR_CHILD_NOT_COMPLETE* = 129 (* {0, 7} *);
		ERROR_DIRECT_ACCESS_HANDLE* = 130 (* {1, 7} *);
		ERROR_NEGATIVE_SEEK* = 131 (* {0, 1, 7} *);
		ERROR_SEEK_ON_DEVICE* = 132 (* {2, 7} *);
		ERROR_IS_JOIN_TARGET* = 133 (* {0, 2, 7} *);
		ERROR_IS_JOINED* = 134 (* {1, 2, 7} *);
		ERROR_IS_SUBSTED* = 135 (* {0..2, 7} *);
		ERROR_NOT_JOINED* = 136 (* {3, 7} *);
		ERROR_NOT_SUBSTED* = 137 (* {0, 3, 7} *);
		ERROR_JOIN_TO_JOIN* = 138 (* {1, 3, 7} *);
		ERROR_SUBST_TO_SUBST* = 139 (* {0, 1, 3, 7} *);
		ERROR_JOIN_TO_SUBST* = 140 (* {2, 3, 7} *);
		ERROR_SUBST_TO_JOIN* = 141 (* {0, 2, 3, 7} *);
		ERROR_BUSY_DRIVE* = 142 (* {1..3, 7} *);
		ERROR_SAME_DRIVE* = 143 (* {0..3, 7} *);
		ERROR_DIR_NOT_ROOT* = 144 (* {4, 7} *);
		ERROR_DIR_NOT_EMPTY* = 145 (* {0, 4, 7} *);
		ERROR_IS_SUBST_PATH* = 146 (* {1, 4, 7} *);
		ERROR_IS_JOIN_PATH* = 147 (* {0, 1, 4, 7} *);
		ERROR_PATH_BUSY* = 148 (* {2, 4, 7} *);
		ERROR_IS_SUBST_TARGET* = 149 (* {0, 2, 4, 7} *);
		ERROR_SYSTEM_TRACE* = 150 (* {1, 2, 4, 7} *);
		ERROR_INVALID_EVENT_COUNT* = 151 (* {0..2, 4, 7} *);
		ERROR_TOO_MANY_MUXWAITERS* = 152 (* {3, 4, 7} *);
		ERROR_INVALID_LIST_FORMAT* = 153 (* {0, 3, 4, 7} *);
		ERROR_LABEL_TOO_LONG* = 154 (* {1, 3, 4, 7} *);
		ERROR_TOO_MANY_TCBS* = 155 (* {0, 1, 3, 4, 7} *);
		ERROR_SIGNAL_REFUSED* = 156 (* {2..4, 7} *);
		ERROR_DISCARDED* = 157 (* {0, 2..4, 7} *);
		ERROR_NOT_LOCKED* = 158 (* {1..4, 7} *);
		ERROR_BAD_THREADID_ADDR* = 159 (* {0..4, 7} *);
		ERROR_BAD_ARGUMENTS* = 160 (* {5, 7} *);
		ERROR_BAD_PATHNAME* = 161 (* {0, 5, 7} *);
		ERROR_SIGNAL_PENDING* = 162 (* {1, 5, 7} *);
		ERROR_MAX_THRDS_REACHED* = 164 (* {2, 5, 7} *);
		ERROR_LOCK_FAILED* = 167 (* {0..2, 5, 7} *);
		ERROR_BUSY* = 170 (* {1, 3, 5, 7} *);
		ERROR_CANCEL_VIOLATION* = 173 (* {0, 2, 3, 5, 7} *);
		ERROR_ATOMIC_LOCKS_NOT_SUPPORTED* = 174 (* {1..3, 5, 7} *);
		ERROR_INVALID_SEGMENT_NUMBER* = 180 (* {2, 4, 5, 7} *);
		ERROR_INVALID_ORDINAL* = 182 (* {1, 2, 4, 5, 7} *);
		ERROR_ALREADY_EXISTS* = 183 (* {0..2, 4, 5, 7} *);
		ERROR_INVALID_FLAG_NUMBER* = 186 (* {1, 3..5, 7} *);
		ERROR_SEM_NOT_FOUND* = 187 (* {0, 1, 3..5, 7} *);
		ERROR_INVALID_STARTING_CODESEG* = 188 (* {2..5, 7} *);
		ERROR_INVALID_STACKSEG* = 189 (* {0, 2..5, 7} *);
		ERROR_INVALID_MODULETYPE* = 190 (* {1..5, 7} *);
		ERROR_INVALID_EXE_SIGNATURE* = 191 (* {0..5, 7} *);
		ERROR_EXE_MARKED_INVALID* = 192 (* {6, 7} *);
		ERROR_BAD_EXE_FORMAT* = 193 (* {0, 6, 7} *);
		ERROR_ITERATED_DATA_EXCEEDS_64k* = 194 (* {1, 6, 7} *);
		ERROR_INVALID_MINALLOCSIZE* = 195 (* {0, 1, 6, 7} *);
		ERROR_DYNLINK_FROM_INVALID_RING* = 196 (* {2, 6, 7} *);
		ERROR_IOPL_NOT_ENABLED* = 197 (* {0, 2, 6, 7} *);
		ERROR_INVALID_SEGDPL* = 198 (* {1, 2, 6, 7} *);
		ERROR_AUTODATASEG_EXCEEDS_64k* = 199 (* {0..2, 6, 7} *);
		ERROR_RING2SEG_MUST_BE_MOVABLE* = 200 (* {3, 6, 7} *);
		ERROR_RELOC_CHAIN_XEEDS_SEGLIM* = 201 (* {0, 3, 6, 7} *);
		ERROR_INFLOOP_IN_RELOC_CHAIN* = 202 (* {1, 3, 6, 7} *);
		ERROR_ENVVAR_NOT_FOUND* = 203 (* {0, 1, 3, 6, 7} *);
		ERROR_NO_SIGNAL_SENT* = 205 (* {0, 2, 3, 6, 7} *);
		ERROR_FILENAME_EXCED_RANGE* = 206 (* {1..3, 6, 7} *);
		ERROR_RING2_STACK_IN_USE* = 207 (* {0..3, 6, 7} *);
		ERROR_META_EXPANSION_TOO_LONG* = 208 (* {4, 6, 7} *);
		ERROR_INVALID_SIGNAL_NUMBER* = 209 (* {0, 4, 6, 7} *);
		ERROR_THREAD_1_INACTIVE* = 210 (* {1, 4, 6, 7} *);
		ERROR_LOCKED* = 212 (* {2, 4, 6, 7} *);
		ERROR_TOO_MANY_MODULES* = 214 (* {1, 2, 4, 6, 7} *);
		ERROR_NESTING_NOT_ALLOWED* = 215 (* {0..2, 4, 6, 7} *);
		ERROR_BAD_PIPE* = 230 (* {1, 2, 5..7} *);
		ERROR_PIPE_BUSY* = 231 (* {0..2, 5..7} *);
		ERROR_NO_DATA* = 232 (* {3, 5..7} *);
		ERROR_PIPE_NOT_CONNECTED* = 233 (* {0, 3, 5..7} *);
		ERROR_MORE_DATA* = 234 (* {1, 3, 5..7} *);
		ERROR_VC_DISCONNECTED* = 240 (* {4..7} *);
		ERROR_INVALID_EA_NAME* = 254 (* {1..7} *);
		ERROR_EA_LIST_INCONSISTENT* = 255 (* {0..7} *);
		ERROR_NO_MORE_ITEMS* = 259 (* {0, 1, 8} *);
		ERROR_CANNOT_COPY* = 266 (* {1, 3, 8} *);
		ERROR_DIRECTORY* = 267 (* {0, 1, 3, 8} *);
		ERROR_EAS_DIDNT_FIT* = 275 (* {0, 1, 4, 8} *);
		ERROR_EA_FILE_CORRUPT* = 276 (* {2, 4, 8} *);
		ERROR_EA_TABLE_FULL* = 277 (* {0, 2, 4, 8} *);
		ERROR_INVALID_EA_HANDLE* = 278 (* {1, 2, 4, 8} *);
		ERROR_EAS_NOT_SUPPORTED* = 282 (* {1, 3, 4, 8} *);
		ERROR_NOT_OWNER* = 288 (* {5, 8} *);
		ERROR_TOO_MANY_POSTS* = 298 (* {1, 3, 5, 8} *);
		ERROR_PARTIAL_COPY* = 299 (* {0, 1, 3, 5, 8} *);
		ERROR_MR_MID_NOT_FOUND* = 317 (* {0, 2..5, 8} *);
		ERROR_INVALID_ADDRESS* = 487 (* {0..2, 5..8} *);
		ERROR_ARITHMETIC_OVERFLOW* = 534 (* {1, 2, 4, 9} *);
		ERROR_PIPE_CONNECTED* = 535 (* {0..2, 4, 9} *);
		ERROR_PIPE_LISTENING* = 536 (* {3, 4, 9} *);
		ERROR_EA_ACCESS_DENIED* = 994 (* {1, 5..9} *);
		ERROR_OPERATION_ABORTED* = 995 (* {0, 1, 5..9} *);
		ERROR_IO_INCOMPLETE* = 996 (* {2, 5..9} *);
		ERROR_IO_PENDING* = 997 (* {0, 2, 5..9} *);
		ERROR_NOACCESS* = 998 (* {1, 2, 5..9} *);
		ERROR_SWAPERROR* = 999 (* {0..2, 5..9} *);
		ERROR_STACK_OVERFLOW* = 1001 (* {0, 3, 5..9} *);
		ERROR_INVALID_MESSAGE* = 1002 (* {1, 3, 5..9} *);
		ERROR_CAN_NOT_COMPLETE* = 1003 (* {0, 1, 3, 5..9} *);
		ERROR_INVALID_FLAGS* = 1004 (* {2, 3, 5..9} *);
		ERROR_UNRECOGNIZED_VOLUME* = 1005 (* {0, 2, 3, 5..9} *);
		ERROR_FILE_INVALID* = 1006 (* {1..3, 5..9} *);
		ERROR_FULLSCREEN_MODE* = 1007 (* {0..3, 5..9} *);
		ERROR_NO_TOKEN* = 1008 (* {4..9} *);
		ERROR_BADDB* = 1009 (* {0, 4..9} *);
		ERROR_BADKEY* = 1010 (* {1, 4..9} *);
		ERROR_CANTOPEN* = 1011 (* {0, 1, 4..9} *);
		ERROR_CANTREAD* = 1012 (* {2, 4..9} *);
		ERROR_CANTWRITE* = 1013 (* {0, 2, 4..9} *);
		ERROR_REGISTRY_RECOVERED* = 1014 (* {1, 2, 4..9} *);
		ERROR_REGISTRY_CORRUPT* = 1015 (* {0..2, 4..9} *);
		ERROR_REGISTRY_IO_FAILED* = 1016 (* {3..9} *);
		ERROR_NOT_REGISTRY_FILE* = 1017 (* {0, 3..9} *);
		ERROR_KEY_DELETED* = 1018 (* {1, 3..9} *);
		ERROR_NO_LOG_SPACE* = 1019 (* {0, 1, 3..9} *);
		ERROR_KEY_HAS_CHILDREN* = 1020 (* {2..9} *);
		ERROR_CHILD_MUST_BE_VOLATILE* = 1021 (* {0, 2..9} *);
		ERROR_NOTIFY_ENUM_DIR* = 1022 (* {1..9} *);
		ERROR_DEPENDENT_SERVICES_RUNNING* = 1051 (* {0, 1, 3, 4, 10} *);
		ERROR_INVALID_SERVICE_CONTROL* = 1052 (* {2..4, 10} *);
		ERROR_SERVICE_REQUEST_TIMEOUT* = 1053 (* {0, 2..4, 10} *);
		ERROR_SERVICE_NO_THREAD* = 1054 (* {1..4, 10} *);
		ERROR_SERVICE_DATABASE_LOCKED* = 1055 (* {0..4, 10} *);
		ERROR_SERVICE_ALREADY_RUNNING* = 1056 (* {5, 10} *);
		ERROR_INVALID_SERVICE_ACCOUNT* = 1057 (* {0, 5, 10} *);
		ERROR_SERVICE_DISABLED* = 1058 (* {1, 5, 10} *);
		ERROR_CIRCULAR_DEPENDENCY* = 1059 (* {0, 1, 5, 10} *);
		ERROR_SERVICE_DOES_NOT_EXIST* = 1060 (* {2, 5, 10} *);
		ERROR_SERVICE_CANNOT_ACCEPT_CTRL* = 1061 (* {0, 2, 5, 10} *);
		ERROR_SERVICE_NOT_ACTIVE* = 1062 (* {1, 2, 5, 10} *);
		ERROR_FAILED_SERVICE_CONTROLLER_CONNECT* = 1063 (* {0..2, 5, 10} *);
		ERROR_EXCEPTION_IN_SERVICE* = 1064 (* {3, 5, 10} *);
		ERROR_DATABASE_DOES_NOT_EXIST* = 1065 (* {0, 3, 5, 10} *);
		ERROR_SERVICE_SPECIFIC_ERROR* = 1066 (* {1, 3, 5, 10} *);
		ERROR_PROCESS_ABORTED* = 1067 (* {0, 1, 3, 5, 10} *);
		ERROR_SERVICE_DEPENDENCY_FAIL* = 1068 (* {2, 3, 5, 10} *);
		ERROR_SERVICE_LOGON_FAILED* = 1069 (* {0, 2, 3, 5, 10} *);
		ERROR_SERVICE_START_HANG* = 1070 (* {1..3, 5, 10} *);
		ERROR_INVALID_SERVICE_LOCK* = 1071 (* {0..3, 5, 10} *);
		ERROR_SERVICE_MARKED_FOR_DELETE* = 1072 (* {4, 5, 10} *);
		ERROR_SERVICE_EXISTS* = 1073 (* {0, 4, 5, 10} *);
		ERROR_ALREADY_RUNNING_LKG* = 1074 (* {1, 4, 5, 10} *);
		ERROR_SERVICE_DEPENDENCY_DELETED* = 1075 (* {0, 1, 4, 5, 10} *);
		ERROR_BOOT_ALREADY_ACCEPTED* = 1076 (* {2, 4, 5, 10} *);
		ERROR_SERVICE_NEVER_STARTED* = 1077 (* {0, 2, 4, 5, 10} *);
		ERROR_DUPLICATE_SERVICE_NAME* = 1078 (* {1, 2, 4, 5, 10} *);
		ERROR_END_OF_MEDIA* = 1100 (* {2, 3, 6, 10} *);
		ERROR_FILEMARK_DETECTED* = 1101 (* {0, 2, 3, 6, 10} *);
		ERROR_BEGINNING_OF_MEDIA* = 1102 (* {1..3, 6, 10} *);
		ERROR_SETMARK_DETECTED* = 1103 (* {0..3, 6, 10} *);
		ERROR_NO_DATA_DETECTED* = 1104 (* {4, 6, 10} *);
		ERROR_PARTITION_FAILURE* = 1105 (* {0, 4, 6, 10} *);
		ERROR_INVALID_BLOCK_LENGTH* = 1106 (* {1, 4, 6, 10} *);
		ERROR_DEVICE_NOT_PARTITIONED* = 1107 (* {0, 1, 4, 6, 10} *);
		ERROR_UNABLE_TO_LOCK_MEDIA* = 1108 (* {2, 4, 6, 10} *);
		ERROR_UNABLE_TO_UNLOAD_MEDIA* = 1109 (* {0, 2, 4, 6, 10} *);
		ERROR_MEDIA_CHANGED* = 1110 (* {1, 2, 4, 6, 10} *);
		ERROR_BUS_RESET* = 1111 (* {0..2, 4, 6, 10} *);
		ERROR_NO_MEDIA_IN_DRIVE* = 1112 (* {3, 4, 6, 10} *);
		ERROR_NO_UNICODE_TRANSLATION* = 1113 (* {0, 3, 4, 6, 10} *);
		ERROR_DLL_INIT_FAILED* = 1114 (* {1, 3, 4, 6, 10} *);
		ERROR_SHUTDOWN_IN_PROGRESS* = 1115 (* {0, 1, 3, 4, 6, 10} *);
		ERROR_NO_SHUTDOWN_IN_PROGRESS* = 1116 (* {2..4, 6, 10} *);
		ERROR_IO_DEVICE* = 1117 (* {0, 2..4, 6, 10} *);
		ERROR_SERIAL_NO_DEVICE* = 1118 (* {1..4, 6, 10} *);
		ERROR_IRQ_BUSY* = 1119 (* {0..4, 6, 10} *);
		ERROR_MORE_WRITES* = 1120 (* {5, 6, 10} *);
		ERROR_COUNTER_TIMEOUT* = 1121 (* {0, 5, 6, 10} *);
		ERROR_FLOPPY_ID_MARK_NOT_FOUND* = 1122 (* {1, 5, 6, 10} *);
		ERROR_FLOPPY_WRONG_CYLINDER* = 1123 (* {0, 1, 5, 6, 10} *);
		ERROR_FLOPPY_UNKNOWN_ERROR* = 1124 (* {2, 5, 6, 10} *);
		ERROR_FLOPPY_BAD_REGISTERS* = 1125 (* {0, 2, 5, 6, 10} *);
		ERROR_DISK_RECALIBRATE_FAILED* = 1126 (* {1, 2, 5, 6, 10} *);
		ERROR_DISK_OPERATION_FAILED* = 1127 (* {0..2, 5, 6, 10} *);
		ERROR_DISK_RESET_FAILED* = 1128 (* {3, 5, 6, 10} *);
		ERROR_EOM_OVERFLOW* = 1129 (* {0, 3, 5, 6, 10} *);
		ERROR_NOT_ENOUGH_SERVER_MEMORY* = 1130 (* {1, 3, 5, 6, 10} *);
		ERROR_POSSIBLE_DEADLOCK* = 1131 (* {0, 1, 3, 5, 6, 10} *);
		ERROR_MAPPED_ALIGNMENT* = 1132 (* {2, 3, 5, 6, 10} *);
		ERROR_SET_POWER_STATE_VETOED* = 1140 (* {2, 4..6, 10} *);
		ERROR_SET_POWER_STATE_FAILED* = 1141 (* {0, 2, 4..6, 10} *);
		ERROR_OLD_WIN_VERSION* = 1150 (* {1..6, 10} *);
		ERROR_APP_WRONG_OS* = 1151 (* {0..6, 10} *);
		ERROR_SINGLE_INSTANCE_APP* = 1152 (* {7, 10} *);
		ERROR_RMODE_APP* = 1153 (* {0, 7, 10} *);
		ERROR_INVALID_DLL* = 1154 (* {1, 7, 10} *);
		ERROR_NO_ASSOCIATION* = 1155 (* {0, 1, 7, 10} *);
		ERROR_DDE_FAIL* = 1156 (* {2, 7, 10} *);
		ERROR_DLL_NOT_FOUND* = 1157 (* {0, 2, 7, 10} *);
		ERROR_BAD_USERNAME* = 2202 (* {1, 3, 4, 7, 11} *);
		ERROR_NOT_CONNECTED* = 2250 (* {1, 3, 6, 7, 11} *);
		ERROR_OPEN_FILES* = 2401 (* {0, 5, 6, 8, 11} *);
		ERROR_ACTIVE_CONNECTIONS* = 2402 (* {1, 5, 6, 8, 11} *);
		ERROR_DEVICE_IN_USE* = 2404 (* {2, 5, 6, 8, 11} *);
		ERROR_BAD_DEVICE* = 1200 (* {4, 5, 7, 10} *);
		ERROR_CONNECTION_UNAVAIL* = 1201 (* {0, 4, 5, 7, 10} *);
		ERROR_DEVICE_ALREADY_REMEMBERED* = 1202 (* {1, 4, 5, 7, 10} *);
		ERROR_NO_NET_OR_BAD_PATH* = 1203 (* {0, 1, 4, 5, 7, 10} *);
		ERROR_BAD_PROVIDER* = 1204 (* {2, 4, 5, 7, 10} *);
		ERROR_CANNOT_OPEN_PROFILE* = 1205 (* {0, 2, 4, 5, 7, 10} *);
		ERROR_BAD_PROFILE* = 1206 (* {1, 2, 4, 5, 7, 10} *);
		ERROR_NOT_CONTAINER* = 1207 (* {0..2, 4, 5, 7, 10} *);
		ERROR_EXTENDED_ERROR* = 1208 (* {3..5, 7, 10} *);
		ERROR_INVALID_GROUPNAME* = 1209 (* {0, 3..5, 7, 10} *);
		ERROR_INVALID_COMPUTERNAME* = 1210 (* {1, 3..5, 7, 10} *);
		ERROR_INVALID_EVENTNAME* = 1211 (* {0, 1, 3..5, 7, 10} *);
		ERROR_INVALID_DOMAINNAME* = 1212 (* {2..5, 7, 10} *);
		ERROR_INVALID_SERVICENAME* = 1213 (* {0, 2..5, 7, 10} *);
		ERROR_INVALID_NETNAME* = 1214 (* {1..5, 7, 10} *);
		ERROR_INVALID_SHARENAME* = 1215 (* {0..5, 7, 10} *);
		ERROR_INVALID_PASSWORDNAME* = 1216 (* {6, 7, 10} *);
		ERROR_INVALID_MESSAGENAME* = 1217 (* {0, 6, 7, 10} *);
		ERROR_INVALID_MESSAGEDEST* = 1218 (* {1, 6, 7, 10} *);
		ERROR_SESSION_CREDENTIAL_CONFLICT* = 1219 (* {0, 1, 6, 7, 10} *);
		ERROR_REMOTE_SESSION_LIMIT_EXCEEDED* = 1220 (* {2, 6, 7, 10} *);
		ERROR_DUP_DOMAINNAME* = 1221 (* {0, 2, 6, 7, 10} *);
		ERROR_NO_NETWORK* = 1222 (* {1, 2, 6, 7, 10} *);
		ERROR_CANCELLED* = 1223 (* {0..2, 6, 7, 10} *);
		ERROR_USER_MAPPED_FILE* = 1224 (* {3, 6, 7, 10} *);
		ERROR_CONNECTION_REFUSED* = 1225 (* {0, 3, 6, 7, 10} *);
		ERROR_GRACEFUL_DISCONNECT* = 1226 (* {1, 3, 6, 7, 10} *);
		ERROR_ADDRESS_ALREADY_ASSOCIATED* = 1227 (* {0, 1, 3, 6, 7, 10} *);
		ERROR_ADDRESS_NOT_ASSOCIATED* = 1228 (* {2, 3, 6, 7, 10} *);
		ERROR_CONNECTION_INVALID* = 1229 (* {0, 2, 3, 6, 7, 10} *);
		ERROR_CONNECTION_ACTIVE* = 1230 (* {1..3, 6, 7, 10} *);
		ERROR_NETWORK_UNREACHABLE* = 1231 (* {0..3, 6, 7, 10} *);
		ERROR_HOST_UNREACHABLE* = 1232 (* {4, 6, 7, 10} *);
		ERROR_PROTOCOL_UNREACHABLE* = 1233 (* {0, 4, 6, 7, 10} *);
		ERROR_PORT_UNREACHABLE* = 1234 (* {1, 4, 6, 7, 10} *);
		ERROR_REQUEST_ABORTED* = 1235 (* {0, 1, 4, 6, 7, 10} *);
		ERROR_CONNECTION_ABORTED* = 1236 (* {2, 4, 6, 7, 10} *);
		ERROR_RETRY* = 1237 (* {0, 2, 4, 6, 7, 10} *);
		ERROR_CONNECTION_COUNT_LIMIT* = 1238 (* {1, 2, 4, 6, 7, 10} *);
		ERROR_LOGIN_TIME_RESTRICTION* = 1239 (* {0..2, 4, 6, 7, 10} *);
		ERROR_LOGIN_WKSTA_RESTRICTION* = 1240 (* {3, 4, 6, 7, 10} *);
		ERROR_INCORRECT_ADDRESS* = 1241 (* {0, 3, 4, 6, 7, 10} *);
		ERROR_ALREADY_REGISTERED* = 1242 (* {1, 3, 4, 6, 7, 10} *);
		ERROR_SERVICE_NOT_FOUND* = 1243 (* {0, 1, 3, 4, 6, 7, 10} *);
		ERROR_NOT_AUTHENTICATED* = 1244 (* {2..4, 6, 7, 10} *);
		ERROR_NOT_LOGGED_ON* = 1245 (* {0, 2..4, 6, 7, 10} *);
		ERROR_CONTINUE* = 1246 (* {1..4, 6, 7, 10} *);
		ERROR_ALREADY_INITIALIZED* = 1247 (* {0..4, 6, 7, 10} *);
		ERROR_NO_MORE_DEVICES* = 1248 (* {5..7, 10} *);
		ERROR_NOT_ALL_ASSIGNED* = 1300 (* {2, 4, 8, 10} *);
		ERROR_SOME_NOT_MAPPED* = 1301 (* {0, 2, 4, 8, 10} *);
		ERROR_NO_QUOTAS_FOR_ACCOUNT* = 1302 (* {1, 2, 4, 8, 10} *);
		ERROR_LOCAL_USER_SESSION_KEY* = 1303 (* {0..2, 4, 8, 10} *);
		ERROR_NULL_LM_PASSWORD* = 1304 (* {3, 4, 8, 10} *);
		ERROR_UNKNOWN_REVISION* = 1305 (* {0, 3, 4, 8, 10} *);
		ERROR_REVISION_MISMATCH* = 1306 (* {1, 3, 4, 8, 10} *);
		ERROR_INVALID_OWNER* = 1307 (* {0, 1, 3, 4, 8, 10} *);
		ERROR_INVALID_PRIMARY_GROUP* = 1308 (* {2..4, 8, 10} *);
		ERROR_NO_IMPERSONATION_TOKEN* = 1309 (* {0, 2..4, 8, 10} *);
		ERROR_CANT_DISABLE_MANDATORY* = 1310 (* {1..4, 8, 10} *);
		ERROR_NO_LOGON_SERVERS* = 1311 (* {0..4, 8, 10} *);
		ERROR_NO_SUCH_LOGON_SESSION* = 1312 (* {5, 8, 10} *);
		ERROR_NO_SUCH_PRIVILEGE* = 1313 (* {0, 5, 8, 10} *);
		ERROR_PRIVILEGE_NOT_HELD* = 1314 (* {1, 5, 8, 10} *);
		ERROR_INVALID_ACCOUNT_NAME* = 1315 (* {0, 1, 5, 8, 10} *);
		ERROR_USER_EXISTS* = 1316 (* {2, 5, 8, 10} *);
		ERROR_NO_SUCH_USER* = 1317 (* {0, 2, 5, 8, 10} *);
		ERROR_GROUP_EXISTS* = 1318 (* {1, 2, 5, 8, 10} *);
		ERROR_NO_SUCH_GROUP* = 1319 (* {0..2, 5, 8, 10} *);
		ERROR_MEMBER_IN_GROUP* = 1320 (* {3, 5, 8, 10} *);
		ERROR_MEMBER_NOT_IN_GROUP* = 1321 (* {0, 3, 5, 8, 10} *);
		ERROR_LAST_ADMIN* = 1322 (* {1, 3, 5, 8, 10} *);
		ERROR_WRONG_PASSWORD* = 1323 (* {0, 1, 3, 5, 8, 10} *);
		ERROR_ILL_FORMED_PASSWORD* = 1324 (* {2, 3, 5, 8, 10} *);
		ERROR_PASSWORD_RESTRICTION* = 1325 (* {0, 2, 3, 5, 8, 10} *);
		ERROR_LOGON_FAILURE* = 1326 (* {1..3, 5, 8, 10} *);
		ERROR_ACCOUNT_RESTRICTION* = 1327 (* {0..3, 5, 8, 10} *);
		ERROR_INVALID_LOGON_HOURS* = 1328 (* {4, 5, 8, 10} *);
		ERROR_INVALID_WORKSTATION* = 1329 (* {0, 4, 5, 8, 10} *);
		ERROR_PASSWORD_EXPIRED* = 1330 (* {1, 4, 5, 8, 10} *);
		ERROR_ACCOUNT_DISABLED* = 1331 (* {0, 1, 4, 5, 8, 10} *);
		ERROR_NONE_MAPPED* = 1332 (* {2, 4, 5, 8, 10} *);
		ERROR_TOO_MANY_LUIDS_REQUESTED* = 1333 (* {0, 2, 4, 5, 8, 10} *);
		ERROR_LUIDS_EXHAUSTED* = 1334 (* {1, 2, 4, 5, 8, 10} *);
		ERROR_INVALID_SUB_AUTHORITY* = 1335 (* {0..2, 4, 5, 8, 10} *);
		ERROR_INVALID_ACL* = 1336 (* {3..5, 8, 10} *);
		ERROR_INVALID_SID* = 1337 (* {0, 3..5, 8, 10} *);
		ERROR_INVALID_SECURITY_DESCR* = 1338 (* {1, 3..5, 8, 10} *);
		ERROR_BAD_INHERITANCE_ACL* = 1340 (* {2..5, 8, 10} *);
		ERROR_SERVER_DISABLED* = 1341 (* {0, 2..5, 8, 10} *);
		ERROR_SERVER_NOT_DISABLED* = 1342 (* {1..5, 8, 10} *);
		ERROR_INVALID_ID_AUTHORITY* = 1343 (* {0..5, 8, 10} *);
		ERROR_ALLOTTED_SPACE_EXCEEDED* = 1344 (* {6, 8, 10} *);
		ERROR_INVALID_GROUP_ATTRIBUTES* = 1345 (* {0, 6, 8, 10} *);
		ERROR_BAD_IMPERSONATION_LEVEL* = 1346 (* {1, 6, 8, 10} *);
		ERROR_CANT_OPEN_ANONYMOUS* = 1347 (* {0, 1, 6, 8, 10} *);
		ERROR_BAD_VALIDATION_CLASS* = 1348 (* {2, 6, 8, 10} *);
		ERROR_BAD_TOKEN_TYPE* = 1349 (* {0, 2, 6, 8, 10} *);
		ERROR_NO_SECURITY_ON_OBJECT* = 1350 (* {1, 2, 6, 8, 10} *);
		ERROR_CANT_ACCESS_DOMAIN_INFO* = 1351 (* {0..2, 6, 8, 10} *);
		ERROR_INVALID_SERVER_STATE* = 1352 (* {3, 6, 8, 10} *);
		ERROR_INVALID_DOMAIN_STATE* = 1353 (* {0, 3, 6, 8, 10} *);
		ERROR_INVALID_DOMAIN_ROLE* = 1354 (* {1, 3, 6, 8, 10} *);
		ERROR_NO_SUCH_DOMAIN* = 1355 (* {0, 1, 3, 6, 8, 10} *);
		ERROR_DOMAIN_EXISTS* = 1356 (* {2, 3, 6, 8, 10} *);
		ERROR_DOMAIN_LIMIT_EXCEEDED* = 1357 (* {0, 2, 3, 6, 8, 10} *);
		ERROR_INTERNAL_DB_CORRUPTION* = 1358 (* {1..3, 6, 8, 10} *);
		ERROR_INTERNAL_ERROR* = 1359 (* {0..3, 6, 8, 10} *);
		ERROR_GENERIC_NOT_MAPPED* = 1360 (* {4, 6, 8, 10} *);
		ERROR_BAD_DESCRIPTOR_FORMAT* = 1361 (* {0, 4, 6, 8, 10} *);
		ERROR_NOT_LOGON_PROCESS* = 1362 (* {1, 4, 6, 8, 10} *);
		ERROR_LOGON_SESSION_EXISTS* = 1363 (* {0, 1, 4, 6, 8, 10} *);
		ERROR_NO_SUCH_PACKAGE* = 1364 (* {2, 4, 6, 8, 10} *);
		ERROR_BAD_LOGON_SESSION_STATE* = 1365 (* {0, 2, 4, 6, 8, 10} *);
		ERROR_LOGON_SESSION_COLLISION* = 1366 (* {1, 2, 4, 6, 8, 10} *);
		ERROR_INVALID_LOGON_TYPE* = 1367 (* {0..2, 4, 6, 8, 10} *);
		ERROR_CANNOT_IMPERSONATE* = 1368 (* {3, 4, 6, 8, 10} *);
		ERROR_RXACT_INVALID_STATE* = 1369 (* {0, 3, 4, 6, 8, 10} *);
		ERROR_RXACT_COMMIT_FAILURE* = 1370 (* {1, 3, 4, 6, 8, 10} *);
		ERROR_SPECIAL_ACCOUNT* = 1371 (* {0, 1, 3, 4, 6, 8, 10} *);
		ERROR_SPECIAL_GROUP* = 1372 (* {2..4, 6, 8, 10} *);
		ERROR_SPECIAL_USER* = 1373 (* {0, 2..4, 6, 8, 10} *);
		ERROR_MEMBERS_PRIMARY_GROUP* = 1374 (* {1..4, 6, 8, 10} *);
		ERROR_TOKEN_ALREADY_IN_USE* = 1375 (* {0..4, 6, 8, 10} *);
		ERROR_NO_SUCH_ALIAS* = 1376 (* {5, 6, 8, 10} *);
		ERROR_MEMBER_NOT_IN_ALIAS* = 1377 (* {0, 5, 6, 8, 10} *);
		ERROR_MEMBER_IN_ALIAS* = 1378 (* {1, 5, 6, 8, 10} *);
		ERROR_ALIAS_EXISTS* = 1379 (* {0, 1, 5, 6, 8, 10} *);
		ERROR_LOGON_NOT_GRANTED* = 1380 (* {2, 5, 6, 8, 10} *);
		ERROR_TOO_MANY_SECRETS* = 1381 (* {0, 2, 5, 6, 8, 10} *);
		ERROR_SECRET_TOO_LONG* = 1382 (* {1, 2, 5, 6, 8, 10} *);
		ERROR_INTERNAL_DB_ERROR* = 1383 (* {0..2, 5, 6, 8, 10} *);
		ERROR_TOO_MANY_CONTEXT_IDS* = 1384 (* {3, 5, 6, 8, 10} *);
		ERROR_LOGON_TYPE_NOT_GRANTED* = 1385 (* {0, 3, 5, 6, 8, 10} *);
		ERROR_NT_CROSS_ENCRYPTION_REQUIRED* = 1386 (* {1, 3, 5, 6, 8, 10} *);
		ERROR_NO_SUCH_MEMBER* = 1387 (* {0, 1, 3, 5, 6, 8, 10} *);
		ERROR_INVALID_MEMBER* = 1388 (* {2, 3, 5, 6, 8, 10} *);
		ERROR_TOO_MANY_SIDS* = 1389 (* {0, 2, 3, 5, 6, 8, 10} *);
		ERROR_LM_CROSS_ENCRYPTION_REQUIRED* = 1390 (* {1..3, 5, 6, 8, 10} *);
		ERROR_NO_INHERITANCE* = 1391 (* {0..3, 5, 6, 8, 10} *);
		ERROR_FILE_CORRUPT* = 1392 (* {4..6, 8, 10} *);
		ERROR_DISK_CORRUPT* = 1393 (* {0, 4..6, 8, 10} *);
		ERROR_NO_USER_SESSION_KEY* = 1394 (* {1, 4..6, 8, 10} *);
		ERROR_LICENSE_QUOTA_EXCEEDED* = 1395 (* {0, 1, 4..6, 8, 10} *);
		ERROR_INVALID_WINDOW_HANDLE* = 1400 (* {3..6, 8, 10} *);
		ERROR_INVALID_MENU_HANDLE* = 1401 (* {0, 3..6, 8, 10} *);
		ERROR_INVALID_CURSOR_HANDLE* = 1402 (* {1, 3..6, 8, 10} *);
		ERROR_INVALID_ACCEL_HANDLE* = 1403 (* {0, 1, 3..6, 8, 10} *);
		ERROR_INVALID_HOOK_HANDLE* = 1404 (* {2..6, 8, 10} *);
		ERROR_INVALID_DWP_HANDLE* = 1405 (* {0, 2..6, 8, 10} *);
		ERROR_TLW_WITH_WSCHILD* = 1406 (* {1..6, 8, 10} *);
		ERROR_CANNOT_FIND_WND_CLASS* = 1407 (* {0..6, 8, 10} *);
		ERROR_WINDOW_OF_OTHER_THREAD* = 1408 (* {7, 8, 10} *);
		ERROR_HOTKEY_ALREADY_REGISTERED* = 1409 (* {0, 7, 8, 10} *);
		ERROR_CLASS_ALREADY_EXISTS* = 1410 (* {1, 7, 8, 10} *);
		ERROR_CLASS_DOES_NOT_EXIST* = 1411 (* {0, 1, 7, 8, 10} *);
		ERROR_CLASS_HAS_WINDOWS* = 1412 (* {2, 7, 8, 10} *);
		ERROR_INVALID_INDEX* = 1413 (* {0, 2, 7, 8, 10} *);
		ERROR_INVALID_ICON_HANDLE* = 1414 (* {1, 2, 7, 8, 10} *);
		ERROR_PRIVATE_DIALOG_INDEX* = 1415 (* {0..2, 7, 8, 10} *);
		ERROR_LISTBOX_ID_NOT_FOUND* = 1416 (* {3, 7, 8, 10} *);
		ERROR_NO_WILDCARD_CHARACTERS* = 1417 (* {0, 3, 7, 8, 10} *);
		ERROR_CLIPBOARD_NOT_OPEN* = 1418 (* {1, 3, 7, 8, 10} *);
		ERROR_HOTKEY_NOT_REGISTERED* = 1419 (* {0, 1, 3, 7, 8, 10} *);
		ERROR_WINDOW_NOT_DIALOG* = 1420 (* {2, 3, 7, 8, 10} *);
		ERROR_CONTROL_ID_NOT_FOUND* = 1421 (* {0, 2, 3, 7, 8, 10} *);
		ERROR_INVALID_COMBOBOX_MESSAGE* = 1422 (* {1..3, 7, 8, 10} *);
		ERROR_WINDOW_NOT_COMBOBOX* = 1423 (* {0..3, 7, 8, 10} *);
		ERROR_INVALID_EDIT_HEIGHT* = 1424 (* {4, 7, 8, 10} *);
		ERROR_DC_NOT_FOUND* = 1425 (* {0, 4, 7, 8, 10} *);
		ERROR_INVALID_HOOK_FILTER* = 1426 (* {1, 4, 7, 8, 10} *);
		ERROR_INVALID_FILTER_PROC* = 1427 (* {0, 1, 4, 7, 8, 10} *);
		ERROR_HOOK_NEEDS_HMOD* = 1428 (* {2, 4, 7, 8, 10} *);
		ERROR_GLOBAL_ONLY_HOOK* = 1429 (* {0, 2, 4, 7, 8, 10} *);
		ERROR_JOURNAL_HOOK_SET* = 1430 (* {1, 2, 4, 7, 8, 10} *);
		ERROR_HOOK_NOT_INSTALLED* = 1431 (* {0..2, 4, 7, 8, 10} *);
		ERROR_INVALID_LB_MESSAGE* = 1432 (* {3, 4, 7, 8, 10} *);
		ERROR_SETCOUNT_ON_BAD_LB* = 1433 (* {0, 3, 4, 7, 8, 10} *);
		ERROR_LB_WITHOUT_TABSTOPS* = 1434 (* {1, 3, 4, 7, 8, 10} *);
		ERROR_DESTROY_OBJECT_OF_OTHER_THREAD* = 1435 (* {0, 1, 3, 4, 7, 8, 10} *);
		ERROR_CHILD_WINDOW_MENU* = 1436 (* {2..4, 7, 8, 10} *);
		ERROR_NO_SYSTEM_MENU* = 1437 (* {0, 2..4, 7, 8, 10} *);
		ERROR_INVALID_MSGBOX_STYLE* = 1438 (* {1..4, 7, 8, 10} *);
		ERROR_INVALID_SPI_VALUE* = 1439 (* {0..4, 7, 8, 10} *);
		ERROR_SCREEN_ALREADY_LOCKED* = 1440 (* {5, 7, 8, 10} *);
		ERROR_HWNDS_HAVE_DIFF_PARENT* = 1441 (* {0, 5, 7, 8, 10} *);
		ERROR_NOT_CHILD_WINDOW* = 1442 (* {1, 5, 7, 8, 10} *);
		ERROR_INVALID_GW_COMMAND* = 1443 (* {0, 1, 5, 7, 8, 10} *);
		ERROR_INVALID_THREAD_ID* = 1444 (* {2, 5, 7, 8, 10} *);
		ERROR_NON_MDICHILD_WINDOW* = 1445 (* {0, 2, 5, 7, 8, 10} *);
		ERROR_POPUP_ALREADY_ACTIVE* = 1446 (* {1, 2, 5, 7, 8, 10} *);
		ERROR_NO_SCROLLBARS* = 1447 (* {0..2, 5, 7, 8, 10} *);
		ERROR_INVALID_SCROLLBAR_RANGE* = 1448 (* {3, 5, 7, 8, 10} *);
		ERROR_INVALID_SHOWWIN_COMMAND* = 1449 (* {0, 3, 5, 7, 8, 10} *);
		ERROR_NO_SYSTEM_RESOURCES* = 1450 (* {1, 3, 5, 7, 8, 10} *);
		ERROR_NONPAGED_SYSTEM_RESOURCES* = 1451 (* {0, 1, 3, 5, 7, 8, 10} *);
		ERROR_PAGED_SYSTEM_RESOURCES* = 1452 (* {2, 3, 5, 7, 8, 10} *);
		ERROR_WORKING_SET_QUOTA* = 1453 (* {0, 2, 3, 5, 7, 8, 10} *);
		ERROR_PAGEFILE_QUOTA* = 1454 (* {1..3, 5, 7, 8, 10} *);
		ERROR_COMMITMENT_LIMIT* = 1455 (* {0..3, 5, 7, 8, 10} *);
		ERROR_MENU_ITEM_NOT_FOUND* = 1456 (* {4, 5, 7, 8, 10} *);
		ERROR_EVENTLOG_FILE_CORRUPT* = 1500 (* {2..4, 6..8, 10} *);
		ERROR_EVENTLOG_CANT_START* = 1501 (* {0, 2..4, 6..8, 10} *);
		ERROR_LOG_FILE_FULL* = 1502 (* {1..4, 6..8, 10} *);
		ERROR_EVENTLOG_FILE_CHANGED* = 1503 (* {0..4, 6..8, 10} *);
		RPC_S_INVALID_STRING_BINDING* = 1700 (* {2, 5, 7, 9, 10} *);
		RPC_S_WRONG_KIND_OF_BINDING* = 1701 (* {0, 2, 5, 7, 9, 10} *);
		RPC_S_INVALID_BINDING* = 1702 (* {1, 2, 5, 7, 9, 10} *);
		RPC_S_PROTSEQ_NOT_SUPPORTED* = 1703 (* {0..2, 5, 7, 9, 10} *);
		RPC_S_INVALID_RPC_PROTSEQ* = 1704 (* {3, 5, 7, 9, 10} *);
		RPC_S_INVALID_STRING_UUID* = 1705 (* {0, 3, 5, 7, 9, 10} *);
		RPC_S_INVALID_ENDPOINT_FORMAT* = 1706 (* {1, 3, 5, 7, 9, 10} *);
		RPC_S_INVALID_NET_ADDR* = 1707 (* {0, 1, 3, 5, 7, 9, 10} *);
		RPC_S_NO_ENDPOINT_FOUND* = 1708 (* {2, 3, 5, 7, 9, 10} *);
		RPC_S_INVALID_TIMEOUT* = 1709 (* {0, 2, 3, 5, 7, 9, 10} *);
		RPC_S_OBJECT_NOT_FOUND* = 1710 (* {1..3, 5, 7, 9, 10} *);
		RPC_S_ALREADY_REGISTERED* = 1711 (* {0..3, 5, 7, 9, 10} *);
		RPC_S_TYPE_ALREADY_REGISTERED* = 1712 (* {4, 5, 7, 9, 10} *);
		RPC_S_ALREADY_LISTENING* = 1713 (* {0, 4, 5, 7, 9, 10} *);
		RPC_S_NO_PROTSEQS_REGISTERED* = 1714 (* {1, 4, 5, 7, 9, 10} *);
		RPC_S_NOT_LISTENING* = 1715 (* {0, 1, 4, 5, 7, 9, 10} *);
		RPC_S_UNKNOWN_MGR_TYPE* = 1716 (* {2, 4, 5, 7, 9, 10} *);
		RPC_S_UNKNOWN_IF* = 1717 (* {0, 2, 4, 5, 7, 9, 10} *);
		RPC_S_NO_BINDINGS* = 1718 (* {1, 2, 4, 5, 7, 9, 10} *);
		RPC_S_NO_PROTSEQS* = 1719 (* {0..2, 4, 5, 7, 9, 10} *);
		RPC_S_CANT_CREATE_ENDPOINT* = 1720 (* {3..5, 7, 9, 10} *);
		RPC_S_OUT_OF_RESOURCES* = 1721 (* {0, 3..5, 7, 9, 10} *);
		RPC_S_SERVER_UNAVAILABLE* = 1722 (* {1, 3..5, 7, 9, 10} *);
		RPC_S_SERVER_TOO_BUSY* = 1723 (* {0, 1, 3..5, 7, 9, 10} *);
		RPC_S_INVALID_NETWORK_OPTIONS* = 1724 (* {2..5, 7, 9, 10} *);
		RPC_S_NO_CALL_ACTIVE* = 1725 (* {0, 2..5, 7, 9, 10} *);
		RPC_S_CALL_FAILED* = 1726 (* {1..5, 7, 9, 10} *);
		RPC_S_CALL_FAILED_DNE* = 1727 (* {0..5, 7, 9, 10} *);
		RPC_S_PROTOCOL_ERROR* = 1728 (* {6, 7, 9, 10} *);
		RPC_S_UNSUPPORTED_TRANS_SYN* = 1730 (* {1, 6, 7, 9, 10} *);
		RPC_S_UNSUPPORTED_TYPE* = 1732 (* {2, 6, 7, 9, 10} *);
		RPC_S_INVALID_TAG* = 1733 (* {0, 2, 6, 7, 9, 10} *);
		RPC_S_INVALID_BOUND* = 1734 (* {1, 2, 6, 7, 9, 10} *);
		RPC_S_NO_ENTRY_NAME* = 1735 (* {0..2, 6, 7, 9, 10} *);
		RPC_S_INVALID_NAME_SYNTAX* = 1736 (* {3, 6, 7, 9, 10} *);
		RPC_S_UNSUPPORTED_NAME_SYNTAX* = 1737 (* {0, 3, 6, 7, 9, 10} *);
		RPC_S_UUID_NO_ADDRESS* = 1739 (* {0, 1, 3, 6, 7, 9, 10} *);
		RPC_S_DUPLICATE_ENDPOINT* = 1740 (* {2, 3, 6, 7, 9, 10} *);
		RPC_S_UNKNOWN_AUTHN_TYPE* = 1741 (* {0, 2, 3, 6, 7, 9, 10} *);
		RPC_S_MAX_CALLS_TOO_SMALL* = 1742 (* {1..3, 6, 7, 9, 10} *);
		RPC_S_STRING_TOO_LONG* = 1743 (* {0..3, 6, 7, 9, 10} *);
		RPC_S_PROTSEQ_NOT_FOUND* = 1744 (* {4, 6, 7, 9, 10} *);
		RPC_S_PROCNUM_OUT_OF_RANGE* = 1745 (* {0, 4, 6, 7, 9, 10} *);
		RPC_S_BINDING_HAS_NO_AUTH* = 1746 (* {1, 4, 6, 7, 9, 10} *);
		RPC_S_UNKNOWN_AUTHN_SERVICE* = 1747 (* {0, 1, 4, 6, 7, 9, 10} *);
		RPC_S_UNKNOWN_AUTHN_LEVEL* = 1748 (* {2, 4, 6, 7, 9, 10} *);
		RPC_S_INVALID_AUTH_IDENTITY* = 1749 (* {0, 2, 4, 6, 7, 9, 10} *);
		RPC_S_UNKNOWN_AUTHZ_SERVICE* = 1750 (* {1, 2, 4, 6, 7, 9, 10} *);
		EPT_S_INVALID_ENTRY* = 1751 (* {0..2, 4, 6, 7, 9, 10} *);
		EPT_S_CANT_PERFORM_OP* = 1752 (* {3, 4, 6, 7, 9, 10} *);
		EPT_S_NOT_REGISTERED* = 1753 (* {0, 3, 4, 6, 7, 9, 10} *);
		RPC_S_NOTHING_TO_EXPORT* = 1754 (* {1, 3, 4, 6, 7, 9, 10} *);
		RPC_S_INCOMPLETE_NAME* = 1755 (* {0, 1, 3, 4, 6, 7, 9, 10} *);
		RPC_S_INVALID_VERS_OPTION* = 1756 (* {2..4, 6, 7, 9, 10} *);
		RPC_S_NO_MORE_MEMBERS* = 1757 (* {0, 2..4, 6, 7, 9, 10} *);
		RPC_S_NOT_ALL_OBJS_UNEXPORTED* = 1758 (* {1..4, 6, 7, 9, 10} *);
		RPC_S_INTERFACE_NOT_FOUND* = 1759 (* {0..4, 6, 7, 9, 10} *);
		RPC_S_ENTRY_ALREADY_EXISTS* = 1760 (* {5..7, 9, 10} *);
		RPC_S_ENTRY_NOT_FOUND* = 1761 (* {0, 5..7, 9, 10} *);
		RPC_S_NAME_SERVICE_UNAVAILABLE* = 1762 (* {1, 5..7, 9, 10} *);
		RPC_S_INVALID_NAF_ID* = 1763 (* {0, 1, 5..7, 9, 10} *);
		RPC_S_CANNOT_SUPPORT* = 1764 (* {2, 5..7, 9, 10} *);
		RPC_S_NO_CONTEXT_AVAILABLE* = 1765 (* {0, 2, 5..7, 9, 10} *);
		RPC_S_INTERNAL_ERROR* = 1766 (* {1, 2, 5..7, 9, 10} *);
		RPC_S_ZERO_DIVIDE* = 1767 (* {0..2, 5..7, 9, 10} *);
		RPC_S_ADDRESS_ERROR* = 1768 (* {3, 5..7, 9, 10} *);
		RPC_S_FP_DIV_ZERO* = 1769 (* {0, 3, 5..7, 9, 10} *);
		RPC_S_FP_UNDERFLOW* = 1770 (* {1, 3, 5..7, 9, 10} *);
		RPC_S_FP_OVERFLOW* = 1771 (* {0, 1, 3, 5..7, 9, 10} *);
		RPC_X_NO_MORE_ENTRIES* = 1772 (* {2, 3, 5..7, 9, 10} *);
		RPC_X_SS_CHAR_TRANS_OPEN_FAIL* = 1773 (* {0, 2, 3, 5..7, 9, 10} *);
		RPC_X_SS_CHAR_TRANS_SHORT_FILE* = 1774 (* {1..3, 5..7, 9, 10} *);
		RPC_X_SS_IN_NULL_CONTEXT* = 1775 (* {0..3, 5..7, 9, 10} *);
		RPC_X_SS_CONTEXT_DAMAGED* = 1777 (* {0, 4..7, 9, 10} *);
		RPC_X_SS_HANDLES_MISMATCH* = 1778 (* {1, 4..7, 9, 10} *);
		RPC_X_SS_CANNOT_GET_CALL_HANDLE* = 1779 (* {0, 1, 4..7, 9, 10} *);
		RPC_X_NULL_REF_POINTER* = 1780 (* {2, 4..7, 9, 10} *);
		RPC_X_ENUM_VALUE_OUT_OF_RANGE* = 1781 (* {0, 2, 4..7, 9, 10} *);
		RPC_X_BYTE_COUNT_TOO_SMALL* = 1782 (* {1, 2, 4..7, 9, 10} *);
		RPC_X_BAD_STUB_DATA* = 1783 (* {0..2, 4..7, 9, 10} *);
		ERROR_INVALID_USER_BUFFER* = 1784 (* {3..7, 9, 10} *);
		ERROR_UNRECOGNIZED_MEDIA* = 1785 (* {0, 3..7, 9, 10} *);
		ERROR_NO_TRUST_LSA_SECRET* = 1786 (* {1, 3..7, 9, 10} *);
		ERROR_NO_TRUST_SAM_ACCOUNT* = 1787 (* {0, 1, 3..7, 9, 10} *);
		ERROR_TRUSTED_DOMAIN_FAILURE* = 1788 (* {2..7, 9, 10} *);
		ERROR_TRUSTED_RELATIONSHIP_FAILURE* = 1789 (* {0, 2..7, 9, 10} *);
		ERROR_TRUST_FAILURE* = 1790 (* {1..7, 9, 10} *);
		RPC_S_CALL_IN_PROGRESS* = 1791 (* {0..7, 9, 10} *);
		ERROR_NETLOGON_NOT_STARTED* = 1792 (* {8..10} *);
		ERROR_ACCOUNT_EXPIRED* = 1793 (* {0, 8..10} *);
		ERROR_REDIRECTOR_HAS_OPEN_HANDLES* = 1794 (* {1, 8..10} *);
		ERROR_PRINTER_DRIVER_ALREADY_INSTALLED* = 1795 (* {0, 1, 8..10} *);
		ERROR_UNKNOWN_PORT* = 1796 (* {2, 8..10} *);
		ERROR_UNKNOWN_PRINTER_DRIVER* = 1797 (* {0, 2, 8..10} *);
		ERROR_UNKNOWN_PRINTPROCESSOR* = 1798 (* {1, 2, 8..10} *);
		ERROR_INVALID_SEPARATOR_FILE* = 1799 (* {0..2, 8..10} *);
		ERROR_INVALID_PRIORITY* = 1800 (* {3, 8..10} *);
		ERROR_INVALID_PRINTER_NAME* = 1801 (* {0, 3, 8..10} *);
		ERROR_PRINTER_ALREADY_EXISTS* = 1802 (* {1, 3, 8..10} *);
		ERROR_INVALID_PRINTER_COMMAND* = 1803 (* {0, 1, 3, 8..10} *);
		ERROR_INVALID_DATATYPE* = 1804 (* {2, 3, 8..10} *);
		ERROR_INVALID_ENVIRONMENT* = 1805 (* {0, 2, 3, 8..10} *);
		RPC_S_NO_MORE_BINDINGS* = 1806 (* {1..3, 8..10} *);
		ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT* = 1807 (* {0..3, 8..10} *);
		ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT* = 1808 (* {4, 8..10} *);
		ERROR_NOLOGON_SERVER_TRUST_ACCOUNT* = 1809 (* {0, 4, 8..10} *);
		ERROR_DOMAIN_TRUST_INCONSISTENT* = 1810 (* {1, 4, 8..10} *);
		ERROR_SERVER_HAS_OPEN_HANDLES* = 1811 (* {0, 1, 4, 8..10} *);
		ERROR_RESOURCE_DATA_NOT_FOUND* = 1812 (* {2, 4, 8..10} *);
		ERROR_RESOURCE_TYPE_NOT_FOUND* = 1813 (* {0, 2, 4, 8..10} *);
		ERROR_RESOURCE_NAME_NOT_FOUND* = 1814 (* {1, 2, 4, 8..10} *);
		ERROR_RESOURCE_LANG_NOT_FOUND* = 1815 (* {0..2, 4, 8..10} *);
		ERROR_NOT_ENOUGH_QUOTA* = 1816 (* {3, 4, 8..10} *);
		RPC_S_NO_INTERFACES* = 1817 (* {0, 3, 4, 8..10} *);
		RPC_S_CALL_CANCELLED* = 1818 (* {1, 3, 4, 8..10} *);
		RPC_S_BINDING_INCOMPLETE* = 1819 (* {0, 1, 3, 4, 8..10} *);
		RPC_S_COMM_FAILURE* = 1820 (* {2..4, 8..10} *);
		RPC_S_UNSUPPORTED_AUTHN_LEVEL* = 1821 (* {0, 2..4, 8..10} *);
		RPC_S_NO_PRINC_NAME* = 1822 (* {1..4, 8..10} *);
		RPC_S_NOT_RPC_ERROR* = 1823 (* {0..4, 8..10} *);
		RPC_S_UUID_LOCAL_ONLY* = 1824 (* {5, 8..10} *);
		RPC_S_SEC_PKG_ERROR* = 1825 (* {0, 5, 8..10} *);
		RPC_S_NOT_CANCELLED* = 1826 (* {1, 5, 8..10} *);
		RPC_X_INVALID_ES_ACTION* = 1827 (* {0, 1, 5, 8..10} *);
		RPC_X_WRONG_ES_VERSION* = 1828 (* {2, 5, 8..10} *);
		RPC_X_WRONG_STUB_VERSION* = 1829 (* {0, 2, 5, 8..10} *);
		RPC_S_GROUP_MEMBER_NOT_FOUND* = 1898 (* {1, 3, 5, 6, 8..10} *);
		EPT_S_CANT_CREATE* = 1899 (* {0, 1, 3, 5, 6, 8..10} *);
		RPC_S_INVALID_OBJECT* = 1900 (* {2, 3, 5, 6, 8..10} *);
		ERROR_INVALID_TIME* = 1901 (* {0, 2, 3, 5, 6, 8..10} *);
		ERROR_INVALID_FORM_NAME* = 1902 (* {1..3, 5, 6, 8..10} *);
		ERROR_INVALID_FORM_SIZE* = 1903 (* {0..3, 5, 6, 8..10} *);
		ERROR_ALREADY_WAITING* = 1904 (* {4..6, 8..10} *);
		ERROR_PRINTER_DELETED* = 1905 (* {0, 4..6, 8..10} *);
		ERROR_INVALID_PRINTER_STATE* = 1906 (* {1, 4..6, 8..10} *);
		ERROR_PASSWORD_MUST_CHANGE* = 1907 (* {0, 1, 4..6, 8..10} *);
		ERROR_DOMAIN_CONTROLLER_NOT_FOUND* = 1908 (* {2, 4..6, 8..10} *);
		ERROR_ACCOUNT_LOCKED_OUT* = 1909 (* {0, 2, 4..6, 8..10} *);
		ERROR_NO_BROWSER_SERVERS_FOUND* = 6118 (* {1, 2, 5..10, 12} *);
		ERROR_INVALID_PIXEL_FORMAT* = 2000 (* {4, 6..10} *);
		ERROR_BAD_DRIVER* = 2001 (* {0, 4, 6..10} *);
		ERROR_INVALID_WINDOW_STYLE* = 2002 (* {1, 4, 6..10} *);
		ERROR_METAFILE_NOT_SUPPORTED* = 2003 (* {0, 1, 4, 6..10} *);
		ERROR_TRANSFORM_NOT_SUPPORTED* = 2004 (* {2, 4, 6..10} *);
		ERROR_CLIPPING_NOT_SUPPORTED* = 2005 (* {0, 2, 4, 6..10} *);
		ERROR_UNKNOWN_PRINT_MONITOR* = 3000 (* {3..5, 7..9, 11} *);
		ERROR_PRINTER_DRIVER_IN_USE* = 3001 (* {0, 3..5, 7..9, 11} *);
		ERROR_SPOOL_FILE_NOT_FOUND* = 3002 (* {1, 3..5, 7..9, 11} *);
		ERROR_SPL_NO_STARTDOC* = 3003 (* {0, 1, 3..5, 7..9, 11} *);
		ERROR_SPL_NO_ADDJOB* = 3004 (* {2..5, 7..9, 11} *);
		ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED* = 3005 (* {0, 2..5, 7..9, 11} *);
		ERROR_PRINT_MONITOR_ALREADY_INSTALLED* = 3006 (* {1..5, 7..9, 11} *);
		ERROR_WINS_INTERNAL* = 4000 (* {5, 7..11} *);
		ERROR_CAN_NOT_DEL_LOCAL_WINS* = 4001 (* {0, 5, 7..11} *);
		ERROR_STATIC_INIT* = 4002 (* {1, 5, 7..11} *);
		ERROR_INC_BACKUP* = 4003 (* {0, 1, 5, 7..11} *);
		ERROR_FULL_BACKUP* = 4004 (* {2, 5, 7..11} *);
		ERROR_REC_NON_EXISTENT* = 4005 (* {0, 2, 5, 7..11} *);
		ERROR_RPL_NOT_ALLOWED* = 4006 (* {1, 2, 5, 7..11} *);
		SEVERITY_SUCCESS* = 0 (* {} *);
		SEVERITY_ERROR* = 1 (* {0} *);
		FACILITY_NT_BIT* = 268435456 (* {28} *);
		NOERROR* = 0 (* {} *);
		E_UNEXPECTED* = -2147418113 (* {0..15, 31} *);
		E_NOTIMPL* = -2147467263 (* {0, 14, 31} *);
		E_OUTOFMEMORY* = -2147024882 (* {1..3, 16..18, 31} *);
		E_INVALIDARG* = -2147024809 (* {0..2, 4, 6, 16..18, 31} *);
		E_NOINTERFACE* = -2147467262 (* {1, 14, 31} *);
		E_POINTER* = -2147467261 (* {0, 1, 14, 31} *);
		E_HANDLE* = -2147024890 (* {1, 2, 16..18, 31} *);
		E_ABORT* = -2147467260 (* {2, 14, 31} *);
		E_FAIL* = -2147467259 (* {0, 2, 14, 31} *);
		E_ACCESSDENIED* = -2147024891 (* {0, 2, 16..18, 31} *);
		E_PENDING* = -2147024889 (* {0..2, 16..18, 31} *);
		CO_E_INIT_TLS* = -2147467258 (* {1, 2, 14, 31} *);
		CO_E_INIT_SHARED_ALLOCATOR* = -2147467257 (* {0..2, 14, 31} *);
		CO_E_INIT_MEMORY_ALLOCATOR* = -2147467256 (* {3, 14, 31} *);
		CO_E_INIT_CLASS_CACHE* = -2147467255 (* {0, 3, 14, 31} *);
		CO_E_INIT_RPC_CHANNEL* = -2147467254 (* {1, 3, 14, 31} *);
		CO_E_INIT_TLS_SET_CHANNEL_CONTROL* = -2147467253 (* {0, 1, 3, 14, 31} *);
		CO_E_INIT_TLS_CHANNEL_CONTROL* = -2147467252 (* {2, 3, 14, 31} *);
		CO_E_INIT_UNACCEPTED_USER_ALLOCATOR* = -2147467251 (* {0, 2, 3, 14, 31} *);
		CO_E_INIT_SCM_MUTEX_EXISTS* = -2147467250 (* {1..3, 14, 31} *);
		CO_E_INIT_SCM_FILE_MAPPING_EXISTS* = -2147467249 (* {0..3, 14, 31} *);
		CO_E_INIT_SCM_MAP_VIEW_OF_FILE* = -2147467248 (* {4, 14, 31} *);
		CO_E_INIT_SCM_EXEC_FAILURE* = -2147467247 (* {0, 4, 14, 31} *);
		CO_E_INIT_ONLY_SINGLE_THREADED* = -2147467246 (* {1, 4, 14, 31} *);
		S_OK* = 0 (* {} *);
		S_FALSE* = 1 (* {0} *);
		OLE_E_FIRST* = -2147221504 (* {18, 31} *);
		OLE_E_LAST* = -2147221249 (* {0..7, 18, 31} *);
		OLE_S_FIRST* = 262144 (* {18} *);
		OLE_S_LAST* = 262399 (* {0..7, 18} *);
		OLE_E_OLEVERB* = -2147221504 (* {18, 31} *);
		OLE_E_ADVF* = -2147221503 (* {0, 18, 31} *);
		OLE_E_ENUM_NOMORE* = -2147221502 (* {1, 18, 31} *);
		OLE_E_ADVISENOTSUPPORTED* = -2147221501 (* {0, 1, 18, 31} *);
		OLE_E_NOCONNECTION* = -2147221500 (* {2, 18, 31} *);
		OLE_E_NOTRUNNING* = -2147221499 (* {0, 2, 18, 31} *);
		OLE_E_NOCACHE* = -2147221498 (* {1, 2, 18, 31} *);
		OLE_E_BLANK* = -2147221497 (* {0..2, 18, 31} *);
		OLE_E_CLASSDIFF* = -2147221496 (* {3, 18, 31} *);
		OLE_E_CANT_GETMONIKER* = -2147221495 (* {0, 3, 18, 31} *);
		OLE_E_CANT_BINDTOSOURCE* = -2147221494 (* {1, 3, 18, 31} *);
		OLE_E_STATIC* = -2147221493 (* {0, 1, 3, 18, 31} *);
		OLE_E_PROMPTSAVECANCELLED* = -2147221492 (* {2, 3, 18, 31} *);
		OLE_E_INVALIDRECT* = -2147221491 (* {0, 2, 3, 18, 31} *);
		OLE_E_WRONGCOMPOBJ* = -2147221490 (* {1..3, 18, 31} *);
		OLE_E_INVALIDHWND* = -2147221489 (* {0..3, 18, 31} *);
		OLE_E_NOT_INPLACEACTIVE* = -2147221488 (* {4, 18, 31} *);
		OLE_E_CANTCONVERT* = -2147221487 (* {0, 4, 18, 31} *);
		OLE_E_NOSTORAGE* = -2147221486 (* {1, 4, 18, 31} *);
		DV_E_FORMATETC* = -2147221404 (* {2, 5, 6, 18, 31} *);
		DV_E_DVTARGETDEVICE* = -2147221403 (* {0, 2, 5, 6, 18, 31} *);
		DV_E_STGMEDIUM* = -2147221402 (* {1, 2, 5, 6, 18, 31} *);
		DV_E_STATDATA* = -2147221401 (* {0..2, 5, 6, 18, 31} *);
		DV_E_LINDEX* = -2147221400 (* {3, 5, 6, 18, 31} *);
		DV_E_TYMED* = -2147221399 (* {0, 3, 5, 6, 18, 31} *);
		DV_E_CLIPFORMAT* = -2147221398 (* {1, 3, 5, 6, 18, 31} *);
		DV_E_DVASPECT* = -2147221397 (* {0, 1, 3, 5, 6, 18, 31} *);
		DV_E_DVTARGETDEVICE_SIZE* = -2147221396 (* {2, 3, 5, 6, 18, 31} *);
		DV_E_NOIVIEWOBJECT* = -2147221395 (* {0, 2, 3, 5, 6, 18, 31} *);
		DRAGDROP_E_FIRST* = -2147221248 (* {8, 18, 31} *);
		DRAGDROP_E_LAST* = -2147221233 (* {0..3, 8, 18, 31} *);
		DRAGDROP_S_FIRST* = 262400 (* {8, 18} *);
		DRAGDROP_S_LAST* = 262415 (* {0..3, 8, 18} *);
		DRAGDROP_E_NOTREGISTERED* = -2147221248 (* {8, 18, 31} *);
		DRAGDROP_E_ALREADYREGISTERED* = -2147221247 (* {0, 8, 18, 31} *);
		DRAGDROP_E_INVALIDHWND* = -2147221246 (* {1, 8, 18, 31} *);
		CLASSFACTORY_E_FIRST* = -2147221232 (* {4, 8, 18, 31} *);
		CLASSFACTORY_E_LAST* = -2147221217 (* {0..4, 8, 18, 31} *);
		CLASSFACTORY_S_FIRST* = 262416 (* {4, 8, 18} *);
		CLASSFACTORY_S_LAST* = 262431 (* {0..4, 8, 18} *);
		CLASS_E_NOAGGREGATION* = -2147221232 (* {4, 8, 18, 31} *);
		CLASS_E_CLASSNOTAVAILABLE* = -2147221231 (* {0, 4, 8, 18, 31} *);
		MARSHAL_E_FIRST* = -2147221216 (* {5, 8, 18, 31} *);
		MARSHAL_E_LAST* = -2147221201 (* {0..3, 5, 8, 18, 31} *);
		MARSHAL_S_FIRST* = 262432 (* {5, 8, 18} *);
		MARSHAL_S_LAST* = 262447 (* {0..3, 5, 8, 18} *);
		DATA_E_FIRST* = -2147221200 (* {4, 5, 8, 18, 31} *);
		DATA_E_LAST* = -2147221185 (* {0..5, 8, 18, 31} *);
		DATA_S_FIRST* = 262448 (* {4, 5, 8, 18} *);
		DATA_S_LAST* = 262463 (* {0..5, 8, 18} *);
		VIEW_E_FIRST* = -2147221184 (* {6, 8, 18, 31} *);
		VIEW_E_LAST* = -2147221169 (* {0..3, 6, 8, 18, 31} *);
		VIEW_S_FIRST* = 262464 (* {6, 8, 18} *);
		VIEW_S_LAST* = 262479 (* {0..3, 6, 8, 18} *);
		VIEW_E_DRAW* = -2147221184 (* {6, 8, 18, 31} *);
		REGDB_E_FIRST* = -2147221168 (* {4, 6, 8, 18, 31} *);
		REGDB_E_LAST* = -2147221153 (* {0..4, 6, 8, 18, 31} *);
		REGDB_S_FIRST* = 262480 (* {4, 6, 8, 18} *);
		REGDB_S_LAST* = 262495 (* {0..4, 6, 8, 18} *);
		REGDB_E_READREGDB* = -2147221168 (* {4, 6, 8, 18, 31} *);
		REGDB_E_WRITEREGDB* = -2147221167 (* {0, 4, 6, 8, 18, 31} *);
		REGDB_E_KEYMISSING* = -2147221166 (* {1, 4, 6, 8, 18, 31} *);
		REGDB_E_INVALIDVALUE* = -2147221165 (* {0, 1, 4, 6, 8, 18, 31} *);
		REGDB_E_CLASSNOTREG* = -2147221164 (* {2, 4, 6, 8, 18, 31} *);
		REGDB_E_IIDNOTREG* = -2147221163 (* {0, 2, 4, 6, 8, 18, 31} *);
		CACHE_E_FIRST* = -2147221136 (* {4..6, 8, 18, 31} *);
		CACHE_E_LAST* = -2147221121 (* {0..6, 8, 18, 31} *);
		CACHE_S_FIRST* = 262512 (* {4..6, 8, 18} *);
		CACHE_S_LAST* = 262527 (* {0..6, 8, 18} *);
		CACHE_E_NOCACHE_UPDATED* = -2147221136 (* {4..6, 8, 18, 31} *);
		OLEOBJ_E_FIRST* = -2147221120 (* {7, 8, 18, 31} *);
		OLEOBJ_E_LAST* = -2147221105 (* {0..3, 7, 8, 18, 31} *);
		OLEOBJ_S_FIRST* = 262528 (* {7, 8, 18} *);
		OLEOBJ_S_LAST* = 262543 (* {0..3, 7, 8, 18} *);
		OLEOBJ_E_NOVERBS* = -2147221120 (* {7, 8, 18, 31} *);
		OLEOBJ_E_INVALIDVERB* = -2147221119 (* {0, 7, 8, 18, 31} *);
		CLIENTSITE_E_FIRST* = -2147221104 (* {4, 7, 8, 18, 31} *);
		CLIENTSITE_E_LAST* = -2147221089 (* {0..4, 7, 8, 18, 31} *);
		CLIENTSITE_S_FIRST* = 262544 (* {4, 7, 8, 18} *);
		CLIENTSITE_S_LAST* = 262559 (* {0..4, 7, 8, 18} *);
		INPLACE_E_NOTUNDOABLE* = -2147221088 (* {5, 7, 8, 18, 31} *);
		INPLACE_E_NOTOOLSPACE* = -2147221087 (* {0, 5, 7, 8, 18, 31} *);
		INPLACE_E_FIRST* = -2147221088 (* {5, 7, 8, 18, 31} *);
		INPLACE_E_LAST* = -2147221073 (* {0..3, 5, 7, 8, 18, 31} *);
		INPLACE_S_FIRST* = 262560 (* {5, 7, 8, 18} *);
		INPLACE_S_LAST* = 262575 (* {0..3, 5, 7, 8, 18} *);
		ENUM_E_FIRST* = -2147221072 (* {4, 5, 7, 8, 18, 31} *);
		ENUM_E_LAST* = -2147221057 (* {0..5, 7, 8, 18, 31} *);
		ENUM_S_FIRST* = 262576 (* {4, 5, 7, 8, 18} *);
		ENUM_S_LAST* = 262591 (* {0..5, 7, 8, 18} *);
		CONVERT10_E_FIRST* = -2147221056 (* {6..8, 18, 31} *);
		CONVERT10_E_LAST* = -2147221041 (* {0..3, 6..8, 18, 31} *);
		CONVERT10_S_FIRST* = 262592 (* {6..8, 18} *);
		CONVERT10_S_LAST* = 262607 (* {0..3, 6..8, 18} *);
		CONVERT10_E_OLESTREAM_GET* = -2147221056 (* {6..8, 18, 31} *);
		CONVERT10_E_OLESTREAM_PUT* = -2147221055 (* {0, 6..8, 18, 31} *);
		CONVERT10_E_OLESTREAM_FMT* = -2147221054 (* {1, 6..8, 18, 31} *);
		CONVERT10_E_OLESTREAM_BITMAP_TO_DIB* = -2147221053 (* {0, 1, 6..8, 18, 31} *);
		CONVERT10_E_STG_FMT* = -2147221052 (* {2, 6..8, 18, 31} *);
		CONVERT10_E_STG_NO_STD_STREAM* = -2147221051 (* {0, 2, 6..8, 18, 31} *);
		CONVERT10_E_STG_DIB_TO_BITMAP* = -2147221050 (* {1, 2, 6..8, 18, 31} *);
		CLIPBRD_E_FIRST* = -2147221040 (* {4, 6..8, 18, 31} *);
		CLIPBRD_E_LAST* = -2147221025 (* {0..4, 6..8, 18, 31} *);
		CLIPBRD_S_FIRST* = 262608 (* {4, 6..8, 18} *);
		CLIPBRD_S_LAST* = 262623 (* {0..4, 6..8, 18} *);
		CLIPBRD_E_CANT_OPEN* = -2147221040 (* {4, 6..8, 18, 31} *);
		CLIPBRD_E_CANT_EMPTY* = -2147221039 (* {0, 4, 6..8, 18, 31} *);
		CLIPBRD_E_CANT_SET* = -2147221038 (* {1, 4, 6..8, 18, 31} *);
		CLIPBRD_E_BAD_DATA* = -2147221037 (* {0, 1, 4, 6..8, 18, 31} *);
		CLIPBRD_E_CANT_CLOSE* = -2147221036 (* {2, 4, 6..8, 18, 31} *);
		MK_E_FIRST* = -2147221024 (* {5..8, 18, 31} *);
		MK_E_LAST* = -2147221009 (* {0..3, 5..8, 18, 31} *);
		MK_S_FIRST* = 262624 (* {5..8, 18} *);
		MK_S_LAST* = 262639 (* {0..3, 5..8, 18} *);
		MK_E_CONNECTMANUALLY* = -2147221024 (* {5..8, 18, 31} *);
		MK_E_EXCEEDEDDEADLINE* = -2147221023 (* {0, 5..8, 18, 31} *);
		MK_E_NEEDGENERIC* = -2147221022 (* {1, 5..8, 18, 31} *);
		MK_E_UNAVAILABLE* = -2147221021 (* {0, 1, 5..8, 18, 31} *);
		MK_E_SYNTAX* = -2147221020 (* {2, 5..8, 18, 31} *);
		MK_E_NOOBJECT* = -2147221019 (* {0, 2, 5..8, 18, 31} *);
		MK_E_INVALIDEXTENSION* = -2147221018 (* {1, 2, 5..8, 18, 31} *);
		MK_E_INTERMEDIATEINTERFACENOTSUPPORTED* = -2147221017 (* {0..2, 5..8, 18, 31} *);
		MK_E_NOTBINDABLE* = -2147221016 (* {3, 5..8, 18, 31} *);
		MK_E_NOTBOUND* = -2147221015 (* {0, 3, 5..8, 18, 31} *);
		MK_E_CANTOPENFILE* = -2147221014 (* {1, 3, 5..8, 18, 31} *);
		MK_E_MUSTBOTHERUSER* = -2147221013 (* {0, 1, 3, 5..8, 18, 31} *);
		MK_E_NOINVERSE* = -2147221012 (* {2, 3, 5..8, 18, 31} *);
		MK_E_NOSTORAGE* = -2147221011 (* {0, 2, 3, 5..8, 18, 31} *);
		MK_E_NOPREFIX* = -2147221010 (* {1..3, 5..8, 18, 31} *);
		MK_E_ENUMERATION_FAILED* = -2147221009 (* {0..3, 5..8, 18, 31} *);
		CO_E_FIRST* = -2147221008 (* {4..8, 18, 31} *);
		CO_E_LAST* = -2147220993 (* {0..8, 18, 31} *);
		CO_S_FIRST* = 262640 (* {4..8, 18} *);
		CO_S_LAST* = 262655 (* {0..8, 18} *);
		CO_E_NOTINITIALIZED* = -2147221008 (* {4..8, 18, 31} *);
		CO_E_ALREADYINITIALIZED* = -2147221007 (* {0, 4..8, 18, 31} *);
		CO_E_CANTDETERMINECLASS* = -2147221006 (* {1, 4..8, 18, 31} *);
		CO_E_CLASSSTRING* = -2147221005 (* {0, 1, 4..8, 18, 31} *);
		CO_E_IIDSTRING* = -2147221004 (* {2, 4..8, 18, 31} *);
		CO_E_APPNOTFOUND* = -2147221003 (* {0, 2, 4..8, 18, 31} *);
		CO_E_APPSINGLEUSE* = -2147221002 (* {1, 2, 4..8, 18, 31} *);
		CO_E_ERRORINAPP* = -2147221001 (* {0..2, 4..8, 18, 31} *);
		CO_E_DLLNOTFOUND* = -2147221000 (* {3..8, 18, 31} *);
		CO_E_ERRORINDLL* = -2147220999 (* {0, 3..8, 18, 31} *);
		CO_E_WRONGOSFORAPP* = -2147220998 (* {1, 3..8, 18, 31} *);
		CO_E_OBJNOTREG* = -2147220997 (* {0, 1, 3..8, 18, 31} *);
		CO_E_OBJISREG* = -2147220996 (* {2..8, 18, 31} *);
		CO_E_OBJNOTCONNECTED* = -2147220995 (* {0, 2..8, 18, 31} *);
		CO_E_APPDIDNTREG* = -2147220994 (* {1..8, 18, 31} *);
		CO_E_RELEASED* = -2147220993 (* {0..8, 18, 31} *);
		OLE_S_USEREG* = 262144 (* {18} *);
		OLE_S_STATIC* = 262145 (* {0, 18} *);
		OLE_S_MAC_CLIPFORMAT* = 262146 (* {1, 18} *);
		DRAGDROP_S_DROP* = 262400 (* {8, 18} *);
		DRAGDROP_S_CANCEL* = 262401 (* {0, 8, 18} *);
		DRAGDROP_S_USEDEFAULTCURSORS* = 262402 (* {1, 8, 18} *);
		DATA_S_SAMEFORMATETC* = 262448 (* {4, 5, 8, 18} *);
		VIEW_S_ALREADY_FROZEN* = 262464 (* {6, 8, 18} *);
		CACHE_S_FORMATETC_NOTSUPPORTED* = 262512 (* {4..6, 8, 18} *);
		CACHE_S_SAMECACHE* = 262513 (* {0, 4..6, 8, 18} *);
		CACHE_S_SOMECACHES_NOTUPDATED* = 262514 (* {1, 4..6, 8, 18} *);
		OLEOBJ_S_INVALIDVERB* = 262528 (* {7, 8, 18} *);
		OLEOBJ_S_CANNOT_DOVERB_NOW* = 262529 (* {0, 7, 8, 18} *);
		OLEOBJ_S_INVALIDHWND* = 262530 (* {1, 7, 8, 18} *);
		INPLACE_S_TRUNCATED* = 262560 (* {5, 7, 8, 18} *);
		CONVERT10_S_NO_PRESENTATION* = 262592 (* {6..8, 18} *);
		MK_S_REDUCED_TO_SELF* = 262626 (* {1, 5..8, 18} *);
		MK_S_ME* = 262628 (* {2, 5..8, 18} *);
		MK_S_HIM* = 262629 (* {0, 2, 5..8, 18} *);
		MK_S_US* = 262630 (* {1, 2, 5..8, 18} *);
		MK_S_MONIKERALREADYREGISTERED* = 262631 (* {0..2, 5..8, 18} *);
		CO_E_CLASS_CREATE_FAILED* = -2146959359 (* {0, 19, 31} *);
		CO_E_SCM_ERROR* = -2146959358 (* {1, 19, 31} *);
		CO_E_SCM_RPC_FAILURE* = -2146959357 (* {0, 1, 19, 31} *);
		CO_E_BAD_PATH* = -2146959356 (* {2, 19, 31} *);
		CO_E_SERVER_EXEC_FAILURE* = -2146959355 (* {0, 2, 19, 31} *);
		CO_E_OBJSRV_RPC_FAILURE* = -2146959354 (* {1, 2, 19, 31} *);
		MK_E_NO_NORMALIZED* = -2146959353 (* {0..2, 19, 31} *);
		CO_E_SERVER_STOPPING* = -2146959352 (* {3, 19, 31} *);
		MEM_E_INVALID_ROOT* = -2146959351 (* {0, 3, 19, 31} *);
		MEM_E_INVALID_LINK* = -2146959344 (* {4, 19, 31} *);
		MEM_E_INVALID_SIZE* = -2146959343 (* {0, 4, 19, 31} *);
		DISP_E_UNKNOWNINTERFACE* = -2147352575 (* {0, 17, 31} *);
		DISP_E_MEMBERNOTFOUND* = -2147352573 (* {0, 1, 17, 31} *);
		DISP_E_PARAMNOTFOUND* = -2147352572 (* {2, 17, 31} *);
		DISP_E_TYPEMISMATCH* = -2147352571 (* {0, 2, 17, 31} *);
		DISP_E_UNKNOWNNAME* = -2147352570 (* {1, 2, 17, 31} *);
		DISP_E_NONAMEDARGS* = -2147352569 (* {0..2, 17, 31} *);
		DISP_E_BADVARTYPE* = -2147352568 (* {3, 17, 31} *);
		DISP_E_EXCEPTION* = -2147352567 (* {0, 3, 17, 31} *);
		DISP_E_OVERFLOW* = -2147352566 (* {1, 3, 17, 31} *);
		DISP_E_BADINDEX* = -2147352565 (* {0, 1, 3, 17, 31} *);
		DISP_E_UNKNOWNLCID* = -2147352564 (* {2, 3, 17, 31} *);
		DISP_E_ARRAYISLOCKED* = -2147352563 (* {0, 2, 3, 17, 31} *);
		DISP_E_BADPARAMCOUNT* = -2147352562 (* {1..3, 17, 31} *);
		DISP_E_PARAMNOTOPTIONAL* = -2147352561 (* {0..3, 17, 31} *);
		DISP_E_BADCALLEE* = -2147352560 (* {4, 17, 31} *);
		DISP_E_NOTACOLLECTION* = -2147352559 (* {0, 4, 17, 31} *);
		TYPE_E_BUFFERTOOSMALL* = -2147319786 (* {1, 2, 4, 15, 17, 31} *);
		TYPE_E_INVDATAREAD* = -2147319784 (* {3, 4, 15, 17, 31} *);
		TYPE_E_UNSUPFORMAT* = -2147319783 (* {0, 3, 4, 15, 17, 31} *);
		TYPE_E_REGISTRYACCESS* = -2147319780 (* {2..4, 15, 17, 31} *);
		TYPE_E_LIBNOTREGISTERED* = -2147319779 (* {0, 2..4, 15, 17, 31} *);
		TYPE_E_UNDEFINEDTYPE* = -2147319769 (* {0..2, 5, 15, 17, 31} *);
		TYPE_E_QUALIFIEDNAMEDISALLOWED* = -2147319768 (* {3, 5, 15, 17, 31} *);
		TYPE_E_INVALIDSTATE* = -2147319767 (* {0, 3, 5, 15, 17, 31} *);
		TYPE_E_WRONGTYPEKIND* = -2147319766 (* {1, 3, 5, 15, 17, 31} *);
		TYPE_E_ELEMENTNOTFOUND* = -2147319765 (* {0, 1, 3, 5, 15, 17, 31} *);
		TYPE_E_AMBIGUOUSNAME* = -2147319764 (* {2, 3, 5, 15, 17, 31} *);
		TYPE_E_NAMECONFLICT* = -2147319763 (* {0, 2, 3, 5, 15, 17, 31} *);
		TYPE_E_UNKNOWNLCID* = -2147319762 (* {1..3, 5, 15, 17, 31} *);
		TYPE_E_DLLFUNCTIONNOTFOUND* = -2147319761 (* {0..3, 5, 15, 17, 31} *);
		TYPE_E_BADMODULEKIND* = -2147317571 (* {0, 2..5, 7, 11, 15, 17, 31} *);
		TYPE_E_SIZETOOBIG* = -2147317563 (* {0, 2, 6, 7, 11, 15, 17, 31} *);
		TYPE_E_DUPLICATEID* = -2147317562 (* {1, 2, 6, 7, 11, 15, 17, 31} *);
		TYPE_E_INVALIDID* = -2147317553 (* {0..3, 6, 7, 11, 15, 17, 31} *);
		TYPE_E_TYPEMISMATCH* = -2147316576 (* {5, 7, 10, 11, 15, 17, 31} *);
		TYPE_E_OUTOFBOUNDS* = -2147316575 (* {0, 5, 7, 10, 11, 15, 17, 31} *);
		TYPE_E_IOERROR* = -2147316574 (* {1, 5, 7, 10, 11, 15, 17, 31} *);
		TYPE_E_CANTCREATETMPFILE* = -2147316573 (* {0, 1, 5, 7, 10, 11, 15, 17, 31} *);
		TYPE_E_CANTLOADLIBRARY* = -2147312566 (* {1, 3, 6, 10..12, 15, 17, 31} *);
		TYPE_E_INCONSISTENTPROPFUNCS* = -2147312509 (* {0, 1, 7, 10..12, 15, 17, 31} *);
		TYPE_E_CIRCULARTYPE* = -2147312508 (* {2, 7, 10..12, 15, 17, 31} *);
		STG_E_INVALIDFUNCTION* = -2147287039 (* {0, 16, 17, 31} *);
		STG_E_FILENOTFOUND* = -2147287038 (* {1, 16, 17, 31} *);
		STG_E_PATHNOTFOUND* = -2147287037 (* {0, 1, 16, 17, 31} *);
		STG_E_TOOMANYOPENFILES* = -2147287036 (* {2, 16, 17, 31} *);
		STG_E_ACCESSDENIED* = -2147287035 (* {0, 2, 16, 17, 31} *);
		STG_E_INVALIDHANDLE* = -2147287034 (* {1, 2, 16, 17, 31} *);
		STG_E_INSUFFICIENTMEMORY* = -2147287032 (* {3, 16, 17, 31} *);
		STG_E_INVALIDPOINTER* = -2147287031 (* {0, 3, 16, 17, 31} *);
		STG_E_NOMOREFILES* = -2147287022 (* {1, 4, 16, 17, 31} *);
		STG_E_DISKISWRITEPROTECTED* = -2147287021 (* {0, 1, 4, 16, 17, 31} *);
		STG_E_SEEKERROR* = -2147287015 (* {0, 3, 4, 16, 17, 31} *);
		STG_E_WRITEFAULT* = -2147287011 (* {0, 2..4, 16, 17, 31} *);
		STG_E_READFAULT* = -2147287010 (* {1..4, 16, 17, 31} *);
		STG_E_SHAREVIOLATION* = -2147287008 (* {5, 16, 17, 31} *);
		STG_E_LOCKVIOLATION* = -2147287007 (* {0, 5, 16, 17, 31} *);
		STG_E_FILEALREADYEXISTS* = -2147286960 (* {4, 6, 16, 17, 31} *);
		STG_E_INVALIDPARAMETER* = -2147286953 (* {0..2, 4, 6, 16, 17, 31} *);
		STG_E_MEDIUMFULL* = -2147286928 (* {4..6, 16, 17, 31} *);
		STG_E_ABNORMALAPIEXIT* = -2147286790 (* {1, 3..7, 16, 17, 31} *);
		STG_E_INVALIDHEADER* = -2147286789 (* {0, 1, 3..7, 16, 17, 31} *);
		STG_E_INVALIDNAME* = -2147286788 (* {2..7, 16, 17, 31} *);
		STG_E_UNKNOWN* = -2147286787 (* {0, 2..7, 16, 17, 31} *);
		STG_E_UNIMPLEMENTEDFUNCTION* = -2147286786 (* {1..7, 16, 17, 31} *);
		STG_E_INVALIDFLAG* = -2147286785 (* {0..7, 16, 17, 31} *);
		STG_E_INUSE* = -2147286784 (* {8, 16, 17, 31} *);
		STG_E_NOTCURRENT* = -2147286783 (* {0, 8, 16, 17, 31} *);
		STG_E_REVERTED* = -2147286782 (* {1, 8, 16, 17, 31} *);
		STG_E_CANTSAVE* = -2147286781 (* {0, 1, 8, 16, 17, 31} *);
		STG_E_OLDFORMAT* = -2147286780 (* {2, 8, 16, 17, 31} *);
		STG_E_OLDDLL* = -2147286779 (* {0, 2, 8, 16, 17, 31} *);
		STG_E_SHAREREQUIRED* = -2147286778 (* {1, 2, 8, 16, 17, 31} *);
		STG_E_NOTFILEBASEDSTORAGE* = -2147286777 (* {0..2, 8, 16, 17, 31} *);
		STG_E_EXTANTMARSHALLINGS* = -2147286776 (* {3, 8, 16, 17, 31} *);
		STG_S_CONVERTED* = 197120 (* {9, 16, 17} *);
		RPC_E_CALL_REJECTED* = -2147418111 (* {0, 16, 31} *);
		RPC_E_CALL_CANCELED* = -2147418110 (* {1, 16, 31} *);
		RPC_E_CANTPOST_INSENDCALL* = -2147418109 (* {0, 1, 16, 31} *);
		RPC_E_CANTCALLOUT_INASYNCCALL* = -2147418108 (* {2, 16, 31} *);
		RPC_E_CANTCALLOUT_INEXTERNALCALL* = -2147418107 (* {0, 2, 16, 31} *);
		RPC_E_CONNECTION_TERMINATED* = -2147418106 (* {1, 2, 16, 31} *);
		RPC_E_SERVER_DIED* = -2147418105 (* {0..2, 16, 31} *);
		RPC_E_CLIENT_DIED* = -2147418104 (* {3, 16, 31} *);
		RPC_E_INVALID_DATAPACKET* = -2147418103 (* {0, 3, 16, 31} *);
		RPC_E_CANTTRANSMIT_CALL* = -2147418102 (* {1, 3, 16, 31} *);
		RPC_E_CLIENT_CANTMARSHAL_DATA* = -2147418101 (* {0, 1, 3, 16, 31} *);
		RPC_E_CLIENT_CANTUNMARSHAL_DATA* = -2147418100 (* {2, 3, 16, 31} *);
		RPC_E_SERVER_CANTMARSHAL_DATA* = -2147418099 (* {0, 2, 3, 16, 31} *);
		RPC_E_SERVER_CANTUNMARSHAL_DATA* = -2147418098 (* {1..3, 16, 31} *);
		RPC_E_INVALID_DATA* = -2147418097 (* {0..3, 16, 31} *);
		RPC_E_INVALID_PARAMETER* = -2147418096 (* {4, 16, 31} *);
		RPC_E_CANTCALLOUT_AGAIN* = -2147418095 (* {0, 4, 16, 31} *);
		RPC_E_SERVER_DIED_DNE* = -2147418094 (* {1, 4, 16, 31} *);
		RPC_E_SYS_CALL_FAILED* = -2147417856 (* {8, 16, 31} *);
		RPC_E_OUT_OF_RESOURCES* = -2147417855 (* {0, 8, 16, 31} *);
		RPC_E_ATTEMPTED_MULTITHREAD* = -2147417854 (* {1, 8, 16, 31} *);
		RPC_E_NOT_REGISTERED* = -2147417853 (* {0, 1, 8, 16, 31} *);
		RPC_E_FAULT* = -2147417852 (* {2, 8, 16, 31} *);
		RPC_E_SERVERFAULT* = -2147417851 (* {0, 2, 8, 16, 31} *);
		RPC_E_CHANGED_MODE* = -2147417850 (* {1, 2, 8, 16, 31} *);
		RPC_E_INVALIDMETHOD* = -2147417849 (* {0..2, 8, 16, 31} *);
		RPC_E_DISCONNECTED* = -2147417848 (* {3, 8, 16, 31} *);
		RPC_E_RETRY* = -2147417847 (* {0, 3, 8, 16, 31} *);
		RPC_E_SERVERCALL_RETRYLATER* = -2147417846 (* {1, 3, 8, 16, 31} *);
		RPC_E_SERVERCALL_REJECTED* = -2147417845 (* {0, 1, 3, 8, 16, 31} *);
		RPC_E_INVALID_CALLDATA* = -2147417844 (* {2, 3, 8, 16, 31} *);
		RPC_E_CANTCALLOUT_ININPUTSYNCCALL* = -2147417843 (* {0, 2, 3, 8, 16, 31} *);
		RPC_E_WRONG_THREAD* = -2147417842 (* {1..3, 8, 16, 31} *);
		RPC_E_THREAD_NOT_INIT* = -2147417841 (* {0..3, 8, 16, 31} *);
		RPC_E_UNEXPECTED* = -2147352577 (* {0..16, 31} *);
		TC_NORMAL* = 0 (* {} *);
		TC_HARDERR* = 1 (* {0} *);
		TC_GP_TRAP* = 2 (* {1} *);
		TC_SIGNAL* = 3 (* {0, 1} *);
		AC_LINE_OFFLINE* = 0 (* {} *);
		AC_LINE_ONLINE* = 1 (* {0} *);
		AC_LINE_BACKUP_POWER* = 2 (* {1} *);
		AC_LINE_UNKNOWN* = 255 (* {0..7} *);
		BATTERY_FLAG_HIGH* = 1 (* {0} *);
		BATTERY_FLAG_LOW* = 2 (* {1} *);
		BATTERY_FLAG_CRITICAL* = 4 (* {2} *);
		BATTERY_FLAG_CHARGING* = 8 (* {3} *);
		BATTERY_FLAG_NO_BATTERY* = 128 (* {7} *);
		BATTERY_FLAG_UNKNOWN* = 255 (* {0..7} *);
		BATTERY_PERCENTAGE_UNKNOWN* = 255 (* {0..7} *);
		BATTERY_LIFE_UNKNOWN* = -1 (* {0..31} *);
		WIN_CERT_REVISION_1_0* = 256 (* {8} *);
		WIN_CERT_TYPE_X509* = 1 (* {0} *);
		WIN_CERT_TYPE_PKCS_SIGNED_DATA* = 2 (* {1} *);
		WIN_CERT_TYPE_RESERVED_1* = 3 (* {0, 1} *);
		WIN_TRUST_PROVIDER_UNKNOWN* = 0 (* {} *);
		WIN_TRUST_SOFTWARE_PUBLISHER* = 1 (* {0} *);
		WIN_TRUST_WINDOWS_COMPATIBLE* = 2 (* {1} *);
		WIN_TRUST_CAPI_PROVIDER* = 3 (* {0, 1} *);
		WIN_TRUST_SUBJTYPE_RAW_FILE* = 0 (* {} *);
		WIN_TRUST_SUBJTYPE_PE_IMAGE* = 1 (* {0} *);
		WIN_TRUST_SUBJTYPE_OLE_STORAGE* = 2 (* {1} *);
		WIN_TRUST_SUBJTYPE_JAVA_CLASS* = 3 (* {0, 1} *);
		CAPI_TRUST_ACTION_VALID_CSP* = 1 (* {0} *);
		WIN_SPUB_ACTION_TRUSTED_PUBLISHER* = 2 (* {1} *);
		WIN_SPUB_ACTION_NT_ACTIVATE_IMAGE* = 3 (* {0, 1} *);
		WIN_SPUB_ACTION_PUBLISHED_SOFTWARE* = 4 (* {2} *);
		R2_BLACK* = 1 (* {0} *);
		R2_NOTMERGEPEN* = 2 (* {1} *);
		R2_MASKNOTPEN* = 3 (* {0, 1} *);
		R2_NOTCOPYPEN* = 4 (* {2} *);
		R2_MASKPENNOT* = 5 (* {0, 2} *);
		R2_NOT* = 6 (* {1, 2} *);
		R2_XORPEN* = 7 (* {0..2} *);
		R2_NOTMASKPEN* = 8 (* {3} *);
		R2_MASKPEN* = 9 (* {0, 3} *);
		R2_NOTXORPEN* = 10 (* {1, 3} *);
		R2_NOP* = 11 (* {0, 1, 3} *);
		R2_MERGENOTPEN* = 12 (* {2, 3} *);
		R2_COPYPEN* = 13 (* {0, 2, 3} *);
		R2_MERGEPENNOT* = 14 (* {1..3} *);
		R2_MERGEPEN* = 15 (* {0..3} *);
		R2_WHITE* = 16 (* {4} *);
		R2_LAST* = 16 (* {4} *);
		SRCCOPY* = 13369376 (* {5, 18, 19, 22, 23} *);
		SRCPAINT* = 15597702 (* {1, 2, 7, 17..19, 21..23} *);
		SRCAND* = 8913094 (* {1, 2, 6, 7, 19, 23} *);
		SRCINVERT* = 6684742 (* {1, 2, 6, 17, 18, 21, 22} *);
		SRCERASE* = 4457256 (* {3, 5, 8, 9, 18, 22} *);
		NOTSRCCOPY* = 3342344 (* {3, 16, 17, 20, 21} *);
		NOTSRCERASE* = 1114278 (* {1, 2, 5, 7, 16, 20} *);
		MERGECOPY* = 12583114 (* {1, 3, 6, 7, 22, 23} *);
		MERGEPAINT* = 12255782 (* {1, 2, 5, 9, 16, 17, 19..21, 23} *);
		PATCOPY* = 15728673 (* {0, 5, 20..23} *);
		PATPAINT* = 16452105 (* {0, 3, 9, 11, 16, 17, 19..23} *);
		PATINVERT* = 5898313 (* {0, 3, 6, 17, 19, 20, 22} *);
		DSTINVERT* = 5570569 (* {0, 3, 16, 18, 20, 22} *);
		BLACKNESS* = 66 (* {1, 6} *);
		WHITENESS* = 16711778 (* {1, 5, 6, 16..23} *);
		GDI_ERROR* = -1 (* {0..31} *);
		ERROR* = 0 (* {} *);
		NULLREGION* = 1 (* {0} *);
		SIMPLEREGION* = 2 (* {1} *);
		COMPLEXREGION* = 3 (* {0, 1} *);
		RGN_ERROR* = 0 (* {} *);
		RGN_AND* = 1 (* {0} *);
		RGN_OR* = 2 (* {1} *);
		RGN_XOR* = 3 (* {0, 1} *);
		RGN_DIFF* = 4 (* {2} *);
		RGN_COPY* = 5 (* {0, 2} *);
		RGN_MIN* = 1 (* {0} *);
		RGN_MAX* = 5 (* {0, 2} *);
		BLACKONWHITE* = 1 (* {0} *);
		WHITEONBLACK* = 2 (* {1} *);
		COLORONCOLOR* = 3 (* {0, 1} *);
		HALFTONE* = 4 (* {2} *);
		MAXSTRETCHBLTMODE* = 4 (* {2} *);
		STRETCH_ANDSCANS* = 1 (* {0} *);
		STRETCH_ORSCANS* = 2 (* {1} *);
		STRETCH_DELETESCANS* = 3 (* {0, 1} *);
		STRETCH_HALFTONE* = 4 (* {2} *);
		ALTERNATE* = 1 (* {0} *);
		WINDING* = 2 (* {1} *);
		POLYFILL_LAST* = 2 (* {1} *);
		TA_NOUPDATECP* = {};
		TA_UPDATECP* = {0};
		TA_LEFT* = {};
		TA_RIGHT* = {1};
		TA_CENTER* = {1, 2};
		TA_TOP* = {};
		TA_BOTTOM* = {3};
		TA_BASELINE* = {3, 4};
		TA_RTLREADING* = {8};
		TA_MASK* = {0..4, 8};
		VTA_BASELINE* = {3, 4};
		VTA_LEFT* = {3};
		VTA_RIGHT* = {};
		VTA_CENTER* = {1, 2};
		VTA_BOTTOM* = {1};
		VTA_TOP* = {};
		ETO_OPAQUE* = {1};
		ETO_CLIPPED* = {2};
		ETO_GLYPH_INDEX* = {4};
		ETO_RTLREADING* = {7};
		ASPECT_FILTERING* = 1 (* {0} *);
		DCB_RESET* = {0};
		DCB_ACCUMULATE* = {1};
		DCB_DIRTY* = {1};
		DCB_SET* = {0, 1};
		DCB_ENABLE* = {2};
		DCB_DISABLE* = {3};
		META_SETBKCOLOR* = 513 (* {0, 9} *);
		META_SETBKMODE* = 258 (* {1, 8} *);
		META_SETMAPMODE* = 259 (* {0, 1, 8} *);
		META_SETROP2* = 260 (* {2, 8} *);
		META_SETRELABS* = 261 (* {0, 2, 8} *);
		META_SETPOLYFILLMODE* = 262 (* {1, 2, 8} *);
		META_SETSTRETCHBLTMODE* = 263 (* {0..2, 8} *);
		META_SETTEXTCHAREXTRA* = 264 (* {3, 8} *);
		META_SETTEXTCOLOR* = 521 (* {0, 3, 9} *);
		META_SETTEXTJUSTIFICATION* = 522 (* {1, 3, 9} *);
		META_SETWINDOWORG* = 523 (* {0, 1, 3, 9} *);
		META_SETWINDOWEXT* = 524 (* {2, 3, 9} *);
		META_SETVIEWPORTORG* = 525 (* {0, 2, 3, 9} *);
		META_SETVIEWPORTEXT* = 526 (* {1..3, 9} *);
		META_OFFSETWINDOWORG* = 527 (* {0..3, 9} *);
		META_SCALEWINDOWEXT* = 1040 (* {4, 10} *);
		META_OFFSETVIEWPORTORG* = 529 (* {0, 4, 9} *);
		META_SCALEVIEWPORTEXT* = 1042 (* {1, 4, 10} *);
		META_LINETO* = 531 (* {0, 1, 4, 9} *);
		META_MOVETO* = 532 (* {2, 4, 9} *);
		META_EXCLUDECLIPRECT* = 1045 (* {0, 2, 4, 10} *);
		META_INTERSECTCLIPRECT* = 1046 (* {1, 2, 4, 10} *);
		META_ARC* = 2071 (* {0..2, 4, 11} *);
		META_ELLIPSE* = 1048 (* {3, 4, 10} *);
		META_FLOODFILL* = 1049 (* {0, 3, 4, 10} *);
		META_PIE* = 2074 (* {1, 3, 4, 11} *);
		META_RECTANGLE* = 1051 (* {0, 1, 3, 4, 10} *);
		META_ROUNDRECT* = 1564 (* {2..4, 9, 10} *);
		META_PATBLT* = 1565 (* {0, 2..4, 9, 10} *);
		META_SAVEDC* = 30 (* {1..4} *);
		META_SETPIXEL* = 1055 (* {0..4, 10} *);
		META_OFFSETCLIPRGN* = 544 (* {5, 9} *);
		META_TEXTOUT* = 1313 (* {0, 5, 8, 10} *);
		META_BITBLT* = 2338 (* {1, 5, 8, 11} *);
		META_STRETCHBLT* = 2851 (* {0, 1, 5, 8, 9, 11} *);
		META_POLYGON* = 804 (* {2, 5, 8, 9} *);
		META_POLYLINE* = 805 (* {0, 2, 5, 8, 9} *);
		META_ESCAPE* = 1574 (* {1, 2, 5, 9, 10} *);
		META_RESTOREDC* = 295 (* {0..2, 5, 8} *);
		META_FILLREGION* = 552 (* {3, 5, 9} *);
		META_FRAMEREGION* = 1065 (* {0, 3, 5, 10} *);
		META_INVERTREGION* = 298 (* {1, 3, 5, 8} *);
		META_PAINTREGION* = 299 (* {0, 1, 3, 5, 8} *);
		META_SELECTCLIPREGION* = 300 (* {2, 3, 5, 8} *);
		META_SELECTOBJECT* = 301 (* {0, 2, 3, 5, 8} *);
		META_SETTEXTALIGN* = 302 (* {1..3, 5, 8} *);
		META_CHORD* = 2096 (* {4, 5, 11} *);
		META_SETMAPPERFLAGS* = 561 (* {0, 4, 5, 9} *);
		META_EXTTEXTOUT* = 2610 (* {1, 4, 5, 9, 11} *);
		META_SETDIBTODEV* = 3379 (* {0, 1, 4, 5, 8, 10, 11} *);
		META_SELECTPALETTE* = 564 (* {2, 4, 5, 9} *);
		META_REALIZEPALETTE* = 53 (* {0, 2, 4, 5} *);
		META_ANIMATEPALETTE* = 1078 (* {1, 2, 4, 5, 10} *);
		META_SETPALENTRIES* = 55 (* {0..2, 4, 5} *);
		META_POLYPOLYGON* = 1336 (* {3..5, 8, 10} *);
		META_RESIZEPALETTE* = 313 (* {0, 3..5, 8} *);
		META_DIBBITBLT* = 2368 (* {6, 8, 11} *);
		META_DIBSTRETCHBLT* = 2881 (* {0, 6, 8, 9, 11} *);
		META_DIBCREATEPATTERNBRUSH* = 322 (* {1, 6, 8} *);
		META_STRETCHDIB* = 3907 (* {0, 1, 6, 8..11} *);
		META_EXTFLOODFILL* = 1352 (* {3, 6, 8, 10} *);
		META_DELETEOBJECT* = 496 (* {4..8} *);
		META_CREATEPALETTE* = 247 (* {0..2, 4..7} *);
		META_CREATEPATTERNBRUSH* = 505 (* {0, 3..8} *);
		META_CREATEPENINDIRECT* = 762 (* {1, 3..7, 9} *);
		META_CREATEFONTINDIRECT* = 763 (* {0, 1, 3..7, 9} *);
		META_CREATEBRUSHINDIRECT* = 764 (* {2..7, 9} *);
		META_CREATEREGION* = 1791 (* {0..7, 9, 10} *);
		NEWFRAME* = 1 (* {0} *);
		ABORTDOC* = 2 (* {1} *);
		NEXTBAND* = 3 (* {0, 1} *);
		SETCOLORTABLE* = 4 (* {2} *);
		GETCOLORTABLE* = 5 (* {0, 2} *);
		FLUSHOUTPUT* = 6 (* {1, 2} *);
		DRAFTMODE* = 7 (* {0..2} *);
		QUERYESCSUPPORT* = 8 (* {3} *);
		SETABORTPROC* = 9 (* {0, 3} *);
		STARTDOC* = 10 (* {1, 3} *);
		ENDDOC* = 11 (* {0, 1, 3} *);
		GETPHYSPAGESIZE* = 12 (* {2, 3} *);
		GETPRINTINGOFFSET* = 13 (* {0, 2, 3} *);
		GETSCALINGFACTOR* = 14 (* {1..3} *);
		MFCOMMENT* = 15 (* {0..3} *);
		GETPENWIDTH* = 16 (* {4} *);
		SETCOPYCOUNT* = 17 (* {0, 4} *);
		SELECTPAPERSOURCE* = 18 (* {1, 4} *);
		DEVICEDATA* = 19 (* {0, 1, 4} *);
		PASSTHROUGH* = 19 (* {0, 1, 4} *);
		GETTECHNOLGY* = 20 (* {2, 4} *);
		GETTECHNOLOGY* = 20 (* {2, 4} *);
		SETLINECAP* = 21 (* {0, 2, 4} *);
		SETLINEJOIN* = 22 (* {1, 2, 4} *);
		SETMITERLIMIT* = 23 (* {0..2, 4} *);
		BANDINFO* = 24 (* {3, 4} *);
		DRAWPATTERNRECT* = 25 (* {0, 3, 4} *);
		GETVECTORPENSIZE* = 26 (* {1, 3, 4} *);
		GETVECTORBRUSHSIZE* = 27 (* {0, 1, 3, 4} *);
		ENABLEDUPLEX* = 28 (* {2..4} *);
		GETSETPAPERBINS* = 29 (* {0, 2..4} *);
		GETSETPRINTORIENT* = 30 (* {1..4} *);
		ENUMPAPERBINS* = 31 (* {0..4} *);
		SETDIBSCALING* = 32 (* {5} *);
		EPSPRINTING* = 33 (* {0, 5} *);
		ENUMPAPERMETRICS* = 34 (* {1, 5} *);
		GETSETPAPERMETRICS* = 35 (* {0, 1, 5} *);
		POSTSCRIPT_DATA* = 37 (* {0, 2, 5} *);
		POSTSCRIPT_IGNORE* = 38 (* {1, 2, 5} *);
		MOUSETRAILS* = 39 (* {0..2, 5} *);
		GETDEVICEUNITS* = 42 (* {1, 3, 5} *);
		GETEXTENDEDTEXTMETRICS* = 256 (* {8} *);
		GETEXTENTTABLE* = 257 (* {0, 8} *);
		GETPAIRKERNTABLE* = 258 (* {1, 8} *);
		GETTRACKKERNTABLE* = 259 (* {0, 1, 8} *);
		EXTTEXTOUT* = 512 (* {9} *);
		GETFACENAME* = 513 (* {0, 9} *);
		DOWNLOADFACE* = 514 (* {1, 9} *);
		ENABLERELATIVEWIDTHS* = 768 (* {8, 9} *);
		ENABLEPAIRKERNING* = 769 (* {0, 8, 9} *);
		SETKERNTRACK* = 770 (* {1, 8, 9} *);
		SETALLJUSTVALUES* = 771 (* {0, 1, 8, 9} *);
		SETCHARSET* = 772 (* {2, 8, 9} *);
		STRETCHBLT* = 2048 (* {11} *);
		GETSETSCREENPARAMS* = 3072 (* {10, 11} *);
		QUERYDIBSUPPORT* = 3073 (* {0, 10, 11} *);
		BEGIN_PATH* = 4096 (* {12} *);
		CLIP_TO_PATH* = 4097 (* {0, 12} *);
		END_PATH* = 4098 (* {1, 12} *);
		EXT_DEVICE_CAPS* = 4099 (* {0, 1, 12} *);
		RESTORE_CTM* = 4100 (* {2, 12} *);
		SAVE_CTM* = 4101 (* {0, 2, 12} *);
		SET_ARC_DIRECTION* = 4102 (* {1, 2, 12} *);
		SET_BACKGROUND_COLOR* = 4103 (* {0..2, 12} *);
		SET_POLY_MODE* = 4104 (* {3, 12} *);
		SET_SCREEN_ANGLE* = 4105 (* {0, 3, 12} *);
		SET_SPREAD* = 4106 (* {1, 3, 12} *);
		TRANSFORM_CTM* = 4107 (* {0, 1, 3, 12} *);
		SET_CLIP_BOX* = 4108 (* {2, 3, 12} *);
		SET_BOUNDS* = 4109 (* {0, 2, 3, 12} *);
		SET_MIRROR_MODE* = 4110 (* {1..3, 12} *);
		OPENCHANNEL* = 4110 (* {1..3, 12} *);
		DOWNLOADHEADER* = 4111 (* {0..3, 12} *);
		CLOSECHANNEL* = 4112 (* {4, 12} *);
		POSTSCRIPT_PASSTHROUGH* = 4115 (* {0, 1, 4, 12} *);
		ENCAPSULATED_POSTSCRIPT* = 4116 (* {2, 4, 12} *);
		QDI_SETDIBITS* = {0};
		QDI_GETDIBITS* = {1};
		QDI_DIBTOSCREEN* = {2};
		QDI_STRETCHDIB* = {3};
		SP_NOTREPORTED* = {14};
		SP_ERROR* = {0..31};
		SP_APPABORT* = {1..31};
		SP_USERABORT* = {0, 2..31};
		SP_OUTOFDISK* = {2..31};
		SP_OUTOFMEMORY* = {0, 1, 3..31};
		PR_JOBSTATUS* = 0 (* {} *);
		OBJ_PEN* = 1 (* {0} *);
		OBJ_BRUSH* = 2 (* {1} *);
		OBJ_DC* = 3 (* {0, 1} *);
		OBJ_METADC* = 4 (* {2} *);
		OBJ_PAL* = 5 (* {0, 2} *);
		OBJ_FONT* = 6 (* {1, 2} *);
		OBJ_BITMAP* = 7 (* {0..2} *);
		OBJ_REGION* = 8 (* {3} *);
		OBJ_METAFILE* = 9 (* {0, 3} *);
		OBJ_MEMDC* = 10 (* {1, 3} *);
		OBJ_EXTPEN* = 11 (* {0, 1, 3} *);
		OBJ_ENHMETADC* = 12 (* {2, 3} *);
		OBJ_ENHMETAFILE* = 13 (* {0, 2, 3} *);
		MWT_IDENTITY* = 1 (* {0} *);
		MWT_LEFTMULTIPLY* = 2 (* {1} *);
		MWT_RIGHTMULTIPLY* = 3 (* {0, 1} *);
		MWT_MIN* = 1 (* {0} *);
		MWT_MAX* = 3 (* {0, 1} *);
		LCS_CALIBRATED_RGB* = 0 (* {} *);
		LCS_DEVICE_RGB* = 1 (* {0} *);
		LCS_DEVICE_CMYK* = 2 (* {1} *);
		LCS_GM_BUSINESS* = 1 (* {0} *);
		LCS_GM_GRAPHICS* = 2 (* {1} *);
		LCS_GM_IMAGES* = 4 (* {2} *);
		CM_OUT_OF_GAMUT* = 255 (* {0..7} *);
		CM_IN_GAMUT* = 0 (* {} *);
		BI_RGB* = 0 (* {} *);
		BI_RLE8* = 1 (* {0} *);
		BI_RLE4* = 2 (* {1} *);
		BI_BITFIELDS* = 3 (* {0, 1} *);
		TCI_SRCCHARSET* = 1 (* {0} *);
		TCI_SRCCODEPAGE* = 2 (* {1} *);
		TCI_SRCFONTSIG* = 3 (* {0, 1} *);
		TMPF_FIXED_PITCH* = 1 (* {0} *);
		TMPF_VECTOR* = 2 (* {1} *);
		TMPF_DEVICE* = 8 (* {3} *);
		TMPF_TRUETYPE* = 4 (* {2} *);
		NTM_REGULAR* = 64 (* {6} *);
		NTM_BOLD* = 32 (* {5} *);
		NTM_ITALIC* = 1 (* {0} *);
		LF_FACESIZE* = 32 (* {5} *);
		LF_FULLFACESIZE* = 64 (* {6} *);
		OUT_DEFAULT_PRECIS* = 0 (* {} *);
		OUT_STRING_PRECIS* = 1 (* {0} *);
		OUT_CHARACTER_PRECIS* = 2 (* {1} *);
		OUT_STROKE_PRECIS* = 3 (* {0, 1} *);
		OUT_TT_PRECIS* = 4 (* {2} *);
		OUT_DEVICE_PRECIS* = 5 (* {0, 2} *);
		OUT_RASTER_PRECIS* = 6 (* {1, 2} *);
		OUT_TT_ONLY_PRECIS* = 7 (* {0..2} *);
		OUT_OUTLINE_PRECIS* = 8 (* {3} *);
		CLIP_DEFAULT_PRECIS* = 0 (* {} *);
		CLIP_CHARACTER_PRECIS* = 1 (* {0} *);
		CLIP_STROKE_PRECIS* = 2 (* {1} *);
		CLIP_MASK* = 15 (* {0..3} *);
		CLIP_LH_ANGLES* = 16 (* {4} *);
		CLIP_TT_ALWAYS* = 32 (* {5} *);
		CLIP_EMBEDDED* = 128 (* {7} *);
		DEFAULT_QUALITY* = 0 (* {} *);
		DRAFT_QUALITY* = 1 (* {0} *);
		PROOF_QUALITY* = 2 (* {1} *);
		NONANTIALIASED_QUALITY* = 3 (* {0, 1} *);
		ANTIALIASED_QUALITY* = 4 (* {2} *);
		DEFAULT_PITCH* = 0 (* {} *);
		FIXED_PITCH* = 1 (* {0} *);
		VARIABLE_PITCH* = 2 (* {1} *);
		MONO_FONT* = 8 (* {3} *);
		ANSI_CHARSET* = 0 (* {} *);
		DEFAULT_CHARSET* = 1 (* {0} *);
		SYMBOL_CHARSET* = 2 (* {1} *);
		SHIFTJIS_CHARSET* = 128 (* {7} *);
		HANGEUL_CHARSET* = 129 (* {0, 7} *);
		GB2312_CHARSET* = 134 (* {1, 2, 7} *);
		CHINESEBIG5_CHARSET* = 136 (* {3, 7} *);
		OEM_CHARSET* = 255 (* {0..7} *);
		JOHAB_CHARSET* = 130 (* {1, 7} *);
		HEBREW_CHARSET* = 177 (* {0, 4, 5, 7} *);
		ARABIC_CHARSET* = 178 (* {1, 4, 5, 7} *);
		GREEK_CHARSET* = 161 (* {0, 5, 7} *);
		TURKISH_CHARSET* = 162 (* {1, 5, 7} *);
		THAI_CHARSET* = 222 (* {1..4, 6, 7} *);
		EASTEUROPE_CHARSET* = 238 (* {1..3, 5..7} *);
		RUSSIAN_CHARSET* = 204 (* {2, 3, 6, 7} *);
		MAC_CHARSET* = 77 (* {0, 2, 3, 6} *);
		BALTIC_CHARSET* = 186 (* {1, 3..5, 7} *);
		FS_LATIN1* = {0};
		FS_LATIN2* = {1};
		FS_CYRILLIC* = {2};
		FS_GREEK* = {3};
		FS_TURKISH* = {4};
		FS_HEBREW* = {5};
		FS_ARABIC* = {6};
		FS_BALTIC* = {7};
		FS_THAI* = {16};
		FS_JISJAPAN* = {17};
		FS_CHINESESIMP* = {18};
		FS_WANSUNG* = {19};
		FS_CHINESETRAD* = {20};
		FS_JOHAB* = {21};
		FS_SYMBOL* = {31};
		FF_DONTCARE* = 0 (* {} *);
		FF_ROMAN* = 16 (* {4} *);
		FF_SWISS* = 32 (* {5} *);
		FF_MODERN* = 48 (* {4, 5} *);
		FF_SCRIPT* = 64 (* {6} *);
		FF_DECORATIVE* = 80 (* {4, 6} *);
		FW_DONTCARE* = 0 (* {} *);
		FW_THIN* = 100 (* {2, 5, 6} *);
		FW_EXTRALIGHT* = 200 (* {3, 6, 7} *);
		FW_LIGHT* = 300 (* {2, 3, 5, 8} *);
		FW_NORMAL* = 400 (* {4, 7, 8} *);
		FW_MEDIUM* = 500 (* {2, 4..8} *);
		FW_SEMIBOLD* = 600 (* {3, 4, 6, 9} *);
		FW_BOLD* = 700 (* {2..5, 7, 9} *);
		FW_EXTRABOLD* = 800 (* {5, 8, 9} *);
		FW_HEAVY* = 900 (* {2, 7..9} *);
		FW_ULTRALIGHT* = 200 (* {3, 6, 7} *);
		FW_REGULAR* = 400 (* {4, 7, 8} *);
		FW_DEMIBOLD* = 600 (* {3, 4, 6, 9} *);
		FW_ULTRABOLD* = 800 (* {5, 8, 9} *);
		FW_BLACK* = 900 (* {2, 7..9} *);
		PANOSE_COUNT* = 10 (* {1, 3} *);
		PAN_FAMILYTYPE_INDEX* = 0 (* {} *);
		PAN_SERIFSTYLE_INDEX* = 1 (* {0} *);
		PAN_WEIGHT_INDEX* = 2 (* {1} *);
		PAN_PROPORTION_INDEX* = 3 (* {0, 1} *);
		PAN_CONTRAST_INDEX* = 4 (* {2} *);
		PAN_STROKEVARIATION_INDEX* = 5 (* {0, 2} *);
		PAN_ARMSTYLE_INDEX* = 6 (* {1, 2} *);
		PAN_LETTERFORM_INDEX* = 7 (* {0..2} *);
		PAN_MIDLINE_INDEX* = 8 (* {3} *);
		PAN_XHEIGHT_INDEX* = 9 (* {0, 3} *);
		PAN_CULTURE_LATIN* = 0 (* {} *);
		PAN_ANY* = 0 (* {} *);
		PAN_NO_FIT* = 1 (* {0} *);
		PAN_FAMILY_TEXT_DISPLAY* = 2 (* {1} *);
		PAN_FAMILY_SCRIPT* = 3 (* {0, 1} *);
		PAN_FAMILY_DECORATIVE* = 4 (* {2} *);
		PAN_FAMILY_PICTORIAL* = 5 (* {0, 2} *);
		PAN_SERIF_COVE* = 2 (* {1} *);
		PAN_SERIF_OBTUSE_COVE* = 3 (* {0, 1} *);
		PAN_SERIF_SQUARE_COVE* = 4 (* {2} *);
		PAN_SERIF_OBTUSE_SQUARE_COVE* = 5 (* {0, 2} *);
		PAN_SERIF_SQUARE* = 6 (* {1, 2} *);
		PAN_SERIF_THIN* = 7 (* {0..2} *);
		PAN_SERIF_BONE* = 8 (* {3} *);
		PAN_SERIF_EXAGGERATED* = 9 (* {0, 3} *);
		PAN_SERIF_TRIANGLE* = 10 (* {1, 3} *);
		PAN_SERIF_NORMAL_SANS* = 11 (* {0, 1, 3} *);
		PAN_SERIF_OBTUSE_SANS* = 12 (* {2, 3} *);
		PAN_SERIF_PERP_SANS* = 13 (* {0, 2, 3} *);
		PAN_SERIF_FLARED* = 14 (* {1..3} *);
		PAN_SERIF_ROUNDED* = 15 (* {0..3} *);
		PAN_WEIGHT_VERY_LIGHT* = 2 (* {1} *);
		PAN_WEIGHT_LIGHT* = 3 (* {0, 1} *);
		PAN_WEIGHT_THIN* = 4 (* {2} *);
		PAN_WEIGHT_BOOK* = 5 (* {0, 2} *);
		PAN_WEIGHT_MEDIUM* = 6 (* {1, 2} *);
		PAN_WEIGHT_DEMI* = 7 (* {0..2} *);
		PAN_WEIGHT_BOLD* = 8 (* {3} *);
		PAN_WEIGHT_HEAVY* = 9 (* {0, 3} *);
		PAN_WEIGHT_BLACK* = 10 (* {1, 3} *);
		PAN_WEIGHT_NORD* = 11 (* {0, 1, 3} *);
		PAN_PROP_OLD_STYLE* = 2 (* {1} *);
		PAN_PROP_MODERN* = 3 (* {0, 1} *);
		PAN_PROP_EVEN_WIDTH* = 4 (* {2} *);
		PAN_PROP_EXPANDED* = 5 (* {0, 2} *);
		PAN_PROP_CONDENSED* = 6 (* {1, 2} *);
		PAN_PROP_VERY_EXPANDED* = 7 (* {0..2} *);
		PAN_PROP_VERY_CONDENSED* = 8 (* {3} *);
		PAN_PROP_MONOSPACED* = 9 (* {0, 3} *);
		PAN_CONTRAST_NONE* = 2 (* {1} *);
		PAN_CONTRAST_VERY_LOW* = 3 (* {0, 1} *);
		PAN_CONTRAST_LOW* = 4 (* {2} *);
		PAN_CONTRAST_MEDIUM_LOW* = 5 (* {0, 2} *);
		PAN_CONTRAST_MEDIUM* = 6 (* {1, 2} *);
		PAN_CONTRAST_MEDIUM_HIGH* = 7 (* {0..2} *);
		PAN_CONTRAST_HIGH* = 8 (* {3} *);
		PAN_CONTRAST_VERY_HIGH* = 9 (* {0, 3} *);
		PAN_STROKE_GRADUAL_DIAG* = 2 (* {1} *);
		PAN_STROKE_GRADUAL_TRAN* = 3 (* {0, 1} *);
		PAN_STROKE_GRADUAL_VERT* = 4 (* {2} *);
		PAN_STROKE_GRADUAL_HORZ* = 5 (* {0, 2} *);
		PAN_STROKE_RAPID_VERT* = 6 (* {1, 2} *);
		PAN_STROKE_RAPID_HORZ* = 7 (* {0..2} *);
		PAN_STROKE_INSTANT_VERT* = 8 (* {3} *);
		PAN_STRAIGHT_ARMS_HORZ* = 2 (* {1} *);
		PAN_STRAIGHT_ARMS_WEDGE* = 3 (* {0, 1} *);
		PAN_STRAIGHT_ARMS_VERT* = 4 (* {2} *);
		PAN_STRAIGHT_ARMS_SINGLE_SERIF* = 5 (* {0, 2} *);
		PAN_STRAIGHT_ARMS_DOUBLE_SERIF* = 6 (* {1, 2} *);
		PAN_BENT_ARMS_HORZ* = 7 (* {0..2} *);
		PAN_BENT_ARMS_WEDGE* = 8 (* {3} *);
		PAN_BENT_ARMS_VERT* = 9 (* {0, 3} *);
		PAN_BENT_ARMS_SINGLE_SERIF* = 10 (* {1, 3} *);
		PAN_BENT_ARMS_DOUBLE_SERIF* = 11 (* {0, 1, 3} *);
		PAN_LETT_NORMAL_CONTACT* = 2 (* {1} *);
		PAN_LETT_NORMAL_WEIGHTED* = 3 (* {0, 1} *);
		PAN_LETT_NORMAL_BOXED* = 4 (* {2} *);
		PAN_LETT_NORMAL_FLATTENED* = 5 (* {0, 2} *);
		PAN_LETT_NORMAL_ROUNDED* = 6 (* {1, 2} *);
		PAN_LETT_NORMAL_OFF_CENTER* = 7 (* {0..2} *);
		PAN_LETT_NORMAL_SQUARE* = 8 (* {3} *);
		PAN_LETT_OBLIQUE_CONTACT* = 9 (* {0, 3} *);
		PAN_LETT_OBLIQUE_WEIGHTED* = 10 (* {1, 3} *);
		PAN_LETT_OBLIQUE_BOXED* = 11 (* {0, 1, 3} *);
		PAN_LETT_OBLIQUE_FLATTENED* = 12 (* {2, 3} *);
		PAN_LETT_OBLIQUE_ROUNDED* = 13 (* {0, 2, 3} *);
		PAN_LETT_OBLIQUE_OFF_CENTER* = 14 (* {1..3} *);
		PAN_LETT_OBLIQUE_SQUARE* = 15 (* {0..3} *);
		PAN_MIDLINE_STANDARD_TRIMMED* = 2 (* {1} *);
		PAN_MIDLINE_STANDARD_POINTED* = 3 (* {0, 1} *);
		PAN_MIDLINE_STANDARD_SERIFED* = 4 (* {2} *);
		PAN_MIDLINE_HIGH_TRIMMED* = 5 (* {0, 2} *);
		PAN_MIDLINE_HIGH_POINTED* = 6 (* {1, 2} *);
		PAN_MIDLINE_HIGH_SERIFED* = 7 (* {0..2} *);
		PAN_MIDLINE_CONSTANT_TRIMMED* = 8 (* {3} *);
		PAN_MIDLINE_CONSTANT_POINTED* = 9 (* {0, 3} *);
		PAN_MIDLINE_CONSTANT_SERIFED* = 10 (* {1, 3} *);
		PAN_MIDLINE_LOW_TRIMMED* = 11 (* {0, 1, 3} *);
		PAN_MIDLINE_LOW_POINTED* = 12 (* {2, 3} *);
		PAN_MIDLINE_LOW_SERIFED* = 13 (* {0, 2, 3} *);
		PAN_XHEIGHT_CONSTANT_SMALL* = 2 (* {1} *);
		PAN_XHEIGHT_CONSTANT_STD* = 3 (* {0, 1} *);
		PAN_XHEIGHT_CONSTANT_LARGE* = 4 (* {2} *);
		PAN_XHEIGHT_DUCKING_SMALL* = 5 (* {0, 2} *);
		PAN_XHEIGHT_DUCKING_STD* = 6 (* {1, 2} *);
		PAN_XHEIGHT_DUCKING_LARGE* = 7 (* {0..2} *);
		ELF_VENDOR_SIZE* = 4 (* {2} *);
		ELF_VERSION* = 0 (* {} *);
		ELF_CULTURE_LATIN* = 0 (* {} *);
		RASTER_FONTTYPE* = 1 (* {0} *);
		DEVICE_FONTTYPE* = 2 (* {1} *);
		TRUETYPE_FONTTYPE* = 4 (* {2} *);
		PC_RESERVED* = 1 (* {0} *);
		PC_EXPLICIT* = 2 (* {1} *);
		PC_NOCOLLAPSE* = 4 (* {2} *);
		TRANSPARENT* = 1 (* {0} *);
		OPAQUE* = 2 (* {1} *);
		BKMODE_LAST* = 2 (* {1} *);
		GM_COMPATIBLE* = 1 (* {0} *);
		GM_ADVANCED* = 2 (* {1} *);
		GM_LAST* = 2 (* {1} *);
		PT_CLOSEFIGURE* = 1 (* {0} *);
		PT_LINETO* = 2 (* {1} *);
		PT_BEZIERTO* = 4 (* {2} *);
		PT_MOVETO* = 6 (* {1, 2} *);
		MM_TEXT* = 1 (* {0} *);
		MM_LOMETRIC* = 2 (* {1} *);
		MM_HIMETRIC* = 3 (* {0, 1} *);
		MM_LOENGLISH* = 4 (* {2} *);
		MM_HIENGLISH* = 5 (* {0, 2} *);
		MM_TWIPS* = 6 (* {1, 2} *);
		MM_ISOTROPIC* = 7 (* {0..2} *);
		MM_ANISOTROPIC* = 8 (* {3} *);
		MM_MIN* = 1 (* {0} *);
		MM_MAX* = 8 (* {3} *);
		MM_MAX_FIXEDSCALE* = 6 (* {1, 2} *);
		ABSOLUTE* = 1 (* {0} *);
		RELATIVE* = 2 (* {1} *);
		WHITE_BRUSH* = 0 (* {} *);
		LTGRAY_BRUSH* = 1 (* {0} *);
		GRAY_BRUSH* = 2 (* {1} *);
		DKGRAY_BRUSH* = 3 (* {0, 1} *);
		BLACK_BRUSH* = 4 (* {2} *);
		NULL_BRUSH* = 5 (* {0, 2} *);
		HOLLOW_BRUSH* = 5 (* {0, 2} *);
		WHITE_PEN* = 6 (* {1, 2} *);
		BLACK_PEN* = 7 (* {0..2} *);
		NULL_PEN* = 8 (* {3} *);
		OEM_FIXED_FONT* = 10 (* {1, 3} *);
		ANSI_FIXED_FONT* = 11 (* {0, 1, 3} *);
		ANSI_VAR_FONT* = 12 (* {2, 3} *);
		SYSTEM_FONT* = 13 (* {0, 2, 3} *);
		DEVICE_DEFAULT_FONT* = 14 (* {1..3} *);
		DEFAULT_PALETTE* = 15 (* {0..3} *);
		SYSTEM_FIXED_FONT* = 16 (* {4} *);
		DEFAULT_GUI_FONT* = 17 (* {0, 4} *);
		STOCK_LAST* = 17 (* {0, 4} *);
		CLR_INVALID* = -1 (* {0..31} *);
		BS_SOLID* = 0 (* {} *);
		BS_NULL* = 1 (* {0} *);
		BS_HOLLOW* = 1 (* {0} *);
		BS_HATCHED* = 2 (* {1} *);
		BS_PATTERN* = 3 (* {0, 1} *);
		BS_INDEXED* = 4 (* {2} *);
		BS_DIBPATTERN* = 5 (* {0, 2} *);
		BS_DIBPATTERNPT* = 6 (* {1, 2} *);
		BS_PATTERN8X8* = 7 (* {0..2} *);
		BS_DIBPATTERN8X8* = 8 (* {3} *);
		HS_HORIZONTAL* = 0 (* {} *);
		HS_VERTICAL* = 1 (* {0} *);
		HS_FDIAGONAL* = 2 (* {1} *);
		HS_BDIAGONAL* = 3 (* {0, 1} *);
		HS_CROSS* = 4 (* {2} *);
		HS_DIAGCROSS* = 5 (* {0, 2} *);
		PS_SOLID* = 0 (* {} *);
		PS_DASH* = 1 (* {0} *);
		PS_DOT* = 2 (* {1} *);
		PS_DASHDOT* = 3 (* {0, 1} *);
		PS_DASHDOTDOT* = 4 (* {2} *);
		PS_NULL* = 5 (* {0, 2} *);
		PS_INSIDEFRAME* = 6 (* {1, 2} *);
		PS_USERSTYLE* = 7 (* {0..2} *);
		PS_ALTERNATE* = 8 (* {3} *);
		PS_STYLE_MASK* = 15 (* {0..3} *);
		PS_ENDCAP_ROUND* = 0 (* {} *);
		PS_ENDCAP_SQUARE* = 256 (* {8} *);
		PS_ENDCAP_FLAT* = 512 (* {9} *);
		PS_ENDCAP_MASK* = 3840 (* {8..11} *);
		PS_JOIN_ROUND* = 0 (* {} *);
		PS_JOIN_BEVEL* = 4096 (* {12} *);
		PS_JOIN_MITER* = 8192 (* {13} *);
		PS_JOIN_MASK* = 61440 (* {12..15} *);
		PS_COSMETIC* = 0 (* {} *);
		PS_GEOMETRIC* = 65536 (* {16} *);
		PS_TYPE_MASK* = 983040 (* {16..19} *);
		AD_COUNTERCLOCKWISE* = 1 (* {0} *);
		AD_CLOCKWISE* = 2 (* {1} *);
		DRIVERVERSION* = 0 (* {} *);
		TECHNOLOGY* = 2 (* {1} *);
		HORZSIZE* = 4 (* {2} *);
		VERTSIZE* = 6 (* {1, 2} *);
		HORZRES* = 8 (* {3} *);
		VERTRES* = 10 (* {1, 3} *);
		BITSPIXEL* = 12 (* {2, 3} *);
		PLANES* = 14 (* {1..3} *);
		NUMBRUSHES* = 16 (* {4} *);
		NUMPENS* = 18 (* {1, 4} *);
		NUMMARKERS* = 20 (* {2, 4} *);
		NUMFONTS* = 22 (* {1, 2, 4} *);
		NUMCOLORS* = 24 (* {3, 4} *);
		PDEVICESIZE* = 26 (* {1, 3, 4} *);
		CURVECAPS* = 28 (* {2..4} *);
		LINECAPS* = 30 (* {1..4} *);
		POLYGONALCAPS* = 32 (* {5} *);
		TEXTCAPS* = 34 (* {1, 5} *);
		CLIPCAPS* = 36 (* {2, 5} *);
		RASTERCAPS* = 38 (* {1, 2, 5} *);
		ASPECTX* = 40 (* {3, 5} *);
		ASPECTY* = 42 (* {1, 3, 5} *);
		ASPECTXY* = 44 (* {2, 3, 5} *);
		LOGPIXELSX* = 88 (* {3, 4, 6} *);
		LOGPIXELSY* = 90 (* {1, 3, 4, 6} *);
		SIZEPALETTE* = 104 (* {3, 5, 6} *);
		NUMRESERVED* = 106 (* {1, 3, 5, 6} *);
		COLORRES* = 108 (* {2, 3, 5, 6} *);
		PHYSICALWIDTH* = 110 (* {1..3, 5, 6} *);
		PHYSICALHEIGHT* = 111 (* {0..3, 5, 6} *);
		PHYSICALOFFSETX* = 112 (* {4..6} *);
		PHYSICALOFFSETY* = 113 (* {0, 4..6} *);
		SCALINGFACTORX* = 114 (* {1, 4..6} *);
		SCALINGFACTORY* = 115 (* {0, 1, 4..6} *);
		VREFRESH* = 116 (* {2, 4..6} *);
		DESKTOPVERTRES* = 117 (* {0, 2, 4..6} *);
		DESKTOPHORZRES* = 118 (* {1, 2, 4..6} *);
		BLTALIGNMENT* = 119 (* {0..2, 4..6} *);
		DT_PLOTTER* = 0 (* {} *);
		DT_RASDISPLAY* = 1 (* {0} *);
		DT_RASPRINTER* = 2 (* {1} *);
		DT_RASCAMERA* = 3 (* {0, 1} *);
		DT_CHARSTREAM* = 4 (* {2} *);
		DT_METAFILE* = 5 (* {0, 2} *);
		DT_DISPFILE* = 6 (* {1, 2} *);
		CC_NONE* = {};
		CC_CIRCLES* = {0};
		CC_PIE* = {1};
		CC_CHORD* = {2};
		CC_ELLIPSES* = {3};
		CC_WIDE* = {4};
		CC_STYLED* = {5};
		CC_WIDESTYLED* = {6};
		CC_INTERIORS* = {7};
		CC_ROUNDRECT* = {8};
		LC_NONE* = {};
		LC_POLYLINE* = {1};
		LC_MARKER* = {2};
		LC_POLYMARKER* = {3};
		LC_WIDE* = {4};
		LC_STYLED* = {5};
		LC_WIDESTYLED* = {6};
		LC_INTERIORS* = {7};
		PC_NONE* = {};
		PC_POLYGON* = {0};
		PC_RECTANGLE* = {1};
		PC_WINDPOLYGON* = {2};
		PC_TRAPEZOID* = {2};
		PC_SCANLINE* = {3};
		PC_WIDE* = {4};
		PC_STYLED* = {5};
		PC_WIDESTYLED* = {6};
		PC_INTERIORS* = {7};
		PC_POLYPOLYGON* = {8};
		PC_PATHS* = {9};
		CP_NONE* = 0 (* {} *);
		CP_RECTANGLE* = 1 (* {0} *);
		CP_REGION* = 2 (* {1} *);
		TC_OP_CHARACTER* = {0};
		TC_OP_STROKE* = {1};
		TC_CP_STROKE* = {2};
		TC_CR_90* = {3};
		TC_CR_ANY* = {4};
		TC_SF_X_YINDEP* = {5};
		TC_SA_DOUBLE* = {6};
		TC_SA_INTEGER* = {7};
		TC_SA_CONTIN* = {8};
		TC_EA_DOUBLE* = {9};
		TC_IA_ABLE* = {10};
		TC_UA_ABLE* = {11};
		TC_SO_ABLE* = {12};
		TC_RA_ABLE* = {13};
		TC_VA_ABLE* = {14};
		TC_RESERVED* = {15};
		TC_SCROLLBLT* = {16};
		RC_BITBLT* = {0};
		RC_BANDING* = {1};
		RC_SCALING* = {2};
		RC_BITMAP64* = {3};
		RC_GDI20_OUTPUT* = {4};
		RC_GDI20_STATE* = {5};
		RC_SAVEBITMAP* = {6};
		RC_DI_BITMAP* = {7};
		RC_PALETTE* = {8};
		RC_DIBTODEV* = {9};
		RC_BIGFONT* = {10};
		RC_STRETCHBLT* = {11};
		RC_FLOODFILL* = {12};
		RC_STRETCHDIB* = {13};
		RC_OP_DX_OUTPUT* = {14};
		RC_DEVBITS* = {15};
		DIB_RGB_COLORS* = 0 (* {} *);
		DIB_PAL_COLORS* = 1 (* {0} *);
		SYSPAL_ERROR* = 0 (* {} *);
		SYSPAL_STATIC* = 1 (* {0} *);
		SYSPAL_NOSTATIC* = 2 (* {1} *);
		CBM_INIT* = 4 (* {2} *);
		FLOODFILLBORDER* = 0 (* {} *);
		FLOODFILLSURFACE* = 1 (* {0} *);
		CCHDEVICENAME* = 32 (* {5} *);
		CCHFORMNAME* = 32 (* {5} *);
		DM_SPECVERSION* = {0, 10};
		DM_ORIENTATION* = {0};
		DM_PAPERSIZE* = {1};
		DM_PAPERLENGTH* = {2};
		DM_PAPERWIDTH* = {3};
		DM_SCALE* = {4};
		DM_COPIES* = {8};
		DM_DEFAULTSOURCE* = {9};
		DM_PRINTQUALITY* = {10};
		DM_COLOR* = {11};
		DM_DUPLEX* = {12};
		DM_YRESOLUTION* = {13};
		DM_TTOPTION* = {14};
		DM_COLLATE* = {15};
		DM_FORMNAME* = {16};
		DM_LOGPIXELS* = {17};
		DM_BITSPERPEL* = {18};
		DM_PELSWIDTH* = {19};
		DM_PELSHEIGHT* = {20};
		DM_DISPLAYFLAGS* = {21};
		DM_DISPLAYFREQUENCY* = {22};
		DM_PANNINGWIDTH* = {23};
		DM_PANNINGHEIGHT* = {24};
		DM_ICMMETHOD* = {25};
		DM_ICMINTENT* = {26};
		DM_MEDIATYPE* = {27};
		DM_DITHERTYPE* = {28};
		DM_ICCMANUFACTURER* = {29};
		DM_ICCMODEL* = {30};
		DMORIENT_PORTRAIT* = 1 (* {0} *);
		DMORIENT_LANDSCAPE* = 2 (* {1} *);
		DMPAPER_FIRST* = 1 (* {0} *);
		DMPAPER_LETTER* = 1 (* {0} *);
		DMPAPER_LETTERSMALL* = 2 (* {1} *);
		DMPAPER_TABLOID* = 3 (* {0, 1} *);
		DMPAPER_LEDGER* = 4 (* {2} *);
		DMPAPER_LEGAL* = 5 (* {0, 2} *);
		DMPAPER_STATEMENT* = 6 (* {1, 2} *);
		DMPAPER_EXECUTIVE* = 7 (* {0..2} *);
		DMPAPER_A3* = 8 (* {3} *);
		DMPAPER_A4* = 9 (* {0, 3} *);
		DMPAPER_A4SMALL* = 10 (* {1, 3} *);
		DMPAPER_A5* = 11 (* {0, 1, 3} *);
		DMPAPER_B4* = 12 (* {2, 3} *);
		DMPAPER_B5* = 13 (* {0, 2, 3} *);
		DMPAPER_FOLIO* = 14 (* {1..3} *);
		DMPAPER_QUARTO* = 15 (* {0..3} *);
		DMPAPER_10X14* = 16 (* {4} *);
		DMPAPER_11X17* = 17 (* {0, 4} *);
		DMPAPER_NOTE* = 18 (* {1, 4} *);
		DMPAPER_ENV_9* = 19 (* {0, 1, 4} *);
		DMPAPER_ENV_10* = 20 (* {2, 4} *);
		DMPAPER_ENV_11* = 21 (* {0, 2, 4} *);
		DMPAPER_ENV_12* = 22 (* {1, 2, 4} *);
		DMPAPER_ENV_14* = 23 (* {0..2, 4} *);
		DMPAPER_CSHEET* = 24 (* {3, 4} *);
		DMPAPER_DSHEET* = 25 (* {0, 3, 4} *);
		DMPAPER_ESHEET* = 26 (* {1, 3, 4} *);
		DMPAPER_ENV_DL* = 27 (* {0, 1, 3, 4} *);
		DMPAPER_ENV_C5* = 28 (* {2..4} *);
		DMPAPER_ENV_C3* = 29 (* {0, 2..4} *);
		DMPAPER_ENV_C4* = 30 (* {1..4} *);
		DMPAPER_ENV_C6* = 31 (* {0..4} *);
		DMPAPER_ENV_C65* = 32 (* {5} *);
		DMPAPER_ENV_B4* = 33 (* {0, 5} *);
		DMPAPER_ENV_B5* = 34 (* {1, 5} *);
		DMPAPER_ENV_B6* = 35 (* {0, 1, 5} *);
		DMPAPER_ENV_ITALY* = 36 (* {2, 5} *);
		DMPAPER_ENV_MONARCH* = 37 (* {0, 2, 5} *);
		DMPAPER_ENV_PERSONAL* = 38 (* {1, 2, 5} *);
		DMPAPER_FANFOLD_US* = 39 (* {0..2, 5} *);
		DMPAPER_FANFOLD_STD_GERMAN* = 40 (* {3, 5} *);
		DMPAPER_FANFOLD_LGL_GERMAN* = 41 (* {0, 3, 5} *);
		DMPAPER_ISO_B4* = 42 (* {1, 3, 5} *);
		DMPAPER_JAPANESE_POSTCARD* = 43 (* {0, 1, 3, 5} *);
		DMPAPER_9X11* = 44 (* {2, 3, 5} *);
		DMPAPER_10X11* = 45 (* {0, 2, 3, 5} *);
		DMPAPER_15X11* = 46 (* {1..3, 5} *);
		DMPAPER_ENV_INVITE* = 47 (* {0..3, 5} *);
		DMPAPER_RESERVED_48* = 48 (* {4, 5} *);
		DMPAPER_RESERVED_49* = 49 (* {0, 4, 5} *);
		DMPAPER_LETTER_EXTRA* = 50 (* {1, 4, 5} *);
		DMPAPER_LEGAL_EXTRA* = 51 (* {0, 1, 4, 5} *);
		DMPAPER_TABLOID_EXTRA* = 52 (* {2, 4, 5} *);
		DMPAPER_A4_EXTRA* = 53 (* {0, 2, 4, 5} *);
		DMPAPER_LETTER_TRANSVERSE* = 54 (* {1, 2, 4, 5} *);
		DMPAPER_A4_TRANSVERSE* = 55 (* {0..2, 4, 5} *);
		DMPAPER_LETTER_EXTRA_TRANSVERSE* = 56 (* {3..5} *);
		DMPAPER_A_PLUS* = 57 (* {0, 3..5} *);
		DMPAPER_B_PLUS* = 58 (* {1, 3..5} *);
		DMPAPER_LETTER_PLUS* = 59 (* {0, 1, 3..5} *);
		DMPAPER_A4_PLUS* = 60 (* {2..5} *);
		DMPAPER_A5_TRANSVERSE* = 61 (* {0, 2..5} *);
		DMPAPER_B5_TRANSVERSE* = 62 (* {1..5} *);
		DMPAPER_A3_EXTRA* = 63 (* {0..5} *);
		DMPAPER_A5_EXTRA* = 64 (* {6} *);
		DMPAPER_B5_EXTRA* = 65 (* {0, 6} *);
		DMPAPER_A2* = 66 (* {1, 6} *);
		DMPAPER_A3_TRANSVERSE* = 67 (* {0, 1, 6} *);
		DMPAPER_A3_EXTRA_TRANSVERSE* = 68 (* {2, 6} *);
		DMPAPER_LAST* = 68 (* {2, 6} *);
		DMPAPER_USER* = 256 (* {8} *);
		DMBIN_FIRST* = 1 (* {0} *);
		DMBIN_UPPER* = 1 (* {0} *);
		DMBIN_ONLYONE* = 1 (* {0} *);
		DMBIN_LOWER* = 2 (* {1} *);
		DMBIN_MIDDLE* = 3 (* {0, 1} *);
		DMBIN_MANUAL* = 4 (* {2} *);
		DMBIN_ENVELOPE* = 5 (* {0, 2} *);
		DMBIN_ENVMANUAL* = 6 (* {1, 2} *);
		DMBIN_AUTO* = 7 (* {0..2} *);
		DMBIN_TRACTOR* = 8 (* {3} *);
		DMBIN_SMALLFMT* = 9 (* {0, 3} *);
		DMBIN_LARGEFMT* = 10 (* {1, 3} *);
		DMBIN_LARGECAPACITY* = 11 (* {0, 1, 3} *);
		DMBIN_CASSETTE* = 14 (* {1..3} *);
		DMBIN_FORMSOURCE* = 15 (* {0..3} *);
		DMBIN_LAST* = 15 (* {0..3} *);
		DMBIN_USER* = 256 (* {8} *);
		DMRES_DRAFT* = -1 (* {0..31} *);
		DMRES_LOW* = -2 (* {1..31} *);
		DMRES_MEDIUM* = -3 (* {0, 2..31} *);
		DMRES_HIGH* = -4 (* {2..31} *);
		DMCOLOR_MONOCHROME* = 1 (* {0} *);
		DMCOLOR_COLOR* = 2 (* {1} *);
		DMDUP_SIMPLEX* = 1 (* {0} *);
		DMDUP_VERTICAL* = 2 (* {1} *);
		DMDUP_HORIZONTAL* = 3 (* {0, 1} *);
		DMTT_BITMAP* = 1 (* {0} *);
		DMTT_DOWNLOAD* = 2 (* {1} *);
		DMTT_SUBDEV* = 3 (* {0, 1} *);
		DMTT_DOWNLOAD_OUTLINE* = 4 (* {2} *);
		DMCOLLATE_FALSE* = 0 (* {} *);
		DMCOLLATE_TRUE* = 1 (* {0} *);
		DM_GRAYSCALE* = {0};
		DM_INTERLACED* = {1};
		DM_TEXTMODE* = {2};
		DMICMMETHOD_NONE* = 1 (* {0} *);
		DMICMMETHOD_SYSTEM* = 2 (* {1} *);
		DMICMMETHOD_DRIVER* = 3 (* {0, 1} *);
		DMICMMETHOD_DEVICE* = 4 (* {2} *);
		DMICMMETHOD_USER* = 256 (* {8} *);
		DMICM_SATURATE* = 1 (* {0} *);
		DMICM_CONTRAST* = 2 (* {1} *);
		DMICM_COLORMETRIC* = 3 (* {0, 1} *);
		DMICM_USER* = 256 (* {8} *);
		DMMEDIA_STANDARD* = 1 (* {0} *);
		DMMEDIA_TRANSPARENCY* = 2 (* {1} *);
		DMMEDIA_GLOSSY* = 3 (* {0, 1} *);
		DMMEDIA_USER* = 256 (* {8} *);
		DMDITHER_NONE* = 1 (* {0} *);
		DMDITHER_COARSE* = 2 (* {1} *);
		DMDITHER_FINE* = 3 (* {0, 1} *);
		DMDITHER_LINEART* = 4 (* {2} *);
		DMDITHER_GRAYSCALE* = 5 (* {0, 2} *);
		DMDITHER_USER* = 256 (* {8} *);
		RDH_RECTANGLES* = 1 (* {0} *);
		GGO_METRICS* = 0 (* {} *);
		GGO_BITMAP* = 1 (* {0} *);
		GGO_NATIVE* = 2 (* {1} *);
		GGO_GRAY2_BITMAP* = 4 (* {2} *);
		GGO_GRAY4_BITMAP* = 5 (* {0, 2} *);
		GGO_GRAY8_BITMAP* = 6 (* {1, 2} *);
		GGO_GLYPH_INDEX* = 128 (* {7} *);
		TT_POLYGON_TYPE* = 24 (* {3, 4} *);
		TT_PRIM_LINE* = 1 (* {0} *);
		TT_PRIM_QSPLINE* = 2 (* {1} *);
		GCP_DBCS* = {0};
		GCP_REORDER* = {1};
		GCP_USEKERNING* = {3};
		GCP_GLYPHSHAPE* = {4};
		GCP_LIGATE* = {5};
		GCP_DIACRITIC* = {8};
		GCP_KASHIDA* = {10};
		GCP_ERROR* = {15};
		FLI_MASK* = {0, 1, 3..5, 12};
		GCP_JUSTIFY* = {16};
		FLI_GLYPHS* = {18};
		GCP_CLASSIN* = {19};
		GCP_MAXEXTENT* = {20};
		GCP_JUSTIFYIN* = {21};
		GCP_DISPLAYZWG* = {22};
		GCP_SYMSWAPOFF* = {23};
		GCP_NUMERICOVERRIDE* = {24};
		GCP_NEUTRALOVERRIDE* = {25};
		GCP_NUMERICSLATIN* = {26};
		GCP_NUMERICSLOCAL* = {27};
		GCPCLASS_LATIN* = 1 (* {0} *);
		GCPCLASS_HEBREW* = 2 (* {1} *);
		GCPCLASS_ARABIC* = 2 (* {1} *);
		GCPCLASS_NEUTRAL* = 3 (* {0, 1} *);
		GCPCLASS_LOCALNUMBER* = 4 (* {2} *);
		GCPCLASS_LATINNUMBER* = 5 (* {0, 2} *);
		GCPCLASS_LATINNUMERICTERMINATOR* = 6 (* {1, 2} *);
		GCPCLASS_LATINNUMERICSEPARATOR* = 7 (* {0..2} *);
		GCPCLASS_NUMERICSEPARATOR* = 8 (* {3} *);
		GCPCLASS_PREBOUNDLTR* = 128 (* {7} *);
		GCPCLASS_PREBOUNDRTL* = 64 (* {6} *);
		GCPCLASS_POSTBOUNDLTR* = 32 (* {5} *);
		GCPCLASS_POSTBOUNDRTL* = 16 (* {4} *);
		GCPGLYPH_LINKBEFORE* = 32768 (* {15} *);
		GCPGLYPH_LINKAFTER* = 16384 (* {14} *);
		TT_AVAILABLE* = 1 (* {0} *);
		TT_ENABLED* = 2 (* {1} *);
		PFD_TYPE_RGBA* = 0 (* {} *);
		PFD_TYPE_COLORINDEX* = 1 (* {0} *);
		PFD_MAIN_PLANE* = 0 (* {} *);
		PFD_OVERLAY_PLANE* = 1 (* {0} *);
		PFD_UNDERLAY_PLANE* = -1 (* {0..31} *);
		PFD_DOUBLEBUFFER* = {0};
		PFD_STEREO* = {1};
		PFD_DRAW_TO_WINDOW* = {2};
		PFD_DRAW_TO_BITMAP* = {3};
		PFD_SUPPORT_GDI* = {4};
		PFD_SUPPORT_OPENGL* = {5};
		PFD_GENERIC_FORMAT* = {6};
		PFD_NEED_PALETTE* = {7};
		PFD_NEED_SYSTEM_PALETTE* = {8};
		PFD_SWAP_EXCHANGE* = {9};
		PFD_SWAP_COPY* = {10};
		PFD_SWAP_LAYER_BUFFERS* = {11};
		PFD_DOUBLEBUFFER_DONTCARE* = {30};
		PFD_STEREO_DONTCARE* = {31};
		DC_BINADJUST* = 19 (* {0, 1, 4} *);
		DC_EMF_COMPLIANT* = 20 (* {2, 4} *);
		DC_DATATYPE_PRODUCED* = 21 (* {0, 2, 4} *);
		DC_COLLATE* = 22 (* {1, 2, 4} *);
		DCTT_BITMAP* = {0};
		DCTT_DOWNLOAD* = {1};
		DCTT_SUBDEV* = {2};
		DCTT_DOWNLOAD_OUTLINE* = {3};
		DCBA_FACEUPNONE* = 0 (* {} *);
		DCBA_FACEUPCENTER* = 1 (* {0} *);
		DCBA_FACEUPLEFT* = 2 (* {1} *);
		DCBA_FACEUPRIGHT* = 3 (* {0, 1} *);
		DCBA_FACEDOWNNONE* = 256 (* {8} *);
		DCBA_FACEDOWNCENTER* = 257 (* {0, 8} *);
		DCBA_FACEDOWNLEFT* = 258 (* {1, 8} *);
		DCBA_FACEDOWNRIGHT* = 259 (* {0, 1, 8} *);
		CA_NEGATIVE* = 1 (* {0} *);
		CA_LOG_FILTER* = 2 (* {1} *);
		ILLUMINANT_DEVICE_DEFAULT* = 0 (* {} *);
		ILLUMINANT_A* = 1 (* {0} *);
		ILLUMINANT_B* = 2 (* {1} *);
		ILLUMINANT_C* = 3 (* {0, 1} *);
		ILLUMINANT_D50* = 4 (* {2} *);
		ILLUMINANT_D55* = 5 (* {0, 2} *);
		ILLUMINANT_D65* = 6 (* {1, 2} *);
		ILLUMINANT_D75* = 7 (* {0..2} *);
		ILLUMINANT_F2* = 8 (* {3} *);
		ILLUMINANT_MAX_INDEX* = 8 (* {3} *);
		ILLUMINANT_TUNGSTEN* = 1 (* {0} *);
		ILLUMINANT_DAYLIGHT* = 3 (* {0, 1} *);
		ILLUMINANT_FLUORESCENT* = 8 (* {3} *);
		ILLUMINANT_NTSC* = 3 (* {0, 1} *);
		RGB_GAMMA_MIN* = 1344 (* {6, 8, 10} *);
		RGB_GAMMA_MAX* = 65000 (* {3, 5..8, 10..15} *);
		REFERENCE_WHITE_MIN* = 6000 (* {4..6, 8..10, 12} *);
		REFERENCE_WHITE_MAX* = 10000 (* {4, 8..10, 13} *);
		REFERENCE_BLACK_MIN* = 0 (* {} *);
		REFERENCE_BLACK_MAX* = 4000 (* {5, 7..11} *);
		COLOR_ADJ_MIN* = -100 (* {2..4, 7..31} *);
		COLOR_ADJ_MAX* = 100 (* {2, 5, 6} *);
		DI_APPBANDING* = 1 (* {0} *);
		FONTMAPPER_MAX* = 10 (* {1, 3} *);
		ICM_OFF* = 1 (* {0} *);
		ICM_ON* = 2 (* {1} *);
		ICM_QUERY* = 3 (* {0, 1} *);
		ICM_ADDPROFILE* = 1 (* {0} *);
		ICM_DELETEPROFILE* = 2 (* {1} *);
		ICM_QUERYPROFILE* = 3 (* {0, 1} *);
		ICM_SETDEFAULTPROFILE* = 4 (* {2} *);
		ICM_REGISTERICMATCHER* = 5 (* {0, 2} *);
		ICM_UNREGISTERICMATCHER* = 6 (* {1, 2} *);
		ICM_QUERYMATCH* = 7 (* {0..2} *);
		ENHMETA_SIGNATURE* = 1179469088 (* {5, 8, 10, 14, 16, 18, 19, 22, 25, 26, 30} *);
		ENHMETA_STOCK_OBJECT* = 80000000H;
		EMR_HEADER* = 1 (* {0} *);
		EMR_POLYBEZIER* = 2 (* {1} *);
		EMR_POLYGON* = 3 (* {0, 1} *);
		EMR_POLYLINE* = 4 (* {2} *);
		EMR_POLYBEZIERTO* = 5 (* {0, 2} *);
		EMR_POLYLINETO* = 6 (* {1, 2} *);
		EMR_POLYPOLYLINE* = 7 (* {0..2} *);
		EMR_POLYPOLYGON* = 8 (* {3} *);
		EMR_SETWINDOWEXTEX* = 9 (* {0, 3} *);
		EMR_SETWINDOWORGEX* = 10 (* {1, 3} *);
		EMR_SETVIEWPORTEXTEX* = 11 (* {0, 1, 3} *);
		EMR_SETVIEWPORTORGEX* = 12 (* {2, 3} *);
		EMR_SETBRUSHORGEX* = 13 (* {0, 2, 3} *);
		EMR_EOF* = 14 (* {1..3} *);
		EMR_SETPIXELV* = 15 (* {0..3} *);
		EMR_SETMAPPERFLAGS* = 16 (* {4} *);
		EMR_SETMAPMODE* = 17 (* {0, 4} *);
		EMR_SETBKMODE* = 18 (* {1, 4} *);
		EMR_SETPOLYFILLMODE* = 19 (* {0, 1, 4} *);
		EMR_SETROP2* = 20 (* {2, 4} *);
		EMR_SETSTRETCHBLTMODE* = 21 (* {0, 2, 4} *);
		EMR_SETTEXTALIGN* = 22 (* {1, 2, 4} *);
		EMR_SETCOLORADJUSTMENT* = 23 (* {0..2, 4} *);
		EMR_SETTEXTCOLOR* = 24 (* {3, 4} *);
		EMR_SETBKCOLOR* = 25 (* {0, 3, 4} *);
		EMR_OFFSETCLIPRGN* = 26 (* {1, 3, 4} *);
		EMR_MOVETOEX* = 27 (* {0, 1, 3, 4} *);
		EMR_SETMETARGN* = 28 (* {2..4} *);
		EMR_EXCLUDECLIPRECT* = 29 (* {0, 2..4} *);
		EMR_INTERSECTCLIPRECT* = 30 (* {1..4} *);
		EMR_SCALEVIEWPORTEXTEX* = 31 (* {0..4} *);
		EMR_SCALEWINDOWEXTEX* = 32 (* {5} *);
		EMR_SAVEDC* = 33 (* {0, 5} *);
		EMR_RESTOREDC* = 34 (* {1, 5} *);
		EMR_SETWORLDTRANSFORM* = 35 (* {0, 1, 5} *);
		EMR_MODIFYWORLDTRANSFORM* = 36 (* {2, 5} *);
		EMR_SELECTOBJECT* = 37 (* {0, 2, 5} *);
		EMR_CREATEPEN* = 38 (* {1, 2, 5} *);
		EMR_CREATEBRUSHINDIRECT* = 39 (* {0..2, 5} *);
		EMR_DELETEOBJECT* = 40 (* {3, 5} *);
		EMR_ANGLEARC* = 41 (* {0, 3, 5} *);
		EMR_ELLIPSE* = 42 (* {1, 3, 5} *);
		EMR_RECTANGLE* = 43 (* {0, 1, 3, 5} *);
		EMR_ROUNDRECT* = 44 (* {2, 3, 5} *);
		EMR_ARC* = 45 (* {0, 2, 3, 5} *);
		EMR_CHORD* = 46 (* {1..3, 5} *);
		EMR_PIE* = 47 (* {0..3, 5} *);
		EMR_SELECTPALETTE* = 48 (* {4, 5} *);
		EMR_CREATEPALETTE* = 49 (* {0, 4, 5} *);
		EMR_SETPALETTEENTRIES* = 50 (* {1, 4, 5} *);
		EMR_RESIZEPALETTE* = 51 (* {0, 1, 4, 5} *);
		EMR_REALIZEPALETTE* = 52 (* {2, 4, 5} *);
		EMR_EXTFLOODFILL* = 53 (* {0, 2, 4, 5} *);
		EMR_LINETO* = 54 (* {1, 2, 4, 5} *);
		EMR_ARCTO* = 55 (* {0..2, 4, 5} *);
		EMR_POLYDRAW* = 56 (* {3..5} *);
		EMR_SETARCDIRECTION* = 57 (* {0, 3..5} *);
		EMR_SETMITERLIMIT* = 58 (* {1, 3..5} *);
		EMR_BEGINPATH* = 59 (* {0, 1, 3..5} *);
		EMR_ENDPATH* = 60 (* {2..5} *);
		EMR_CLOSEFIGURE* = 61 (* {0, 2..5} *);
		EMR_FILLPATH* = 62 (* {1..5} *);
		EMR_STROKEANDFILLPATH* = 63 (* {0..5} *);
		EMR_STROKEPATH* = 64 (* {6} *);
		EMR_FLATTENPATH* = 65 (* {0, 6} *);
		EMR_WIDENPATH* = 66 (* {1, 6} *);
		EMR_SELECTCLIPPATH* = 67 (* {0, 1, 6} *);
		EMR_ABORTPATH* = 68 (* {2, 6} *);
		EMR_GDICOMMENT* = 70 (* {1, 2, 6} *);
		EMR_FILLRGN* = 71 (* {0..2, 6} *);
		EMR_FRAMERGN* = 72 (* {3, 6} *);
		EMR_INVERTRGN* = 73 (* {0, 3, 6} *);
		EMR_PAINTRGN* = 74 (* {1, 3, 6} *);
		EMR_EXTSELECTCLIPRGN* = 75 (* {0, 1, 3, 6} *);
		EMR_BITBLT* = 76 (* {2, 3, 6} *);
		EMR_STRETCHBLT* = 77 (* {0, 2, 3, 6} *);
		EMR_MASKBLT* = 78 (* {1..3, 6} *);
		EMR_PLGBLT* = 79 (* {0..3, 6} *);
		EMR_SETDIBITSTODEVICE* = 80 (* {4, 6} *);
		EMR_STRETCHDIBITS* = 81 (* {0, 4, 6} *);
		EMR_EXTCREATEFONTINDIRECTW* = 82 (* {1, 4, 6} *);
		EMR_EXTTEXTOUTA* = 83 (* {0, 1, 4, 6} *);
		EMR_EXTTEXTOUTW* = 84 (* {2, 4, 6} *);
		EMR_POLYBEZIER16* = 85 (* {0, 2, 4, 6} *);
		EMR_POLYGON16* = 86 (* {1, 2, 4, 6} *);
		EMR_POLYLINE16* = 87 (* {0..2, 4, 6} *);
		EMR_POLYBEZIERTO16* = 88 (* {3, 4, 6} *);
		EMR_POLYLINETO16* = 89 (* {0, 3, 4, 6} *);
		EMR_POLYPOLYLINE16* = 90 (* {1, 3, 4, 6} *);
		EMR_POLYPOLYGON16* = 91 (* {0, 1, 3, 4, 6} *);
		EMR_POLYDRAW16* = 92 (* {2..4, 6} *);
		EMR_CREATEMONOBRUSH* = 93 (* {0, 2..4, 6} *);
		EMR_CREATEDIBPATTERNBRUSHPT* = 94 (* {1..4, 6} *);
		EMR_EXTCREATEPEN* = 95 (* {0..4, 6} *);
		EMR_POLYTEXTOUTA* = 96 (* {5, 6} *);
		EMR_POLYTEXTOUTW* = 97 (* {0, 5, 6} *);
		EMR_SETICMMODE* = 98 (* {1, 5, 6} *);
		EMR_CREATECOLORSPACE* = 99 (* {0, 1, 5, 6} *);
		EMR_SETCOLORSPACE* = 100 (* {2, 5, 6} *);
		EMR_DELETECOLORSPACE* = 101 (* {0, 2, 5, 6} *);
		EMR_GLSRECORD* = 102 (* {1, 2, 5, 6} *);
		EMR_GLSBOUNDEDRECORD* = 103 (* {0..2, 5, 6} *);
		EMR_PIXELFORMAT* = 104 (* {3, 5, 6} *);
		EMR_MIN* = 1 (* {0} *);
		EMR_MAX* = 104 (* {3, 5, 6} *);
		GDICOMMENT_IDENTIFIER* = 1128875079 (* {0..2, 6, 10, 14, 16, 19, 22, 24, 25, 30} *);
		GDICOMMENT_WINDOWS_METAFILE* = -2147483647 (* {0, 31} *);
		GDICOMMENT_BEGINGROUP* = 2 (* {1} *);
		GDICOMMENT_ENDGROUP* = 3 (* {0, 1} *);
		GDICOMMENT_MULTIFORMATS* = 1073741828 (* {2, 30} *);
		EPS_SIGNATURE* = 1179865157 (* {0, 2, 6, 12, 14, 16, 17, 20, 22, 25, 26, 30} *);
		WGL_FONT_LINES* = 0 (* {} *);
		WGL_FONT_POLYGONS* = 1 (* {0} *);
		LPD_DOUBLEBUFFER* = {0};
		LPD_STEREO* = {1};
		LPD_SUPPORT_GDI* = {4};
		LPD_SUPPORT_OPENGL* = {5};
		LPD_SHARE_DEPTH* = {6};
		LPD_SHARE_STENCIL* = {7};
		LPD_SHARE_ACCUM* = {8};
		LPD_SWAP_EXCHANGE* = {9};
		LPD_SWAP_COPY* = {10};
		LPD_TRANSPARENT* = {12};
		LPD_TYPE_RGBA* = {};
		LPD_TYPE_COLORINDEX* = {0};
		WGL_SWAP_MAIN_PLANE* = {0};
		WGL_SWAP_OVERLAY1* = {1};
		WGL_SWAP_OVERLAY2* = {2};
		WGL_SWAP_OVERLAY3* = {3};
		WGL_SWAP_OVERLAY4* = {4};
		WGL_SWAP_OVERLAY5* = {5};
		WGL_SWAP_OVERLAY6* = {6};
		WGL_SWAP_OVERLAY7* = {7};
		WGL_SWAP_OVERLAY8* = {8};
		WGL_SWAP_OVERLAY9* = {9};
		WGL_SWAP_OVERLAY10* = {10};
		WGL_SWAP_OVERLAY11* = {11};
		WGL_SWAP_OVERLAY12* = {12};
		WGL_SWAP_OVERLAY13* = {13};
		WGL_SWAP_OVERLAY14* = {14};
		WGL_SWAP_OVERLAY15* = {15};
		WGL_SWAP_UNDERLAY1* = {16};
		WGL_SWAP_UNDERLAY2* = {17};
		WGL_SWAP_UNDERLAY3* = {18};
		WGL_SWAP_UNDERLAY4* = {19};
		WGL_SWAP_UNDERLAY5* = {20};
		WGL_SWAP_UNDERLAY6* = {21};
		WGL_SWAP_UNDERLAY7* = {22};
		WGL_SWAP_UNDERLAY8* = {23};
		WGL_SWAP_UNDERLAY9* = {24};
		WGL_SWAP_UNDERLAY10* = {25};
		WGL_SWAP_UNDERLAY11* = {26};
		WGL_SWAP_UNDERLAY12* = {27};
		WGL_SWAP_UNDERLAY13* = {28};
		WGL_SWAP_UNDERLAY14* = {29};
		WGL_SWAP_UNDERLAY15* = {30};
		RT_CURSOR* = 1 (* {0} *);
		RT_BITMAP* = 2 (* {1} *);
		RT_ICON* = 3 (* {0, 1} *);
		RT_MENU* = 4 (* {2} *);
		RT_DIALOG* = 5 (* {0, 2} *);
		RT_STRING* = 6 (* {1, 2} *);
		RT_FONTDIR* = 7 (* {0..2} *);
		RT_FONT* = 8 (* {3} *);
		RT_ACCELERATOR* = 9 (* {0, 3} *);
		RT_RCDATA* = 10 (* {1, 3} *);
		RT_MESSAGETABLE* = 11 (* {0, 1, 3} *);
		DIFFERENCE* = 11 (* {0, 1, 3} *);
		RT_GROUP_CURSOR* = 12 (* {2, 3} *);
		RT_GROUP_ICON* = 14 (* {1..3} *);
		RT_VERSION* = 16 (* {4} *);
		RT_DLGINCLUDE* = 17 (* {0, 4} *);
		RT_PLUGPLAY* = 19 (* {0, 1, 4} *);
		RT_VXD* = 20 (* {2, 4} *);
		SB_HORZ* = 0 (* {} *);
		SB_VERT* = 1 (* {0} *);
		SB_CTL* = 2 (* {1} *);
		SB_BOTH* = 3 (* {0, 1} *);
		SB_LINEUP* = 0 (* {} *);
		SB_LINELEFT* = 0 (* {} *);
		SB_LINEDOWN* = 1 (* {0} *);
		SB_LINERIGHT* = 1 (* {0} *);
		SB_PAGEUP* = 2 (* {1} *);
		SB_PAGELEFT* = 2 (* {1} *);
		SB_PAGEDOWN* = 3 (* {0, 1} *);
		SB_PAGERIGHT* = 3 (* {0, 1} *);
		SB_THUMBPOSITION* = 4 (* {2} *);
		SB_THUMBTRACK* = 5 (* {0, 2} *);
		SB_TOP* = 6 (* {1, 2} *);
		SB_LEFT* = 6 (* {1, 2} *);
		SB_BOTTOM* = 7 (* {0..2} *);
		SB_RIGHT* = 7 (* {0..2} *);
		SB_ENDSCROLL* = 8 (* {3} *);
		SW_HIDE* = 0 (* {} *);
		SW_SHOWNORMAL* = 1 (* {0} *);
		SW_NORMAL* = 1 (* {0} *);
		SW_SHOWMINIMIZED* = 2 (* {1} *);
		SW_SHOWMAXIMIZED* = 3 (* {0, 1} *);
		SW_MAXIMIZE* = 3 (* {0, 1} *);
		SW_SHOWNOACTIVATE* = 4 (* {2} *);
		SW_SHOW* = 5 (* {0, 2} *);
		SW_MINIMIZE* = 6 (* {1, 2} *);
		SW_SHOWMINNOACTIVE* = 7 (* {0..2} *);
		SW_SHOWNA* = 8 (* {3} *);
		SW_RESTORE* = 9 (* {0, 3} *);
		SW_SHOWDEFAULT* = 10 (* {1, 3} *);
		SW_MAX* = 10 (* {1, 3} *);
		HIDE_WINDOW* = 0 (* {} *);
		SHOW_OPENWINDOW* = 1 (* {0} *);
		SHOW_ICONWINDOW* = 2 (* {1} *);
		SHOW_FULLSCREEN* = 3 (* {0, 1} *);
		SHOW_OPENNOACTIVATE* = 4 (* {2} *);
		SW_PARENTCLOSING* = 1 (* {0} *);
		SW_OTHERZOOM* = 2 (* {1} *);
		SW_PARENTOPENING* = 3 (* {0, 1} *);
		SW_OTHERUNZOOM* = 4 (* {2} *);
		KF_EXTENDED* = 256 (* {8} *);
		KF_DLGMODE* = 2048 (* {11} *);
		KF_MENUMODE* = 4096 (* {12} *);
		KF_ALTDOWN* = 8192 (* {13} *);
		KF_REPEAT* = 16384 (* {14} *);
		KF_UP* = 32768 (* {15} *);
		VK_LBUTTON* = 1 (* {0} *);
		VK_RBUTTON* = 2 (* {1} *);
		VK_CANCEL* = 3 (* {0, 1} *);
		VK_MBUTTON* = 4 (* {2} *);
		VK_BACK* = 8 (* {3} *);
		VK_TAB* = 9 (* {0, 3} *);
		VK_CLEAR* = 12 (* {2, 3} *);
		VK_RETURN* = 13 (* {0, 2, 3} *);
		VK_SHIFT* = 16 (* {4} *);
		VK_CONTROL* = 17 (* {0, 4} *);
		VK_MENU* = 18 (* {1, 4} *);
		VK_PAUSE* = 19 (* {0, 1, 4} *);
		VK_CAPITAL* = 20 (* {2, 4} *);
		VK_ESCAPE* = 27 (* {0, 1, 3, 4} *);
		VK_SPACE* = 32 (* {5} *);
		VK_PRIOR* = 33 (* {0, 5} *);
		VK_NEXT* = 34 (* {1, 5} *);
		VK_END* = 35 (* {0, 1, 5} *);
		VK_HOME* = 36 (* {2, 5} *);
		VK_LEFT* = 37 (* {0, 2, 5} *);
		VK_UP* = 38 (* {1, 2, 5} *);
		VK_RIGHT* = 39 (* {0..2, 5} *);
		VK_DOWN* = 40 (* {3, 5} *);
		VK_SELECT* = 41 (* {0, 3, 5} *);
		VK_PRINT* = 42 (* {1, 3, 5} *);
		VK_EXECUTE* = 43 (* {0, 1, 3, 5} *);
		VK_SNAPSHOT* = 44 (* {2, 3, 5} *);
		VK_INSERT* = 45 (* {0, 2, 3, 5} *);
		VK_DELETE* = 46 (* {1..3, 5} *);
		VK_HELP* = 47 (* {0..3, 5} *);
		VK_LWIN* = 91 (* {0, 1, 3, 4, 6} *);
		VK_RWIN* = 92 (* {2..4, 6} *);
		VK_APPS* = 93 (* {0, 2..4, 6} *);
		VK_NUMPAD0* = 96 (* {5, 6} *);
		VK_NUMPAD1* = 97 (* {0, 5, 6} *);
		VK_NUMPAD2* = 98 (* {1, 5, 6} *);
		VK_NUMPAD3* = 99 (* {0, 1, 5, 6} *);
		VK_NUMPAD4* = 100 (* {2, 5, 6} *);
		VK_NUMPAD5* = 101 (* {0, 2, 5, 6} *);
		VK_NUMPAD6* = 102 (* {1, 2, 5, 6} *);
		VK_NUMPAD7* = 103 (* {0..2, 5, 6} *);
		VK_NUMPAD8* = 104 (* {3, 5, 6} *);
		VK_NUMPAD9* = 105 (* {0, 3, 5, 6} *);
		VK_MULTIPLY* = 106 (* {1, 3, 5, 6} *);
		VK_ADD* = 107 (* {0, 1, 3, 5, 6} *);
		VK_SEPARATOR* = 108 (* {2, 3, 5, 6} *);
		VK_SUBTRACT* = 109 (* {0, 2, 3, 5, 6} *);
		VK_DECIMAL* = 110 (* {1..3, 5, 6} *);
		VK_DIVIDE* = 111 (* {0..3, 5, 6} *);
		VK_F1* = 112 (* {4..6} *);
		VK_F2* = 113 (* {0, 4..6} *);
		VK_F3* = 114 (* {1, 4..6} *);
		VK_F4* = 115 (* {0, 1, 4..6} *);
		VK_F5* = 116 (* {2, 4..6} *);
		VK_F6* = 117 (* {0, 2, 4..6} *);
		VK_F7* = 118 (* {1, 2, 4..6} *);
		VK_F8* = 119 (* {0..2, 4..6} *);
		VK_F9* = 120 (* {3..6} *);
		VK_F10* = 121 (* {0, 3..6} *);
		VK_F11* = 122 (* {1, 3..6} *);
		VK_F12* = 123 (* {0, 1, 3..6} *);
		VK_F13* = 124 (* {2..6} *);
		VK_F14* = 125 (* {0, 2..6} *);
		VK_F15* = 126 (* {1..6} *);
		VK_F16* = 127 (* {0..6} *);
		VK_F17* = 128 (* {7} *);
		VK_F18* = 129 (* {0, 7} *);
		VK_F19* = 130 (* {1, 7} *);
		VK_F20* = 131 (* {0, 1, 7} *);
		VK_F21* = 132 (* {2, 7} *);
		VK_F22* = 133 (* {0, 2, 7} *);
		VK_F23* = 134 (* {1, 2, 7} *);
		VK_F24* = 135 (* {0..2, 7} *);
		VK_NUMLOCK* = 144 (* {4, 7} *);
		VK_SCROLL* = 145 (* {0, 4, 7} *);
		VK_LSHIFT* = 160 (* {5, 7} *);
		VK_RSHIFT* = 161 (* {0, 5, 7} *);
		VK_LCONTROL* = 162 (* {1, 5, 7} *);
		VK_RCONTROL* = 163 (* {0, 1, 5, 7} *);
		VK_LMENU* = 164 (* {2, 5, 7} *);
		VK_RMENU* = 165 (* {0, 2, 5, 7} *);
		VK_PROCESSKEY* = 229 (* {0, 2, 5..7} *);
		VK_ATTN* = 246 (* {1, 2, 4..7} *);
		VK_CRSEL* = 247 (* {0..2, 4..7} *);
		VK_EXSEL* = 248 (* {3..7} *);
		VK_EREOF* = 249 (* {0, 3..7} *);
		VK_PLAY* = 250 (* {1, 3..7} *);
		VK_ZOOM* = 251 (* {0, 1, 3..7} *);
		VK_NONAME* = 252 (* {2..7} *);
		VK_PA1* = 253 (* {0, 2..7} *);
		VK_OEM_CLEAR* = 254 (* {1..7} *);
		WH_MIN* = -1 (* {0..31} *);
		WH_MSGFILTER* = -1 (* {0..31} *);
		WH_JOURNALRECORD* = 0 (* {} *);
		WH_JOURNALPLAYBACK* = 1 (* {0} *);
		WH_KEYBOARD* = 2 (* {1} *);
		WH_GETMESSAGE* = 3 (* {0, 1} *);
		WH_CALLWNDPROC* = 4 (* {2} *);
		WH_CBT* = 5 (* {0, 2} *);
		WH_SYSMSGFILTER* = 6 (* {1, 2} *);
		WH_MOUSE* = 7 (* {0..2} *);
		WH_HARDWARE* = 8 (* {3} *);
		WH_DEBUG* = 9 (* {0, 3} *);
		WH_SHELL* = 10 (* {1, 3} *);
		WH_FOREGROUNDIDLE* = 11 (* {0, 1, 3} *);
		WH_CALLWNDPROCRET* = 12 (* {2, 3} *);
		WH_MAX* = 12 (* {2, 3} *);
		WH_MINHOOK* = -1 (* {0..31} *);
		WH_MAXHOOK* = 12 (* {2, 3} *);
		HC_ACTION* = 0 (* {} *);
		HC_GETNEXT* = 1 (* {0} *);
		HC_SKIP* = 2 (* {1} *);
		HC_NOREMOVE* = 3 (* {0, 1} *);
		HC_NOREM* = 3 (* {0, 1} *);
		HC_SYSMODALON* = 4 (* {2} *);
		HC_SYSMODALOFF* = 5 (* {0, 2} *);
		HCBT_MOVESIZE* = 0 (* {} *);
		HCBT_MINMAX* = 1 (* {0} *);
		HCBT_QS* = 2 (* {1} *);
		HCBT_CREATEWND* = 3 (* {0, 1} *);
		HCBT_DESTROYWND* = 4 (* {2} *);
		HCBT_ACTIVATE* = 5 (* {0, 2} *);
		HCBT_CLICKSKIPPED* = 6 (* {1, 2} *);
		HCBT_KEYSKIPPED* = 7 (* {0..2} *);
		HCBT_SYSCOMMAND* = 8 (* {3} *);
		HCBT_SETFOCUS* = 9 (* {0, 3} *);
		MSGF_DIALOGBOX* = 0 (* {} *);
		MSGF_MESSAGEBOX* = 1 (* {0} *);
		MSGF_MENU* = 2 (* {1} *);
		MSGF_MOVE* = 3 (* {0, 1} *);
		MSGF_SIZE* = 4 (* {2} *);
		MSGF_SCROLLBAR* = 5 (* {0, 2} *);
		MSGF_NEXTWINDOW* = 6 (* {1, 2} *);
		MSGF_MAINLOOP* = 8 (* {3} *);
		MSGF_MAX* = 8 (* {3} *);
		MSGF_USER* = 4096 (* {12} *);
		HSHELL_WINDOWCREATED* = 1 (* {0} *);
		HSHELL_WINDOWDESTROYED* = 2 (* {1} *);
		HSHELL_ACTIVATESHELLWINDOW* = 3 (* {0, 1} *);
		HSHELL_WINDOWACTIVATED* = 4 (* {2} *);
		HSHELL_GETMINRECT* = 5 (* {0, 2} *);
		HSHELL_REDRAW* = 6 (* {1, 2} *);
		HSHELL_TASKMAN* = 7 (* {0..2} *);
		HSHELL_LANGUAGE* = 8 (* {3} *);
		HKL_PREV* = 0 (* {} *);
		HKL_NEXT* = 1 (* {0} *);
		KLF_ACTIVATE* = 1 (* {0} *);
		KLF_SUBSTITUTE_OK* = 2 (* {1} *);
		KLF_UNLOADPREVIOUS* = 4 (* {2} *);
		KLF_REORDER* = 8 (* {3} *);
		KLF_REPLACELANG* = 16 (* {4} *);
		KLF_NOTELLSHELL* = 128 (* {7} *);
		KL_NAMELENGTH* = 9 (* {0, 3} *);
		DESKTOP_READOBJECTS* = {0};
		DESKTOP_CREATEWINDOW* = {1};
		DESKTOP_CREATEMENU* = {2};
		DESKTOP_HOOKCONTROL* = {3};
		DESKTOP_JOURNALRECORD* = {4};
		DESKTOP_JOURNALPLAYBACK* = {5};
		DESKTOP_ENUMERATE* = {6};
		DESKTOP_WRITEOBJECTS* = {7};
		DESKTOP_SWITCHDESKTOP* = {8};
		DF_ALLOWOTHERACCOUNTHOOK* = {0};
		WINSTA_ENUMDESKTOPS* = {0};
		WINSTA_READATTRIBUTES* = {1};
		WINSTA_ACCESSCLIPBOARD* = {2};
		WINSTA_CREATEDESKTOP* = {3};
		WINSTA_WRITEATTRIBUTES* = {4};
		WINSTA_ACCESSGLOBALATOMS* = {5};
		WINSTA_EXITWINDOWS* = {6};
		WINSTA_ENUMERATE* = {8};
		WINSTA_READSCREEN* = {9};
		WSF_VISIBLE* = {0};
		UOI_FLAGS* = 1 (* {0} *);
		UOI_NAME* = 2 (* {1} *);
		UOI_TYPE* = 3 (* {0, 1} *);
		UOI_USER_SID* = 4 (* {2} *);
		GWL_WNDPROC* = -4 (* {2..31} *);
		GWL_HINSTANCE* = -6 (* {1, 3..31} *);
		GWL_HWNDPARENT* = -8 (* {3..31} *);
		GWL_STYLE* = -16 (* {4..31} *);
		GWL_EXSTYLE* = -20 (* {2, 3, 5..31} *);
		GWL_USERDATA* = -21 (* {0, 1, 3, 5..31} *);
		GWL_ID* = -12 (* {2, 4..31} *);
		GCL_MENUNAME* = -8 (* {3..31} *);
		GCL_HBRBACKGROUND* = -10 (* {1, 2, 4..31} *);
		GCL_HCURSOR* = -12 (* {2, 4..31} *);
		GCL_HICON* = -14 (* {1, 4..31} *);
		GCL_HMODULE* = -16 (* {4..31} *);
		GCL_CBWNDEXTRA* = -18 (* {1..3, 5..31} *);
		GCL_CBCLSEXTRA* = -20 (* {2, 3, 5..31} *);
		GCL_WNDPROC* = -24 (* {3, 5..31} *);
		GCL_STYLE* = -26 (* {1, 2, 5..31} *);
		GCW_ATOM* = -32 (* {5..31} *);
		GCL_HICONSM* = -34 (* {1..4, 6..31} *);
		WM_NULL* = 0 (* {} *);
		WM_CREATE* = 1 (* {0} *);
		WM_DESTROY* = 2 (* {1} *);
		WM_MOVE* = 3 (* {0, 1} *);
		WM_SIZE* = 5 (* {0, 2} *);
		WM_ACTIVATE* = 6 (* {1, 2} *);
		WA_INACTIVE* = 0 (* {} *);
		WA_ACTIVE* = 1 (* {0} *);
		WA_CLICKACTIVE* = 2 (* {1} *);
		WM_SETFOCUS* = 7 (* {0..2} *);
		WM_KILLFOCUS* = 8 (* {3} *);
		WM_ENABLE* = 10 (* {1, 3} *);
		WM_SETREDRAW* = 11 (* {0, 1, 3} *);
		WM_SETTEXT* = 12 (* {2, 3} *);
		WM_GETTEXT* = 13 (* {0, 2, 3} *);
		WM_GETTEXTLENGTH* = 14 (* {1..3} *);
		WM_PAINT* = 15 (* {0..3} *);
		WM_CLOSE* = 16 (* {4} *);
		WM_QUERYENDSESSION* = 17 (* {0, 4} *);
		WM_QUIT* = 18 (* {1, 4} *);
		WM_QUERYOPEN* = 19 (* {0, 1, 4} *);
		WM_ERASEBKGND* = 20 (* {2, 4} *);
		WM_SYSCOLORCHANGE* = 21 (* {0, 2, 4} *);
		WM_ENDSESSION* = 22 (* {1, 2, 4} *);
		WM_SHOWWINDOW* = 24 (* {3, 4} *);
		WM_WININICHANGE* = 26 (* {1, 3, 4} *);
		WM_SETTINGCHANGE* = 26 (* {1, 3, 4} *);
		WM_DEVMODECHANGE* = 27 (* {0, 1, 3, 4} *);
		WM_ACTIVATEAPP* = 28 (* {2..4} *);
		WM_FONTCHANGE* = 29 (* {0, 2..4} *);
		WM_TIMECHANGE* = 30 (* {1..4} *);
		WM_CANCELMODE* = 31 (* {0..4} *);
		WM_SETCURSOR* = 32 (* {5} *);
		WM_MOUSEACTIVATE* = 33 (* {0, 5} *);
		WM_CHILDACTIVATE* = 34 (* {1, 5} *);
		WM_QUEUESYNC* = 35 (* {0, 1, 5} *);
		WM_GETMINMAXINFO* = 36 (* {2, 5} *);
		WM_PAINTICON* = 38 (* {1, 2, 5} *);
		WM_ICONERASEBKGND* = 39 (* {0..2, 5} *);
		WM_NEXTDLGCTL* = 40 (* {3, 5} *);
		WM_SPOOLERSTATUS* = 42 (* {1, 3, 5} *);
		WM_DRAWITEM* = 43 (* {0, 1, 3, 5} *);
		WM_MEASUREITEM* = 44 (* {2, 3, 5} *);
		WM_DELETEITEM* = 45 (* {0, 2, 3, 5} *);
		WM_VKEYTOITEM* = 46 (* {1..3, 5} *);
		WM_CHARTOITEM* = 47 (* {0..3, 5} *);
		WM_SETFONT* = 48 (* {4, 5} *);
		WM_GETFONT* = 49 (* {0, 4, 5} *);
		WM_SETHOTKEY* = 50 (* {1, 4, 5} *);
		WM_GETHOTKEY* = 51 (* {0, 1, 4, 5} *);
		WM_QUERYDRAGICON* = 55 (* {0..2, 4, 5} *);
		WM_COMPAREITEM* = 57 (* {0, 3..5} *);
		WM_COMPACTING* = 65 (* {0, 6} *);
		WM_COMMNOTIFY* = 68 (* {2, 6} *);
		WM_WINDOWPOSCHANGING* = 70 (* {1, 2, 6} *);
		WM_WINDOWPOSCHANGED* = 71 (* {0..2, 6} *);
		WM_POWER* = 72 (* {3, 6} *);
		PWR_OK* = 1 (* {0} *);
		PWR_FAIL* = -1 (* {0..31} *);
		PWR_SUSPENDREQUEST* = 1 (* {0} *);
		PWR_SUSPENDRESUME* = 2 (* {1} *);
		PWR_CRITICALRESUME* = 3 (* {0, 1} *);
		WM_COPYDATA* = 74 (* {1, 3, 6} *);
		WM_CANCELJOURNAL* = 75 (* {0, 1, 3, 6} *);
		WM_NOTIFY* = 78 (* {1..3, 6} *);
		WM_INPUTLANGCHANGEREQUEST* = 80 (* {4, 6} *);
		WM_INPUTLANGCHANGE* = 81 (* {0, 4, 6} *);
		WM_TCARD* = 82 (* {1, 4, 6} *);
		WM_HELP* = 83 (* {0, 1, 4, 6} *);
		WM_USERCHANGED* = 84 (* {2, 4, 6} *);
		WM_NOTIFYFORMAT* = 85 (* {0, 2, 4, 6} *);
		NFR_ANSI* = 1 (* {0} *);
		NFR_UNICODE* = 2 (* {1} *);
		NF_QUERY* = 3 (* {0, 1} *);
		NF_REQUERY* = 4 (* {2} *);
		WM_CONTEXTMENU* = 123 (* {0, 1, 3..6} *);
		WM_STYLECHANGING* = 124 (* {2..6} *);
		WM_STYLECHANGED* = 125 (* {0, 2..6} *);
		WM_DISPLAYCHANGE* = 126 (* {1..6} *);
		WM_GETICON* = 127 (* {0..6} *);
		WM_SETICON* = 128 (* {7} *);
		WM_NCCREATE* = 129 (* {0, 7} *);
		WM_NCDESTROY* = 130 (* {1, 7} *);
		WM_NCCALCSIZE* = 131 (* {0, 1, 7} *);
		WM_NCHITTEST* = 132 (* {2, 7} *);
		WM_NCPAINT* = 133 (* {0, 2, 7} *);
		WM_NCACTIVATE* = 134 (* {1, 2, 7} *);
		WM_GETDLGCODE* = 135 (* {0..2, 7} *);
		WM_NCMOUSEMOVE* = 160 (* {5, 7} *);
		WM_NCLBUTTONDOWN* = 161 (* {0, 5, 7} *);
		WM_NCLBUTTONUP* = 162 (* {1, 5, 7} *);
		WM_NCLBUTTONDBLCLK* = 163 (* {0, 1, 5, 7} *);
		WM_NCRBUTTONDOWN* = 164 (* {2, 5, 7} *);
		WM_NCRBUTTONUP* = 165 (* {0, 2, 5, 7} *);
		WM_NCRBUTTONDBLCLK* = 166 (* {1, 2, 5, 7} *);
		WM_NCMBUTTONDOWN* = 167 (* {0..2, 5, 7} *);
		WM_NCMBUTTONUP* = 168 (* {3, 5, 7} *);
		WM_NCMBUTTONDBLCLK* = 169 (* {0, 3, 5, 7} *);
		WM_KEYFIRST* = 256 (* {8} *);
		WM_KEYDOWN* = 256 (* {8} *);
		WM_KEYUP* = 257 (* {0, 8} *);
		WM_CHAR* = 258 (* {1, 8} *);
		WM_DEADCHAR* = 259 (* {0, 1, 8} *);
		WM_SYSKEYDOWN* = 260 (* {2, 8} *);
		WM_SYSKEYUP* = 261 (* {0, 2, 8} *);
		WM_SYSCHAR* = 262 (* {1, 2, 8} *);
		WM_SYSDEADCHAR* = 263 (* {0..2, 8} *);
		WM_KEYLAST* = 264 (* {3, 8} *);
		WM_UNICHAR* = 265;
		WM_IME_STARTCOMPOSITION* = 269 (* {0, 2, 3, 8} *);
		WM_IME_ENDCOMPOSITION* = 270 (* {1..3, 8} *);
		WM_IME_COMPOSITION* = 271 (* {0..3, 8} *);
		WM_IME_KEYLAST* = 271 (* {0..3, 8} *);
		WM_INITDIALOG* = 272 (* {4, 8} *);
		WM_COMMAND* = 273 (* {0, 4, 8} *);
		WM_SYSCOMMAND* = 274 (* {1, 4, 8} *);
		WM_TIMER* = 275 (* {0, 1, 4, 8} *);
		WM_HSCROLL* = 276 (* {2, 4, 8} *);
		WM_VSCROLL* = 277 (* {0, 2, 4, 8} *);
		WM_INITMENU* = 278 (* {1, 2, 4, 8} *);
		WM_INITMENUPOPUP* = 279 (* {0..2, 4, 8} *);
		WM_MENUSELECT* = 287 (* {0..4, 8} *);
		WM_MENUCHAR* = 288 (* {5, 8} *);
		WM_ENTERIDLE* = 289 (* {0, 5, 8} *);
		WM_CTLCOLORMSGBOX* = 306 (* {1, 4, 5, 8} *);
		WM_CTLCOLOREDIT* = 307 (* {0, 1, 4, 5, 8} *);
		WM_CTLCOLORLISTBOX* = 308 (* {2, 4, 5, 8} *);
		WM_CTLCOLORBTN* = 309 (* {0, 2, 4, 5, 8} *);
		WM_CTLCOLORDLG* = 310 (* {1, 2, 4, 5, 8} *);
		WM_CTLCOLORSCROLLBAR* = 311 (* {0..2, 4, 5, 8} *);
		WM_CTLCOLORSTATIC* = 312 (* {3..5, 8} *);
		WM_MOUSEFIRST* = 512 (* {9} *);
		WM_MOUSEMOVE* = 512 (* {9} *);
		WM_LBUTTONDOWN* = 513 (* {0, 9} *);
		WM_LBUTTONUP* = 514 (* {1, 9} *);
		WM_LBUTTONDBLCLK* = 515 (* {0, 1, 9} *);
		WM_RBUTTONDOWN* = 516 (* {2, 9} *);
		WM_RBUTTONUP* = 517 (* {0, 2, 9} *);
		WM_RBUTTONDBLCLK* = 518 (* {1, 2, 9} *);
		WM_MBUTTONDOWN* = 519 (* {0..2, 9} *);
		WM_MBUTTONUP* = 520 (* {3, 9} *);
		WM_MBUTTONDBLCLK* = 521 (* {0, 3, 9} *);
		WM_MOUSEWHEEL* = 522 (* {1, 3, 9} *);
		WM_MOUSELAST* = 522 (* {1, 3, 9} *);
		WM_PARENTNOTIFY* = 528 (* {4, 9} *);
		MENULOOP_WINDOW* = 0 (* {} *);
		MENULOOP_POPUP* = 1 (* {0} *);
		WM_ENTERMENULOOP* = 529 (* {0, 4, 9} *);
		WM_EXITMENULOOP* = 530 (* {1, 4, 9} *);
		WM_NEXTMENU* = 531 (* {0, 1, 4, 9} *);
		WM_SIZING* = 532 (* {2, 4, 9} *);
		WM_CAPTURECHANGED* = 533 (* {0, 2, 4, 9} *);
		WM_MOVING* = 534 (* {1, 2, 4, 9} *);
		WM_POWERBROADCAST* = 536 (* {3, 4, 9} *);
		WM_DEVICECHANGE* = 537 (* {0, 3, 4, 9} *);
		WM_IME_SETCONTEXT* = 641 (* {0, 7, 9} *);
		WM_IME_NOTIFY* = 642 (* {1, 7, 9} *);
		WM_IME_CONTROL* = 643 (* {0, 1, 7, 9} *);
		WM_IME_COMPOSITIONFULL* = 644 (* {2, 7, 9} *);
		WM_IME_SELECT* = 645 (* {0, 2, 7, 9} *);
		WM_IME_CHAR* = 646 (* {1, 2, 7, 9} *);
		WM_IME_KEYDOWN* = 656 (* {4, 7, 9} *);
		WM_IME_KEYUP* = 657 (* {0, 4, 7, 9} *);
		WM_MDICREATE* = 544 (* {5, 9} *);
		WM_MDIDESTROY* = 545 (* {0, 5, 9} *);
		WM_MDIACTIVATE* = 546 (* {1, 5, 9} *);
		WM_MDIRESTORE* = 547 (* {0, 1, 5, 9} *);
		WM_MDINEXT* = 548 (* {2, 5, 9} *);
		WM_MDIMAXIMIZE* = 549 (* {0, 2, 5, 9} *);
		WM_MDITILE* = 550 (* {1, 2, 5, 9} *);
		WM_MDICASCADE* = 551 (* {0..2, 5, 9} *);
		WM_MDIICONARRANGE* = 552 (* {3, 5, 9} *);
		WM_MDIGETACTIVE* = 553 (* {0, 3, 5, 9} *);
		WM_MDISETMENU* = 560 (* {4, 5, 9} *);
		WM_ENTERSIZEMOVE* = 561 (* {0, 4, 5, 9} *);
		WM_EXITSIZEMOVE* = 562 (* {1, 4, 5, 9} *);
		WM_DROPFILES* = 563 (* {0, 1, 4, 5, 9} *);
		WM_MDIREFRESHMENU* = 564 (* {2, 4, 5, 9} *);
		WM_CUT* = 768 (* {8, 9} *);
		WM_COPY* = 769 (* {0, 8, 9} *);
		WM_PASTE* = 770 (* {1, 8, 9} *);
		WM_CLEAR* = 771 (* {0, 1, 8, 9} *);
		WM_UNDO* = 772 (* {2, 8, 9} *);
		WM_RENDERFORMAT* = 773 (* {0, 2, 8, 9} *);
		WM_RENDERALLFORMATS* = 774 (* {1, 2, 8, 9} *);
		WM_DESTROYCLIPBOARD* = 775 (* {0..2, 8, 9} *);
		WM_DRAWCLIPBOARD* = 776 (* {3, 8, 9} *);
		WM_PAINTCLIPBOARD* = 777 (* {0, 3, 8, 9} *);
		WM_VSCROLLCLIPBOARD* = 778 (* {1, 3, 8, 9} *);
		WM_SIZECLIPBOARD* = 779 (* {0, 1, 3, 8, 9} *);
		WM_ASKCBFORMATNAME* = 780 (* {2, 3, 8, 9} *);
		WM_CHANGECBCHAIN* = 781 (* {0, 2, 3, 8, 9} *);
		WM_HSCROLLCLIPBOARD* = 782 (* {1..3, 8, 9} *);
		WM_QUERYNEWPALETTE* = 783 (* {0..3, 8, 9} *);
		WM_PALETTEISCHANGING* = 784 (* {4, 8, 9} *);
		WM_PALETTECHANGED* = 785 (* {0, 4, 8, 9} *);
		WM_HOTKEY* = 786 (* {1, 4, 8, 9} *);
		WM_PRINT* = 791 (* {0..2, 4, 8, 9} *);
		WM_PRINTCLIENT* = 792 (* {3, 4, 8, 9} *);
		WM_HANDHELDFIRST* = 856 (* {3, 4, 6, 8, 9} *);
		WM_HANDHELDLAST* = 863 (* {0..4, 6, 8, 9} *);
		WM_AFXFIRST* = 864 (* {5, 6, 8, 9} *);
		WM_AFXLAST* = 895 (* {0..6, 8, 9} *);
		WM_PENWINFIRST* = 896 (* {7..9} *);
		WM_PENWINLAST* = 911 (* {0..3, 7..9} *);
		WM_APP* = 32768 (* {15} *);
		WM_USER* = 1024 (* {10} *);
		WMSZ_LEFT* = 1 (* {0} *);
		WMSZ_RIGHT* = 2 (* {1} *);
		WMSZ_TOP* = 3 (* {0, 1} *);
		WMSZ_TOPLEFT* = 4 (* {2} *);
		WMSZ_TOPRIGHT* = 5 (* {0, 2} *);
		WMSZ_BOTTOM* = 6 (* {1, 2} *);
		WMSZ_BOTTOMLEFT* = 7 (* {0..2} *);
		WMSZ_BOTTOMRIGHT* = 8 (* {3} *);
		UNICODE_NOCHAR* = 0FFFFH;
		ST_BEGINSWP* = 0 (* {} *);
		ST_ENDSWP* = 1 (* {0} *);
		HTERROR* = -2 (* {1..31} *);
		HTTRANSPARENT* = -1 (* {0..31} *);
		HTNOWHERE* = 0 (* {} *);
		HTCLIENT* = 1 (* {0} *);
		HTCAPTION* = 2 (* {1} *);
		HTSYSMENU* = 3 (* {0, 1} *);
		HTGROWBOX* = 4 (* {2} *);
		HTSIZE* = 4 (* {2} *);
		HTMENU* = 5 (* {0, 2} *);
		HTHSCROLL* = 6 (* {1, 2} *);
		HTVSCROLL* = 7 (* {0..2} *);
		HTMINBUTTON* = 8 (* {3} *);
		HTMAXBUTTON* = 9 (* {0, 3} *);
		HTLEFT* = 10 (* {1, 3} *);
		HTRIGHT* = 11 (* {0, 1, 3} *);
		HTTOP* = 12 (* {2, 3} *);
		HTTOPLEFT* = 13 (* {0, 2, 3} *);
		HTTOPRIGHT* = 14 (* {1..3} *);
		HTBOTTOM* = 15 (* {0..3} *);
		HTBOTTOMLEFT* = 16 (* {4} *);
		HTBOTTOMRIGHT* = 17 (* {0, 4} *);
		HTBORDER* = 18 (* {1, 4} *);
		HTREDUCE* = 8 (* {3} *);
		HTZOOM* = 9 (* {0, 3} *);
		HTSIZEFIRST* = 10 (* {1, 3} *);
		HTSIZELAST* = 17 (* {0, 4} *);
		HTOBJECT* = 19 (* {0, 1, 4} *);
		HTCLOSE* = 20 (* {2, 4} *);
		HTHELP* = 21 (* {0, 2, 4} *);
		SMTO_NORMAL* = 0 (* {} *);
		SMTO_BLOCK* = 1 (* {0} *);
		SMTO_ABORTIFHUNG* = 2 (* {1} *);
		MA_ACTIVATE* = 1 (* {0} *);
		MA_ACTIVATEANDEAT* = 2 (* {1} *);
		MA_NOACTIVATE* = 3 (* {0, 1} *);
		MA_NOACTIVATEANDEAT* = 4 (* {2} *);
		ICON_SMALL* = 0 (* {} *);
		ICON_BIG* = 1 (* {0} *);
		SIZE_RESTORED* = 0 (* {} *);
		SIZE_MINIMIZED* = 1 (* {0} *);
		SIZE_MAXIMIZED* = 2 (* {1} *);
		SIZE_MAXSHOW* = 3 (* {0, 1} *);
		SIZE_MAXHIDE* = 4 (* {2} *);
		SIZENORMAL* = 0 (* {} *);
		SIZEICONIC* = 1 (* {0} *);
		SIZEFULLSCREEN* = 2 (* {1} *);
		SIZEZOOMSHOW* = 3 (* {0, 1} *);
		SIZEZOOMHIDE* = 4 (* {2} *);
		WVR_ALIGNTOP* = {4};
		WVR_ALIGNLEFT* = {5};
		WVR_ALIGNBOTTOM* = {6};
		WVR_ALIGNRIGHT* = {7};
		WVR_HREDRAW* = {8};
		WVR_VREDRAW* = {9};
		WVR_REDRAW* = {8, 9};
		WVR_VALIDRECTS* = {10};
		MK_LBUTTON* = {0};
		MK_RBUTTON* = {1};
		MK_SHIFT* = {2};
		MK_CONTROL* = {3};
		MK_MBUTTON* = {4};
		WS_OVERLAPPED* = {};
		WS_POPUP* = {31};
		WS_CHILD* = {30};
		WS_MINIMIZE* = {29};
		WS_VISIBLE* = {28};
		WS_DISABLED* = {27};
		WS_CLIPSIBLINGS* = {26};
		WS_CLIPCHILDREN* = {25};
		WS_MAXIMIZE* = {24};
		WS_CAPTION* = {22, 23};
		WS_BORDER* = {23};
		WS_DLGFRAME* = {22};
		WS_VSCROLL* = {21};
		WS_HSCROLL* = {20};
		WS_SYSMENU* = {19};
		WS_THICKFRAME* = {18};
		WS_GROUP* = {17};
		WS_TABSTOP* = {16};
		WS_MINIMIZEBOX* = {17};
		WS_MAXIMIZEBOX* = {16};
		WS_TILED* = {};
		WS_ICONIC* = {29};
		WS_SIZEBOX* = {18};
		WS_TILEDWINDOW* = {16..19, 22, 23};
		WS_OVERLAPPEDWINDOW* = {16..19, 22, 23};
		WS_POPUPWINDOW* = {19, 23, 31};
		WS_CHILDWINDOW* = {30};
		WS_EX_DLGMODALFRAME* = {0};
		WS_EX_NOPARENTNOTIFY* = {2};
		WS_EX_TOPMOST* = {3};
		WS_EX_ACCEPTFILES* = {4};
		WS_EX_TRANSPARENT* = {5};
		WS_EX_MDICHILD* = {6};
		WS_EX_TOOLWINDOW* = {7};
		WS_EX_WINDOWEDGE* = {8};
		WS_EX_CLIENTEDGE* = {9};
		WS_EX_CONTEXTHELP* = {10};
		WS_EX_RIGHT* = {12};
		WS_EX_LEFT* = {};
		WS_EX_RTLREADING* = {13};
		WS_EX_LTRREADING* = {};
		WS_EX_LEFTSCROLLBAR* = {14};
		WS_EX_RIGHTSCROLLBAR* = {};
		WS_EX_CONTROLPARENT* = {16};
		WS_EX_STATICEDGE* = {17};
		WS_EX_APPWINDOW* = {18};
		WS_EX_OVERLAPPEDWINDOW* = {8, 9};
		WS_EX_PALETTEWINDOW* = {3, 7, 8};
		CS_VREDRAW* = {0};
		CS_HREDRAW* = {1};
		CS_KEYCVTWINDOW* = {2};
		CS_DBLCLKS* = {3};
		CS_OWNDC* = {5};
		CS_CLASSDC* = {6};
		CS_PARENTDC* = {7};
		CS_NOKEYCVT* = {8};
		CS_NOCLOSE* = {9};
		CS_SAVEBITS* = {11};
		CS_BYTEALIGNCLIENT* = {12};
		CS_BYTEALIGNWINDOW* = {13};
		CS_GLOBALCLASS* = {14};
		CS_IME* = {16};
		PRF_CHECKVISIBLE* = {0};
		PRF_NONCLIENT* = {1};
		PRF_CLIENT* = {2};
		PRF_ERASEBKGND* = {3};
		PRF_CHILDREN* = {4};
		PRF_OWNED* = {5};
		BDR_RAISEDOUTER* = {0};
		BDR_SUNKENOUTER* = {1};
		BDR_RAISEDINNER* = {2};
		BDR_SUNKENINNER* = {3};
		BDR_OUTER* = {0, 1};
		BDR_INNER* = {2, 3};
		BDR_RAISED* = {0, 2};
		BDR_SUNKEN* = {1, 3};
		EDGE_RAISED* = {0, 2};
		EDGE_SUNKEN* = {1, 3};
		EDGE_ETCHED* = {1, 2};
		EDGE_BUMP* = {0, 3};
		BF_LEFT* = {0};
		BF_TOP* = {1};
		BF_RIGHT* = {2};
		BF_BOTTOM* = {3};
		BF_TOPLEFT* = {0, 1};
		BF_TOPRIGHT* = {1, 2};
		BF_BOTTOMLEFT* = {0, 3};
		BF_BOTTOMRIGHT* = {2, 3};
		BF_RECT* = {0..3};
		BF_DIAGONAL* = {4};
		BF_DIAGONAL_ENDTOPRIGHT* = {1, 2, 4};
		BF_DIAGONAL_ENDTOPLEFT* = {0, 1, 4};
		BF_DIAGONAL_ENDBOTTOMLEFT* = {0, 3, 4};
		BF_DIAGONAL_ENDBOTTOMRIGHT* = {2..4};
		BF_MIDDLE* = {11};
		BF_SOFT* = {12};
		BF_ADJUST* = {13};
		BF_FLAT* = {14};
		BF_MONO* = {15};
		DFC_CAPTION* = 1 (* {0} *);
		DFC_MENU* = 2 (* {1} *);
		DFC_SCROLL* = 3 (* {0, 1} *);
		DFC_BUTTON* = 4 (* {2} *);
		DFCS_CAPTIONCLOSE* = {};
		DFCS_CAPTIONMIN* = {0};
		DFCS_CAPTIONMAX* = {1};
		DFCS_CAPTIONRESTORE* = {0, 1};
		DFCS_CAPTIONHELP* = {2};
		DFCS_MENUARROW* = {};
		DFCS_MENUCHECK* = {0};
		DFCS_MENUBULLET* = {1};
		DFCS_MENUARROWRIGHT* = {2};
		DFCS_SCROLLUP* = {};
		DFCS_SCROLLDOWN* = {0};
		DFCS_SCROLLLEFT* = {1};
		DFCS_SCROLLRIGHT* = {0, 1};
		DFCS_SCROLLCOMBOBOX* = {0, 2};
		DFCS_SCROLLSIZEGRIP* = {3};
		DFCS_SCROLLSIZEGRIPRIGHT* = {4};
		DFCS_BUTTONCHECK* = {};
		DFCS_BUTTONRADIOIMAGE* = {0};
		DFCS_BUTTONRADIOMASK* = {1};
		DFCS_BUTTONRADIO* = {2};
		DFCS_BUTTON3STATE* = {3};
		DFCS_BUTTONPUSH* = {4};
		DFCS_INACTIVE* = {8};
		DFCS_PUSHED* = {9};
		DFCS_CHECKED* = {10};
		DFCS_ADJUSTRECT* = {13};
		DFCS_FLAT* = {14};
		DFCS_MONO* = {15};
		DC_ACTIVE* = 1 (* {0} *);
		DC_SMALLCAP* = 2 (* {1} *);
		DC_ICON* = 4 (* {2} *);
		DC_TEXT* = 8 (* {3} *);
		DC_INBUTTON* = 16 (* {4} *);
		IDANI_OPEN* = 1 (* {0} *);
		IDANI_CLOSE* = 2 (* {1} *);
		IDANI_CAPTION* = 3 (* {0, 1} *);
		CF_TEXT* = 1 (* {0} *);
		CF_BITMAP* = 2 (* {1} *);
		CF_METAFILEPICT* = 3 (* {0, 1} *);
		CF_SYLK* = 4 (* {2} *);
		CF_DIF* = 5 (* {0, 2} *);
		CF_TIFF* = 6 (* {1, 2} *);
		CF_OEMTEXT* = 7 (* {0..2} *);
		CF_DIB* = 8 (* {3} *);
		CF_PALETTE* = 9 (* {0, 3} *);
		CF_PENDATA* = 10 (* {1, 3} *);
		CF_RIFF* = 11 (* {0, 1, 3} *);
		CF_WAVE* = 12 (* {2, 3} *);
		CF_UNICODETEXT* = 13 (* {0, 2, 3} *);
		CF_ENHMETAFILE* = 14 (* {1..3} *);
		CF_HDROP* = 15 (* {0..3} *);
		CF_LOCALE* = 16 (* {4} *);
		CF_MAX* = 17 (* {0, 4} *);
		CF_OWNERDISPLAY* = 128 (* {7} *);
		CF_DSPTEXT* = 129 (* {0, 7} *);
		CF_DSPBITMAP* = 130 (* {1, 7} *);
		CF_DSPMETAFILEPICT* = 131 (* {0, 1, 7} *);
		CF_DSPENHMETAFILE* = 142 (* {1..3, 7} *);
		CF_PRIVATEFIRST* = 512 (* {9} *);
		CF_PRIVATELAST* = 767 (* {0..7, 9} *);
		CF_GDIOBJFIRST* = 768 (* {8, 9} *);
		CF_GDIOBJLAST* = 1023 (* {0..9} *);
		FVIRTKEY* = 1 (* {0} *);
		FNOINVERT* = 2 (* {1} *);
		FSHIFT* = 4 (* {2} *);
		FCONTROL* = 8 (* {3} *);
		FALT* = 16 (* {4} *);
		WPF_SETMINPOSITION* = {0};
		WPF_RESTORETOMAXIMIZED* = {1};
		ODT_MENU* = {0};
		ODT_LISTBOX* = {1};
		ODT_COMBOBOX* = {0, 1};
		ODT_BUTTON* = {2};
		ODT_STATIC* = {0, 2};
		ODA_DRAWENTIRE* = {0};
		ODA_SELECT* = {1};
		ODA_FOCUS* = {2};
		ODS_SELECTED* = {0};
		ODS_GRAYED* = {1};
		ODS_DISABLED* = {2};
		ODS_CHECKED* = {3};
		ODS_FOCUS* = {4};
		ODS_DEFAULT* = {5};
		ODS_COMBOBOXEDIT* = {12};
		PM_NOREMOVE* = 0 (* {} *);
		PM_REMOVE* = 1 (* {0} *);
		PM_NOYIELD* = 2 (* {1} *);
		MOD_ALT* = {0};
		MOD_CONTROL* = {1};
		MOD_SHIFT* = {2};
		MOD_WIN* = {3};
		IDHOT_SNAPWINDOW* = -1 (* {0..31} *);
		IDHOT_SNAPDESKTOP* = -2 (* {1..31} *);
		EW_RESTARTWINDOWS* = 66 (* {1, 6} *);
		EW_REBOOTSYSTEM* = 67 (* {0, 1, 6} *);
		EW_EXITANDEXECAPP* = 68 (* {2, 6} *);
		EWX_LOGOFF* = {};
		EWX_SHUTDOWN* = {0};
		EWX_REBOOT* = {1};
		EWX_FORCE* = {2};
		EWX_POWEROFF* = {3};
		BSM_ALLCOMPONENTS* = {};
		BSM_VXDS* = {0};
		BSM_NETDRIVER* = {1};
		BSM_INSTALLABLEDRIVERS* = {2};
		BSM_APPLICATIONS* = {3};
		BSM_ALLDESKTOPS* = {4};
		BSF_QUERY* = {0};
		BSF_IGNORECURRENTTASK* = {1};
		BSF_FLUSHDISK* = {2};
		BSF_NOHANG* = {3};
		BSF_POSTMESSAGE* = {4};
		BSF_FORCEIFHUNG* = {5};
		BSF_NOTIMEOUTIFNOTHUNG* = {6};
		DBWF_LPARAMPOINTER* = 32768 (* {15} *);
		BROADCAST_QUERY_DENY* = 1112363332 (* {2, 6, 8, 12, 14, 16, 18, 19, 22, 25, 30} *);
		CW_USEDEFAULT* = 80000000H;
		SWP_NOSIZE* = {0};
		SWP_NOMOVE* = {1};
		SWP_NOZORDER* = {2};
		SWP_NOREDRAW* = {3};
		SWP_NOACTIVATE* = {4};
		SWP_FRAMECHANGED* = {5};
		SWP_SHOWWINDOW* = {6};
		SWP_HIDEWINDOW* = {7};
		SWP_NOCOPYBITS* = {8};
		SWP_NOOWNERZORDER* = {9};
		SWP_NOSENDCHANGING* = {10};
		SWP_DRAWFRAME* = {5};
		SWP_NOREPOSITION* = {9};
		SWP_DEFERERASE* = {13};
		SWP_ASYNCWINDOWPOS* = {14};
		HWND_TOP* = 0;
		HWND_BOTTOM* = 1;
		HWND_TOPMOST* = -1;
		HWND_NOTOPMOST* = -2;
		DLGWINDOWEXTRA* = 30 (* {1..4} *);
		INPUT_MOUSE* = 0;
		INPUT_KEYBOARD* = 1;
		INPUT_HARDWARE* = 2;
		KEYEVENTF_EXTENDEDKEY* = {0};
		KEYEVENTF_KEYUP* = {1};
		KEYEVENTF_UNICODE* = {2};
		KEYEVENTF_SCANCODE* = {3};
		MOUSEEVENTF_MOVE* = {0};
		MOUSEEVENTF_LEFTDOWN* = {1};
		MOUSEEVENTF_LEFTUP* = {2};
		MOUSEEVENTF_RIGHTDOWN* = {3};
		MOUSEEVENTF_RIGHTUP* = {4};
		MOUSEEVENTF_MIDDLEDOWN* = {5};
		MOUSEEVENTF_MIDDLEUP* = {6};
		MOUSEEVENTF_XDOWN* = {7};
		MOUSEEVENTF_XUP* = {8};
		MOUSEEVENTF_WHEEL* = {11};
		MOUSEEVENTF_HWHEEL* = {12};
		MOUSEEVENTF_MOVE_NOCOALESCE* = {13};
		MOUSEEVENTF_VIRTUALDESK* = {14};
		MOUSEEVENTF_ABSOLUTE* = {15};
		MWMO_WAITALL* = {0};
		MWMO_ALERTABLE* = {1};
		QS_KEY* = {0};
		QS_MOUSEMOVE* = {1};
		QS_MOUSEBUTTON* = {2};
		QS_POSTMESSAGE* = {3};
		QS_TIMER* = {4};
		QS_PAINT* = {5};
		QS_SENDMESSAGE* = {6};
		QS_HOTKEY* = {7};
		QS_MOUSE* = {1, 2};
		QS_INPUT* = {0..2};
		QS_ALLEVENTS* = {0..5, 7};
		QS_ALLINPUT* = {0..7};
		SM_CXSCREEN* = 0 (* {} *);
		SM_CYSCREEN* = 1 (* {0} *);
		SM_CXVSCROLL* = 2 (* {1} *);
		SM_CYHSCROLL* = 3 (* {0, 1} *);
		SM_CYCAPTION* = 4 (* {2} *);
		SM_CXBORDER* = 5 (* {0, 2} *);
		SM_CYBORDER* = 6 (* {1, 2} *);
		SM_CXDLGFRAME* = 7 (* {0..2} *);
		SM_CYDLGFRAME* = 8 (* {3} *);
		SM_CYVTHUMB* = 9 (* {0, 3} *);
		SM_CXHTHUMB* = 10 (* {1, 3} *);
		SM_CXICON* = 11 (* {0, 1, 3} *);
		SM_CYICON* = 12 (* {2, 3} *);
		SM_CXCURSOR* = 13 (* {0, 2, 3} *);
		SM_CYCURSOR* = 14 (* {1..3} *);
		SM_CYMENU* = 15 (* {0..3} *);
		SM_CXFULLSCREEN* = 16 (* {4} *);
		SM_CYFULLSCREEN* = 17 (* {0, 4} *);
		SM_CYKANJIWINDOW* = 18 (* {1, 4} *);
		SM_MOUSEPRESENT* = 19 (* {0, 1, 4} *);
		SM_CYVSCROLL* = 20 (* {2, 4} *);
		SM_CXHSCROLL* = 21 (* {0, 2, 4} *);
		SM_DEBUG* = 22 (* {1, 2, 4} *);
		SM_SWAPBUTTON* = 23 (* {0..2, 4} *);
		SM_RESERVED1* = 24 (* {3, 4} *);
		SM_RESERVED2* = 25 (* {0, 3, 4} *);
		SM_RESERVED3* = 26 (* {1, 3, 4} *);
		SM_RESERVED4* = 27 (* {0, 1, 3, 4} *);
		SM_CXMIN* = 28 (* {2..4} *);
		SM_CYMIN* = 29 (* {0, 2..4} *);
		SM_CXSIZE* = 30 (* {1..4} *);
		SM_CYSIZE* = 31 (* {0..4} *);
		SM_CXFRAME* = 32 (* {5} *);
		SM_CYFRAME* = 33 (* {0, 5} *);
		SM_CXMINTRACK* = 34 (* {1, 5} *);
		SM_CYMINTRACK* = 35 (* {0, 1, 5} *);
		SM_CXDOUBLECLK* = 36 (* {2, 5} *);
		SM_CYDOUBLECLK* = 37 (* {0, 2, 5} *);
		SM_CXICONSPACING* = 38 (* {1, 2, 5} *);
		SM_CYICONSPACING* = 39 (* {0..2, 5} *);
		SM_MENUDROPALIGNMENT* = 40 (* {3, 5} *);
		SM_PENWINDOWS* = 41 (* {0, 3, 5} *);
		SM_DBCSENABLED* = 42 (* {1, 3, 5} *);
		SM_CMOUSEBUTTONS* = 43 (* {0, 1, 3, 5} *);
		SM_CXFIXEDFRAME* = 7 (* {0..2} *);
		SM_CYFIXEDFRAME* = 8 (* {3} *);
		SM_CXSIZEFRAME* = 32 (* {5} *);
		SM_CYSIZEFRAME* = 33 (* {0, 5} *);
		SM_SECURE* = 44 (* {2, 3, 5} *);
		SM_CXEDGE* = 45 (* {0, 2, 3, 5} *);
		SM_CYEDGE* = 46 (* {1..3, 5} *);
		SM_CXMINSPACING* = 47 (* {0..3, 5} *);
		SM_CYMINSPACING* = 48 (* {4, 5} *);
		SM_CXSMICON* = 49 (* {0, 4, 5} *);
		SM_CYSMICON* = 50 (* {1, 4, 5} *);
		SM_CYSMCAPTION* = 51 (* {0, 1, 4, 5} *);
		SM_CXSMSIZE* = 52 (* {2, 4, 5} *);
		SM_CYSMSIZE* = 53 (* {0, 2, 4, 5} *);
		SM_CXMENUSIZE* = 54 (* {1, 2, 4, 5} *);
		SM_CYMENUSIZE* = 55 (* {0..2, 4, 5} *);
		SM_ARRANGE* = 56 (* {3..5} *);
		SM_CXMINIMIZED* = 57 (* {0, 3..5} *);
		SM_CYMINIMIZED* = 58 (* {1, 3..5} *);
		SM_CXMAXTRACK* = 59 (* {0, 1, 3..5} *);
		SM_CYMAXTRACK* = 60 (* {2..5} *);
		SM_CXMAXIMIZED* = 61 (* {0, 2..5} *);
		SM_CYMAXIMIZED* = 62 (* {1..5} *);
		SM_NETWORK* = 63 (* {0..5} *);
		SM_CLEANBOOT* = 67 (* {0, 1, 6} *);
		SM_CXDRAG* = 68 (* {2, 6} *);
		SM_CYDRAG* = 69 (* {0, 2, 6} *);
		SM_SHOWSOUNDS* = 70 (* {1, 2, 6} *);
		SM_CXMENUCHECK* = 71 (* {0..2, 6} *);
		SM_CYMENUCHECK* = 72 (* {3, 6} *);
		SM_SLOWMACHINE* = 73 (* {0, 3, 6} *);
		SM_MIDEASTENABLED* = 74 (* {1, 3, 6} *);
		SM_CMETRICS* = 75 (* {0, 1, 3, 6} *);
		MNC_IGNORE* = 0 (* {} *);
		MNC_CLOSE* = 1 (* {0} *);
		MNC_EXECUTE* = 2 (* {1} *);
		MNC_SELECT* = 3 (* {0, 1} *);
		MIIM_STATE* = {0};
		MIIM_ID* = {1};
		MIIM_SUBMENU* = {2};
		MIIM_CHECKMARKS* = {3};
		MIIM_TYPE* = {4};
		MIIM_DATA* = {5};
		GMDI_USEDISABLED* = {0};
		GMDI_GOINTOPOPUPS* = {1};
		TPM_LEFTBUTTON* = {};
		TPM_RIGHTBUTTON* = {1};
		TPM_LEFTALIGN* = {};
		TPM_CENTERALIGN* = {2};
		TPM_RIGHTALIGN* = {3};
		TPM_TOPALIGN* = {};
		TPM_VCENTERALIGN* = {4};
		TPM_BOTTOMALIGN* = {5};
		TPM_HORIZONTAL* = {};
		TPM_VERTICAL* = {6};
		TPM_NONOTIFY* = {7};
		TPM_RETURNCMD* = {8};
		DOF_EXECUTABLE* = 32769 (* {0, 15} *);
		DOF_DOCUMENT* = 32770 (* {1, 15} *);
		DOF_DIRECTORY* = 32771 (* {0, 1, 15} *);
		DOF_MULTIPLE* = 32772 (* {2, 15} *);
		DOF_PROGMAN* = 1 (* {0} *);
		DOF_SHELLDATA* = 2 (* {1} *);
		DO_DROPFILE* = 1162627398 (* {1, 2, 6, 8, 11, 14, 18, 19, 22, 24, 26, 30} *);
		DO_PRINTFILE* = 1414419024 (* {4, 6, 9, 12, 14, 17..19, 22, 26, 28, 30} *);
		DT_TOP* = {};
		DT_LEFT* = {};
		DT_CENTER* = {0};
		DT_RIGHT* = {1};
		DT_VCENTER* = {2};
		DT_BOTTOM* = {3};
		DT_WORDBREAK* = {4};
		DT_SINGLELINE* = {5};
		DT_EXPANDTABS* = {6};
		DT_TABSTOP* = {7};
		DT_NOCLIP* = {8};
		DT_EXTERNALLEADING* = {9};
		DT_CALCRECT* = {10};
		DT_NOPREFIX* = {11};
		DT_INTERNAL* = {12};
		DT_EDITCONTROL* = {13};
		DT_PATH_ELLIPSIS* = {14};
		DT_END_ELLIPSIS* = {15};
		DT_MODIFYSTRING* = {16};
		DT_RTLREADING* = {17};
		DT_WORD_ELLIPSIS* = {18};
		DST_COMPLEX* = {};
		DST_TEXT* = {0};
		DST_PREFIXTEXT* = {1};
		DST_ICON* = {0, 1};
		DST_BITMAP* = {2};
		DSS_NORMAL* = {};
		DSS_UNION* = {4};
		DSS_DISABLED* = {5};
		DSS_MONO* = {7};
		DSS_RIGHT* = {15};
		DCX_WINDOW* = {0};
		DCX_CACHE* = {1};
		DCX_NORESETATTRS* = {2};
		DCX_CLIPCHILDREN* = {3};
		DCX_CLIPSIBLINGS* = {4};
		DCX_PARENTCLIP* = {5};
		DCX_EXCLUDERGN* = {6};
		DCX_INTERSECTRGN* = {7};
		DCX_EXCLUDEUPDATE* = {8};
		DCX_INTERSECTUPDATE* = {9};
		DCX_LOCKWINDOWUPDATE* = {10};
		DCX_VALIDATE* = {21};
		RDW_INVALIDATE* = {0};
		RDW_INTERNALPAINT* = {1};
		RDW_ERASE* = {2};
		RDW_VALIDATE* = {3};
		RDW_NOINTERNALPAINT* = {4};
		RDW_NOERASE* = {5};
		RDW_NOCHILDREN* = {6};
		RDW_ALLCHILDREN* = {7};
		RDW_UPDATENOW* = {8};
		RDW_ERASENOW* = {9};
		RDW_FRAME* = {10};
		RDW_NOFRAME* = {11};
		SW_SCROLLCHILDREN* = {0};
		SW_INVALIDATE* = {1};
		SW_ERASE* = {2};
		ESB_ENABLE_BOTH* = 0 (* {} *);
		ESB_DISABLE_BOTH* = 3 (* {0, 1} *);
		ESB_DISABLE_LEFT* = 1 (* {0} *);
		ESB_DISABLE_RIGHT* = 2 (* {1} *);
		ESB_DISABLE_UP* = 1 (* {0} *);
		ESB_DISABLE_DOWN* = 2 (* {1} *);
		ESB_DISABLE_LTUP* = 1 (* {0} *);
		ESB_DISABLE_RTDN* = 2 (* {1} *);
		HELPINFO_WINDOW* = 1 (* {0} *);
		HELPINFO_MENUITEM* = 2 (* {1} *);
		MB_OK* = {};
		MB_OKCANCEL* = {0};
		MB_ABORTRETRYIGNORE* = {1};
		MB_YESNOCANCEL* = {0, 1};
		MB_YESNO* = {2};
		MB_RETRYCANCEL* = {0, 2};
		MB_ICONHAND* = {4};
		MB_ICONQUESTION* = {5};
		MB_ICONEXCLAMATION* = {4, 5};
		MB_ICONASTERISK* = {6};
		MB_USERICON* = {7};
		MB_ICONWARNING* = {4, 5};
		MB_ICONERROR* = {4};
		MB_ICONINFORMATION* = {6};
		MB_ICONSTOP* = {4};
		MB_DEFBUTTON1* = {};
		MB_DEFBUTTON2* = {8};
		MB_DEFBUTTON3* = {9};
		MB_DEFBUTTON4* = {8, 9};
		MB_APPLMODAL* = {};
		MB_SYSTEMMODAL* = {12};
		MB_TASKMODAL* = {13};
		MB_HELP* = {14};
		MB_NOFOCUS* = {15};
		MB_SETFOREGROUND* = {16};
		MB_DEFAULT_DESKTOP_ONLY* = {17};
		MB_TOPMOST* = {18};
		MB_RIGHT* = {19};
		MB_RTLREADING* = {20};
		MB_SERVICE_NOTIFICATION* = {21};
		MB_TYPEMASK* = {0..3};
		MB_ICONMASK* = {4..7};
		MB_DEFMASK* = {8..11};
		MB_MODEMASK* = {12, 13};
		MB_MISCMASK* = {14, 15};
		CWP_ALL* = {};
		CWP_SKIPINVISIBLE* = {0};
		CWP_SKIPDISABLED* = {1};
		CWP_SKIPTRANSPARENT* = {2};
		CTLCOLOR_MSGBOX* = 0 (* {} *);
		CTLCOLOR_EDIT* = 1 (* {0} *);
		CTLCOLOR_LISTBOX* = 2 (* {1} *);
		CTLCOLOR_BTN* = 3 (* {0, 1} *);
		CTLCOLOR_DLG* = 4 (* {2} *);
		CTLCOLOR_SCROLLBAR* = 5 (* {0, 2} *);
		CTLCOLOR_STATIC* = 6 (* {1, 2} *);
		CTLCOLOR_MAX* = 7 (* {0..2} *);
		COLOR_SCROLLBAR* = 0 (* {} *);
		COLOR_BACKGROUND* = 1 (* {0} *);
		COLOR_ACTIVECAPTION* = 2 (* {1} *);
		COLOR_INACTIVECAPTION* = 3 (* {0, 1} *);
		COLOR_MENU* = 4 (* {2} *);
		COLOR_WINDOW* = 5 (* {0, 2} *);
		COLOR_WINDOWFRAME* = 6 (* {1, 2} *);
		COLOR_MENUTEXT* = 7 (* {0..2} *);
		COLOR_WINDOWTEXT* = 8 (* {3} *);
		COLOR_CAPTIONTEXT* = 9 (* {0, 3} *);
		COLOR_ACTIVEBORDER* = 10 (* {1, 3} *);
		COLOR_INACTIVEBORDER* = 11 (* {0, 1, 3} *);
		COLOR_APPWORKSPACE* = 12 (* {2, 3} *);
		COLOR_HIGHLIGHT* = 13 (* {0, 2, 3} *);
		COLOR_HIGHLIGHTTEXT* = 14 (* {1..3} *);
		COLOR_BTNFACE* = 15 (* {0..3} *);
		COLOR_BTNSHADOW* = 16 (* {4} *);
		COLOR_GRAYTEXT* = 17 (* {0, 4} *);
		COLOR_BTNTEXT* = 18 (* {1, 4} *);
		COLOR_INACTIVECAPTIONTEXT* = 19 (* {0, 1, 4} *);
		COLOR_BTNHIGHLIGHT* = 20 (* {2, 4} *);
		COLOR_3DDKSHADOW* = 21 (* {0, 2, 4} *);
		COLOR_3DLIGHT* = 22 (* {1, 2, 4} *);
		COLOR_INFOTEXT* = 23 (* {0..2, 4} *);
		COLOR_INFOBK* = 24 (* {3, 4} *);
		COLOR_DESKTOP* = 1 (* {0} *);
		COLOR_3DFACE* = 15 (* {0..3} *);
		COLOR_3DSHADOW* = 16 (* {4} *);
		COLOR_3DHIGHLIGHT* = 20 (* {2, 4} *);
		COLOR_3DHILIGHT* = 20 (* {2, 4} *);
		COLOR_BTNHILIGHT* = 20 (* {2, 4} *);
		GetSysModalWindow* = 0 (* {} *);
		GW_HWNDFIRST* = 0 (* {} *);
		GW_HWNDLAST* = 1 (* {0} *);
		GW_HWNDNEXT* = 2 (* {1} *);
		GW_HWNDPREV* = 3 (* {0, 1} *);
		GW_OWNER* = 4 (* {2} *);
		GW_CHILD* = 5 (* {0, 2} *);
		GW_MAX* = 5 (* {0, 2} *);
		MF_INSERT* = {};
		MF_CHANGE* = {7};
		MF_APPEND* = {8};
		MF_DELETE* = {9};
		MF_REMOVE* = {12};
		MF_BYCOMMAND* = {};
		MF_BYPOSITION* = {10};
		MF_SEPARATOR* = {11};
		MF_ENABLED* = {};
		MF_GRAYED* = {0};
		MF_DISABLED* = {1};
		MF_UNCHECKED* = {};
		MF_CHECKED* = {3};
		MF_USECHECKBITMAPS* = {9};
		MF_STRING* = {};
		MF_BITMAP* = {2};
		MF_OWNERDRAW* = {8};
		MF_POPUP* = {4};
		MF_MENUBARBREAK* = {5};
		MF_MENUBREAK* = {6};
		MF_UNHILITE* = {};
		MF_HILITE* = {7};
		MF_DEFAULT* = {12};
		MF_SYSMENU* = {13};
		MF_HELP* = {14};
		MF_RIGHTJUSTIFY* = {14};
		MF_MOUSESELECT* = {15};
		MF_END* = {7};
		MFT_STRING* = {};
		MFT_BITMAP* = {2};
		MFT_MENUBARBREAK* = {5};
		MFT_MENUBREAK* = {6};
		MFT_OWNERDRAW* = {8};
		MFT_RADIOCHECK* = {9};
		MFT_SEPARATOR* = {11};
		MFT_RIGHTORDER* = {13};
		MFT_RIGHTJUSTIFY* = {14};
		MFS_GRAYED* = {0, 1};
		MFS_DISABLED* = {0, 1};
		MFS_CHECKED* = {3};
		MFS_HILITE* = {7};
		MFS_ENABLED* = {};
		MFS_UNCHECKED* = {};
		MFS_UNHILITE* = {};
		MFS_DEFAULT* = {12};
		SC_SIZE* = 61440 (* {12..15} *);
		SC_MOVE* = 61456 (* {4, 12..15} *);
		SC_MINIMIZE* = 61472 (* {5, 12..15} *);
		SC_MAXIMIZE* = 61488 (* {4, 5, 12..15} *);
		SC_NEXTWINDOW* = 61504 (* {6, 12..15} *);
		SC_PREVWINDOW* = 61520 (* {4, 6, 12..15} *);
		SC_CLOSE* = 61536 (* {5, 6, 12..15} *);
		SC_VSCROLL* = 61552 (* {4..6, 12..15} *);
		SC_HSCROLL* = 61568 (* {7, 12..15} *);
		SC_MOUSEMENU* = 61584 (* {4, 7, 12..15} *);
		SC_KEYMENU* = 61696 (* {8, 12..15} *);
		SC_ARRANGE* = 61712 (* {4, 8, 12..15} *);
		SC_RESTORE* = 61728 (* {5, 8, 12..15} *);
		SC_TASKLIST* = 61744 (* {4, 5, 8, 12..15} *);
		SC_SCREENSAVE* = 61760 (* {6, 8, 12..15} *);
		SC_HOTKEY* = 61776 (* {4, 6, 8, 12..15} *);
		SC_DEFAULT* = 61792 (* {5, 6, 8, 12..15} *);
		SC_MONITORPOWER* = 61808 (* {4..6, 8, 12..15} *);
		SC_CONTEXTHELP* = 61824 (* {7, 8, 12..15} *);
		SC_SEPARATOR* = 61455 (* {0..3, 12..15} *);
		SC_ICON* = 61472 (* {5, 12..15} *);
		SC_ZOOM* = 61488 (* {4, 5, 12..15} *);
		IDC_ARROW* = 32512 (* {8..14} *);
		IDC_IBEAM* = 32513 (* {0, 8..14} *);
		IDC_WAIT* = 32514 (* {1, 8..14} *);
		IDC_CROSS* = 32515 (* {0, 1, 8..14} *);
		IDC_UPARROW* = 32516 (* {2, 8..14} *);
		IDC_SIZE* = 32640 (* {7..14} *);
		IDC_ICON* = 32641 (* {0, 7..14} *);
		IDC_SIZENWSE* = 32642 (* {1, 7..14} *);
		IDC_SIZENESW* = 32643 (* {0, 1, 7..14} *);
		IDC_SIZEWE* = 32644 (* {2, 7..14} *);
		IDC_SIZENS* = 32645 (* {0, 2, 7..14} *);
		IDC_SIZEALL* = 32646 (* {1, 2, 7..14} *);
		IDC_NO* = 32648 (* {3, 7..14} *);
		IDC_APPSTARTING* = 32650 (* {1, 3, 7..14} *);
		IDC_HELP* = 32651 (* {0, 1, 3, 7..14} *);
		IMAGE_BITMAP* = 0 (* {} *);
		IMAGE_ICON* = 1 (* {0} *);
		IMAGE_CURSOR* = 2 (* {1} *);
		IMAGE_ENHMETAFILE* = 3 (* {0, 1} *);
		LR_DEFAULTCOLOR* = {};
		LR_MONOCHROME* = {0};
		LR_COLOR* = {1};
		LR_COPYRETURNORG* = {2};
		LR_COPYDELETEORG* = {3};
		LR_LOADFROMFILE* = {4};
		LR_LOADTRANSPARENT* = {5};
		LR_DEFAULTSIZE* = {6};
		LR_VGACOLOR* = {7};
		LR_LOADMAP3DCOLORS* = {12};
		LR_CREATEDIBSECTION* = {13};
		LR_COPYFROMRESOURCE* = {14};
		LR_SHARED* = {15};
		DI_MASK* = {0};
		DI_IMAGE* = {1};
		DI_NORMAL* = {0, 1};
		DI_COMPAT* = {2};
		DI_DEFAULTSIZE* = {3};
		RES_ICON* = 1 (* {0} *);
		RES_CURSOR* = 2 (* {1} *);
		ORD_LANGDRIVER* = 1 (* {0} *);
		IDI_APPLICATION* = 32512 (* {8..14} *);
		IDI_HAND* = 32513 (* {0, 8..14} *);
		IDI_QUESTION* = 32514 (* {1, 8..14} *);
		IDI_EXCLAMATION* = 32515 (* {0, 1, 8..14} *);
		IDI_ASTERISK* = 32516 (* {2, 8..14} *);
		IDI_WINLOGO* = 32517 (* {0, 2, 8..14} *);
		IDI_WARNING* = 32515 (* {0, 1, 8..14} *);
		IDI_ERROR* = 32513 (* {0, 8..14} *);
		IDI_INFORMATION* = 32516 (* {2, 8..14} *);
		IDOK* = 1 (* {0} *);
		IDCANCEL* = 2 (* {1} *);
		IDABORT* = 3 (* {0, 1} *);
		IDRETRY* = 4 (* {2} *);
		IDIGNORE* = 5 (* {0, 2} *);
		IDYES* = 6 (* {1, 2} *);
		IDNO* = 7 (* {0..2} *);
		IDCLOSE* = 8 (* {3} *);
		IDHELP* = 9 (* {0, 3} *);
		ES_LEFT* = {};
		ES_CENTER* = {0};
		ES_RIGHT* = {1};
		ES_MULTILINE* = {2};
		ES_UPPERCASE* = {3};
		ES_LOWERCASE* = {4};
		ES_PASSWORD* = {5};
		ES_AUTOVSCROLL* = {6};
		ES_AUTOHSCROLL* = {7};
		ES_NOHIDESEL* = {8};
		ES_OEMCONVERT* = {10};
		ES_READONLY* = {11};
		ES_WANTRETURN* = {12};
		ES_NUMBER* = {13};
		EN_SETFOCUS* = 256 (* {8} *);
		EN_KILLFOCUS* = 512 (* {9} *);
		EN_CHANGE* = 768 (* {8, 9} *);
		EN_UPDATE* = 1024 (* {10} *);
		EN_ERRSPACE* = 1280 (* {8, 10} *);
		EN_MAXTEXT* = 1281 (* {0, 8, 10} *);
		EN_HSCROLL* = 1537 (* {0, 9, 10} *);
		EN_VSCROLL* = 1538 (* {1, 9, 10} *);
		EC_LEFTMARGIN* = 1 (* {0} *);
		EC_RIGHTMARGIN* = 2 (* {1} *);
		EC_USEFONTINFO* = 65535 (* {0..15} *);
		EM_GETSEL* = 176 (* {4, 5, 7} *);
		EM_SETSEL* = 177 (* {0, 4, 5, 7} *);
		EM_GETRECT* = 178 (* {1, 4, 5, 7} *);
		EM_SETRECT* = 179 (* {0, 1, 4, 5, 7} *);
		EM_SETRECTNP* = 180 (* {2, 4, 5, 7} *);
		EM_SCROLL* = 181 (* {0, 2, 4, 5, 7} *);
		EM_LINESCROLL* = 182 (* {1, 2, 4, 5, 7} *);
		EM_SCROLLCARET* = 183 (* {0..2, 4, 5, 7} *);
		EM_GETMODIFY* = 184 (* {3..5, 7} *);
		EM_SETMODIFY* = 185 (* {0, 3..5, 7} *);
		EM_GETLINECOUNT* = 186 (* {1, 3..5, 7} *);
		EM_LINEINDEX* = 187 (* {0, 1, 3..5, 7} *);
		EM_SETHANDLE* = 188 (* {2..5, 7} *);
		EM_GETHANDLE* = 189 (* {0, 2..5, 7} *);
		EM_GETTHUMB* = 190 (* {1..5, 7} *);
		EM_LINELENGTH* = 193 (* {0, 6, 7} *);
		EM_REPLACESEL* = 194 (* {1, 6, 7} *);
		EM_GETLINE* = 196 (* {2, 6, 7} *);
		EM_LIMITTEXT* = 197 (* {0, 2, 6, 7} *);
		EM_CANUNDO* = 198 (* {1, 2, 6, 7} *);
		EM_UNDO* = 199 (* {0..2, 6, 7} *);
		EM_FMTLINES* = 200 (* {3, 6, 7} *);
		EM_LINEFROMCHAR* = 201 (* {0, 3, 6, 7} *);
		EM_SETTABSTOPS* = 203 (* {0, 1, 3, 6, 7} *);
		EM_SETPASSWORDCHAR* = 204 (* {2, 3, 6, 7} *);
		EM_EMPTYUNDOBUFFER* = 205 (* {0, 2, 3, 6, 7} *);
		EM_GETFIRSTVISIBLELINE* = 206 (* {1..3, 6, 7} *);
		EM_SETREADONLY* = 207 (* {0..3, 6, 7} *);
		EM_SETWORDBREAKPROC* = 208 (* {4, 6, 7} *);
		EM_GETWORDBREAKPROC* = 209 (* {0, 4, 6, 7} *);
		EM_GETPASSWORDCHAR* = 210 (* {1, 4, 6, 7} *);
		EM_SETMARGINS* = 211 (* {0, 1, 4, 6, 7} *);
		EM_GETMARGINS* = 212 (* {2, 4, 6, 7} *);
		EM_SETLIMITTEXT* = 197 (* {0, 2, 6, 7} *);
		EM_GETLIMITTEXT* = 213 (* {0, 2, 4, 6, 7} *);
		EM_POSFROMCHAR* = 214 (* {1, 2, 4, 6, 7} *);
		EM_CHARFROMPOS* = 215 (* {0..2, 4, 6, 7} *);
		WB_LEFT* = 0 (* {} *);
		WB_RIGHT* = 1 (* {0} *);
		WB_ISDELIMITER* = 2 (* {1} *);
		BS_PUSHBUTTON* = {};
		BS_DEFPUSHBUTTON* = {0};
		BS_CHECKBOX* = {1};
		BS_AUTOCHECKBOX* = {0, 1};
		BS_RADIOBUTTON* = {2};
		BS_3STATE* = {0, 2};
		BS_AUTO3STATE* = {1, 2};
		BS_GROUPBOX* = {0..2};
		BS_USERBUTTON* = {3};
		BS_AUTORADIOBUTTON* = {0, 3};
		BS_OWNERDRAW* = {0, 1, 3};
		BS_LEFTTEXT* = {5};
		BS_TEXT* = {};
		BS_ICON* = {6};
		BS_BITMAP* = {7};
		BS_LEFT* = {8};
		BS_RIGHT* = {9};
		BS_CENTER* = {8, 9};
		BS_TOP* = {10};
		BS_BOTTOM* = {11};
		BS_VCENTER* = {10, 11};
		BS_PUSHLIKE* = {12};
		BS_MULTILINE* = {13};
		BS_NOTIFY* = {14};
		BS_FLAT* = {15};
		BS_RIGHTBUTTON* = {5};
		BN_CLICKED* = 0 (* {} *);
		BN_PAINT* = 1 (* {0} *);
		BN_HILITE* = 2 (* {1} *);
		BN_UNHILITE* = 3 (* {0, 1} *);
		BN_DISABLE* = 4 (* {2} *);
		BN_DOUBLECLICKED* = 5 (* {0, 2} *);
		BN_PUSHED* = 2 (* {1} *);
		BN_UNPUSHED* = 3 (* {0, 1} *);
		BN_DBLCLK* = 5 (* {0, 2} *);
		BN_SETFOCUS* = 6 (* {1, 2} *);
		BN_KILLFOCUS* = 7 (* {0..2} *);
		BM_GETCHECK* = 240 (* {4..7} *);
		BM_SETCHECK* = 241 (* {0, 4..7} *);
		BM_GETSTATE* = 242 (* {1, 4..7} *);
		BM_SETSTATE* = 243 (* {0, 1, 4..7} *);
		BM_SETSTYLE* = 244 (* {2, 4..7} *);
		BM_CLICK* = 245 (* {0, 2, 4..7} *);
		BM_GETIMAGE* = 246 (* {1, 2, 4..7} *);
		BM_SETIMAGE* = 247 (* {0..2, 4..7} *);
		BST_UNCHECKED* = {};
		BST_CHECKED* = {0};
		BST_INDETERMINATE* = {1};
		BST_PUSHED* = {2};
		BST_FOCUS* = {3};
		SS_LEFT* = {};
		SS_CENTER* = {0};
		SS_RIGHT* = {1};
		SS_ICON* = {0, 1};
		SS_BLACKRECT* = {2};
		SS_GRAYRECT* = {0, 2};
		SS_WHITERECT* = {1, 2};
		SS_BLACKFRAME* = {0..2};
		SS_GRAYFRAME* = {3};
		SS_WHITEFRAME* = {0, 3};
		SS_USERITEM* = {1, 3};
		SS_SIMPLE* = {0, 1, 3};
		SS_LEFTNOWORDWRAP* = {2, 3};
		SS_OWNERDRAW* = {0, 2, 3};
		SS_BITMAP* = {1..3};
		SS_ENHMETAFILE* = {0..3};
		SS_ETCHEDHORZ* = {4};
		SS_ETCHEDVERT* = {0, 4};
		SS_ETCHEDFRAME* = {1, 4};
		SS_TYPEMASK* = {0..4};
		SS_NOPREFIX* = {7};
		SS_NOTIFY* = {8};
		SS_CENTERIMAGE* = {9};
		SS_RIGHTJUST* = {10};
		SS_REALSIZEIMAGE* = {11};
		SS_SUNKEN* = {12};
		SS_ENDELLIPSIS* = {14};
		SS_PATHELLIPSIS* = {15};
		SS_WORDELLIPSIS* = {14, 15};
		SS_ELLIPSISMASK* = {14, 15};
		STM_SETICON* = 368 (* {4..6, 8} *);
		STM_GETICON* = 369 (* {0, 4..6, 8} *);
		STM_SETIMAGE* = 370 (* {1, 4..6, 8} *);
		STM_GETIMAGE* = 371 (* {0, 1, 4..6, 8} *);
		STN_CLICKED* = 0 (* {} *);
		STN_DBLCLK* = 1 (* {0} *);
		STN_ENABLE* = 2 (* {1} *);
		STN_DISABLE* = 3 (* {0, 1} *);
		STM_MSGMAX* = 372 (* {2, 4..6, 8} *);
		WC_DIALOG* = 32770 (* {1, 15} *);
		DWL_MSGRESULT* = 0 (* {} *);
		DWL_DLGPROC* = 4 (* {2} *);
		DWL_USER* = 8 (* {3} *);
		DDL_READWRITE* = 0 (* {} *);
		DDL_READONLY* = 1 (* {0} *);
		DDL_HIDDEN* = 2 (* {1} *);
		DDL_SYSTEM* = 4 (* {2} *);
		DDL_DIRECTORY* = 16 (* {4} *);
		DDL_ARCHIVE* = 32 (* {5} *);
		DDL_POSTMSGS* = 8192 (* {13} *);
		DDL_DRIVES* = 16384 (* {14} *);
		DDL_EXCLUSIVE* = 32768 (* {15} *);
		DS_ABSALIGN* = {0};
		DS_SYSMODAL* = {1};
		DS_LOCALEDIT* = {5};
		DS_SETFONT* = {6};
		DS_MODALFRAME* = {7};
		DS_NOIDLEMSG* = {8};
		DS_SETFOREGROUND* = {9};
		DS_3DLOOK* = {2};
		DS_FIXEDSYS* = {3};
		DS_NOFAILCREATE* = {4};
		DS_CONTROL* = {10};
		DS_CENTER* = {11};
		DS_CENTERMOUSE* = {12};
		DS_CONTEXTHELP* = {13};
		DM_GETDEFID* = 1024 (* {10} *);
		DM_SETDEFID* = 1025 (* {0, 10} *);
		DM_REPOSITION* = 1026 (* {1, 10} *);
		PSM_PAGEINFO* = 1124 (* {2, 5, 6, 10} *);
		PSM_SHEETINFO* = 1125 (* {0, 2, 5, 6, 10} *);
		PSI_SETACTIVE* = 1 (* {0} *);
		PSI_KILLACTIVE* = 2 (* {1} *);
		PSI_APPLY* = 3 (* {0, 1} *);
		PSI_RESET* = 4 (* {2} *);
		PSI_HASHELP* = 5 (* {0, 2} *);
		PSI_HELP* = 6 (* {1, 2} *);
		PSI_CHANGED* = 1 (* {0} *);
		PSI_GUISTART* = 2 (* {1} *);
		PSI_REBOOT* = 3 (* {0, 1} *);
		PSI_GETSIBLINGS* = 4 (* {2} *);
		DC_HASDEFID* = 21323 (* {0, 1, 3, 6, 8, 9, 12, 14} *);
		DLGC_WANTARROWS* = {0};
		DLGC_WANTTAB* = {1};
		DLGC_WANTALLKEYS* = {2};
		DLGC_WANTMESSAGE* = {2};
		DLGC_HASSETSEL* = {3};
		DLGC_DEFPUSHBUTTON* = {4};
		DLGC_UNDEFPUSHBUTTON* = {5};
		DLGC_RADIOBUTTON* = {6};
		DLGC_WANTCHARS* = {7};
		DLGC_STATIC* = {8};
		DLGC_BUTTON* = {13};
		LB_CTLCODE* = 0 (* {} *);
		LB_OKAY* = 0 (* {} *);
		LB_ERR* = -1 (* {0..31} *);
		LB_ERRSPACE* = -2 (* {1..31} *);
		LBN_ERRSPACE* = -2 (* {1..31} *);
		LBN_SELCHANGE* = 1 (* {0} *);
		LBN_DBLCLK* = 2 (* {1} *);
		LBN_SELCANCEL* = 3 (* {0, 1} *);
		LBN_SETFOCUS* = 4 (* {2} *);
		LBN_KILLFOCUS* = 5 (* {0, 2} *);
		LB_ADDSTRING* = 384 (* {7, 8} *);
		LB_INSERTSTRING* = 385 (* {0, 7, 8} *);
		LB_DELETESTRING* = 386 (* {1, 7, 8} *);
		LB_SELITEMRANGEEX* = 387 (* {0, 1, 7, 8} *);
		LB_RESETCONTENT* = 388 (* {2, 7, 8} *);
		LB_SETSEL* = 389 (* {0, 2, 7, 8} *);
		LB_SETCURSEL* = 390 (* {1, 2, 7, 8} *);
		LB_GETSEL* = 391 (* {0..2, 7, 8} *);
		LB_GETCURSEL* = 392 (* {3, 7, 8} *);
		LB_GETTEXT* = 393 (* {0, 3, 7, 8} *);
		LB_GETTEXTLEN* = 394 (* {1, 3, 7, 8} *);
		LB_GETCOUNT* = 395 (* {0, 1, 3, 7, 8} *);
		LB_SELECTSTRING* = 396 (* {2, 3, 7, 8} *);
		LB_DIR* = 397 (* {0, 2, 3, 7, 8} *);
		LB_GETTOPINDEX* = 398 (* {1..3, 7, 8} *);
		LB_FINDSTRING* = 399 (* {0..3, 7, 8} *);
		LB_GETSELCOUNT* = 400 (* {4, 7, 8} *);
		LB_GETSELITEMS* = 401 (* {0, 4, 7, 8} *);
		LB_SETTABSTOPS* = 402 (* {1, 4, 7, 8} *);
		LB_GETHORIZONTALEXTENT* = 403 (* {0, 1, 4, 7, 8} *);
		LB_SETHORIZONTALEXTENT* = 404 (* {2, 4, 7, 8} *);
		LB_SETCOLUMNWIDTH* = 405 (* {0, 2, 4, 7, 8} *);
		LB_ADDFILE* = 406 (* {1, 2, 4, 7, 8} *);
		LB_SETTOPINDEX* = 407 (* {0..2, 4, 7, 8} *);
		LB_GETITEMRECT* = 408 (* {3, 4, 7, 8} *);
		LB_GETITEMDATA* = 409 (* {0, 3, 4, 7, 8} *);
		LB_SETITEMDATA* = 410 (* {1, 3, 4, 7, 8} *);
		LB_SELITEMRANGE* = 411 (* {0, 1, 3, 4, 7, 8} *);
		LB_SETANCHORINDEX* = 412 (* {2..4, 7, 8} *);
		LB_GETANCHORINDEX* = 413 (* {0, 2..4, 7, 8} *);
		LB_SETCARETINDEX* = 414 (* {1..4, 7, 8} *);
		LB_GETCARETINDEX* = 415 (* {0..4, 7, 8} *);
		LB_SETITEMHEIGHT* = 416 (* {5, 7, 8} *);
		LB_GETITEMHEIGHT* = 417 (* {0, 5, 7, 8} *);
		LB_FINDSTRINGEXACT* = 418 (* {1, 5, 7, 8} *);
		LB_SETLOCALE* = 421 (* {0, 2, 5, 7, 8} *);
		LB_GETLOCALE* = 422 (* {1, 2, 5, 7, 8} *);
		LB_SETCOUNT* = 423 (* {0..2, 5, 7, 8} *);
		LB_INITSTORAGE* = 424 (* {3, 5, 7, 8} *);
		LB_ITEMFROMPOINT* = 425 (* {0, 3, 5, 7, 8} *);
		LB_MSGMAX* = 432 (* {4, 5, 7, 8} *);
		LBS_NOTIFY* = {0};
		LBS_SORT* = {1};
		LBS_NOREDRAW* = {2};
		LBS_MULTIPLESEL* = {3};
		LBS_OWNERDRAWFIXED* = {4};
		LBS_OWNERDRAWVARIABLE* = {5};
		LBS_HASSTRINGS* = {6};
		LBS_USETABSTOPS* = {7};
		LBS_NOINTEGRALHEIGHT* = {8};
		LBS_MULTICOLUMN* = {9};
		LBS_WANTKEYBOARDINPUT* = {10};
		LBS_EXTENDEDSEL* = {11};
		LBS_DISABLENOSCROLL* = {12};
		LBS_NODATA* = {13};
		LBS_NOSEL* = {14};
		LBS_STANDARD* = {0, 1, 21, 23};
		CB_OKAY* = 0 (* {} *);
		CB_ERR* = -1 (* {0..31} *);
		CB_ERRSPACE* = -2 (* {1..31} *);
		CBN_ERRSPACE* = -1 (* {0..31} *);
		CBN_SELCHANGE* = 1 (* {0} *);
		CBN_DBLCLK* = 2 (* {1} *);
		CBN_SETFOCUS* = 3 (* {0, 1} *);
		CBN_KILLFOCUS* = 4 (* {2} *);
		CBN_EDITCHANGE* = 5 (* {0, 2} *);
		CBN_EDITUPDATE* = 6 (* {1, 2} *);
		CBN_DROPDOWN* = 7 (* {0..2} *);
		CBN_CLOSEUP* = 8 (* {3} *);
		CBN_SELENDOK* = 9 (* {0, 3} *);
		CBN_SELENDCANCEL* = 10 (* {1, 3} *);
		CBS_SIMPLE* = {0};
		CBS_DROPDOWN* = {1};
		CBS_DROPDOWNLIST* = {0, 1};
		CBS_OWNERDRAWFIXED* = {4};
		CBS_OWNERDRAWVARIABLE* = {5};
		CBS_AUTOHSCROLL* = {6};
		CBS_OEMCONVERT* = {7};
		CBS_SORT* = {8};
		CBS_HASSTRINGS* = {9};
		CBS_NOINTEGRALHEIGHT* = {10};
		CBS_DISABLENOSCROLL* = {11};
		CBS_UPPERCASE* = {13};
		CBS_LOWERCASE* = {14};
		CB_GETEDITSEL* = 320 (* {6, 8} *);
		CB_LIMITTEXT* = 321 (* {0, 6, 8} *);
		CB_SETEDITSEL* = 322 (* {1, 6, 8} *);
		CB_ADDSTRING* = 323 (* {0, 1, 6, 8} *);
		CB_DELETESTRING* = 324 (* {2, 6, 8} *);
		CB_DIR* = 325 (* {0, 2, 6, 8} *);
		CB_GETCOUNT* = 326 (* {1, 2, 6, 8} *);
		CB_GETCURSEL* = 327 (* {0..2, 6, 8} *);
		CB_GETLBTEXT* = 328 (* {3, 6, 8} *);
		CB_GETLBTEXTLEN* = 329 (* {0, 3, 6, 8} *);
		CB_INSERTSTRING* = 330 (* {1, 3, 6, 8} *);
		CB_RESETCONTENT* = 331 (* {0, 1, 3, 6, 8} *);
		CB_FINDSTRING* = 332 (* {2, 3, 6, 8} *);
		CB_SELECTSTRING* = 333 (* {0, 2, 3, 6, 8} *);
		CB_SETCURSEL* = 334 (* {1..3, 6, 8} *);
		CB_SHOWDROPDOWN* = 335 (* {0..3, 6, 8} *);
		CB_GETITEMDATA* = 336 (* {4, 6, 8} *);
		CB_SETITEMDATA* = 337 (* {0, 4, 6, 8} *);
		CB_GETDROPPEDCONTROLRECT* = 338 (* {1, 4, 6, 8} *);
		CB_SETITEMHEIGHT* = 339 (* {0, 1, 4, 6, 8} *);
		CB_GETITEMHEIGHT* = 340 (* {2, 4, 6, 8} *);
		CB_SETEXTENDEDUI* = 341 (* {0, 2, 4, 6, 8} *);
		CB_GETEXTENDEDUI* = 342 (* {1, 2, 4, 6, 8} *);
		CB_GETDROPPEDSTATE* = 343 (* {0..2, 4, 6, 8} *);
		CB_FINDSTRINGEXACT* = 344 (* {3, 4, 6, 8} *);
		CB_SETLOCALE* = 345 (* {0, 3, 4, 6, 8} *);
		CB_GETLOCALE* = 346 (* {1, 3, 4, 6, 8} *);
		CB_GETTOPINDEX* = 347 (* {0, 1, 3, 4, 6, 8} *);
		CB_SETTOPINDEX* = 348 (* {2..4, 6, 8} *);
		CB_GETHORIZONTALEXTENT* = 349 (* {0, 2..4, 6, 8} *);
		CB_SETHORIZONTALEXTENT* = 350 (* {1..4, 6, 8} *);
		CB_GETDROPPEDWIDTH* = 351 (* {0..4, 6, 8} *);
		CB_SETDROPPEDWIDTH* = 352 (* {5, 6, 8} *);
		CB_INITSTORAGE* = 353 (* {0, 5, 6, 8} *);
		CB_MSGMAX* = 354 (* {1, 5, 6, 8} *);
		SBS_HORZ* = {};
		SBS_VERT* = {0};
		SBS_TOPALIGN* = {1};
		SBS_LEFTALIGN* = {1};
		SBS_BOTTOMALIGN* = {2};
		SBS_RIGHTALIGN* = {2};
		SBS_SIZEBOXTOPLEFTALIGN* = {1};
		SBS_SIZEBOXBOTTOMRIGHTALIGN* = {2};
		SBS_SIZEBOX* = {3};
		SBS_SIZEGRIP* = {4};
		SBM_SETPOS* = 224 (* {5..7} *);
		SBM_GETPOS* = 225 (* {0, 5..7} *);
		SBM_SETRANGE* = 226 (* {1, 5..7} *);
		SBM_SETRANGEREDRAW* = 230 (* {1, 2, 5..7} *);
		SBM_GETRANGE* = 227 (* {0, 1, 5..7} *);
		SBM_ENABLE_ARROWS* = 228 (* {2, 5..7} *);
		SBM_SETSCROLLINFO* = 233 (* {0, 3, 5..7} *);
		SBM_GETSCROLLINFO* = 234 (* {1, 3, 5..7} *);
		SIF_RANGE* = {0};
		SIF_PAGE* = {1};
		SIF_POS* = {2};
		SIF_DISABLENOSCROLL* = {3};
		SIF_TRACKPOS* = {4};
		SIF_ALL* = {0..2, 4};
		MDIS_ALLCHILDSTYLES* = {0};
		MDITILE_VERTICAL* = 0 (* {} *);
		MDITILE_HORIZONTAL* = 1 (* {0} *);
		MDITILE_SKIPDISABLED* = 2 (* {1} *);
		IMC_GETCANDIDATEPOS* = 7 (* {0..2} *);
		IMC_SETCANDIDATEPOS* = 8 (* {3} *);
		IMC_GETCOMPOSITIONFONT* = 9 (* {0, 3} *);
		IMC_SETCOMPOSITIONFONT* = 10 (* {1, 3} *);
		IMC_GETCOMPOSITIONWINDOW* = 11 (* {0, 1, 3} *);
		IMC_SETCOMPOSITIONWINDOW* = 12 (* {2, 3} *);
		IMC_GETSTATUSWINDOWPOS* = 15 (* {0..3} *);
		IMC_SETSTATUSWINDOWPOS* = 16 (* {4} *);
		IMC_CLOSESTATUSWINDOW* = 33 (* {0, 5} *);
		IMC_OPENSTATUSWINDOW* = 34 (* {1, 5} *);
		IMN_CLOSESTATUSWINDOW* = 1 (* {0} *);
		IMN_OPENSTATUSWINDOW* = 2 (* {1} *);
		IMN_CHANGECANDIDATE* = 3 (* {0, 1} *);
		IMN_CLOSECANDIDATE* = 4 (* {2} *);
		IMN_OPENCANDIDATE* = 5 (* {0, 2} *);
		IMN_SETCONVERSIONMODE* = 6 (* {1, 2} *);
		IMN_SETSENTENCEMODE* = 7 (* {0..2} *);
		IMN_SETOPENSTATUS* = 8 (* {3} *);
		IMN_SETCANDIDATEPOS* = 9 (* {0, 3} *);
		IMN_SETCOMPOSITIONFONT* = 10 (* {1, 3} *);
		IMN_SETCOMPOSITIONWINDOW* = 11 (* {0, 1, 3} *);
		IMN_SETSTATUSWINDOWPOS* = 12 (* {2, 3} *);
		IMN_GUIDELINE* = 13 (* {0, 2, 3} *);
		IMN_PRIVATE* = 14 (* {1..3} *);
		HELP_CONTEXT* = 1 (* {0} *);
		HELP_QUIT* = 2 (* {1} *);
		HELP_INDEX* = 3 (* {0, 1} *);
		HELP_CONTENTS* = 3 (* {0, 1} *);
		HELP_HELPONHELP* = 4 (* {2} *);
		HELP_SETINDEX* = 5 (* {0, 2} *);
		HELP_SETCONTENTS* = 5 (* {0, 2} *);
		HELP_CONTEXTPOPUP* = 8 (* {3} *);
		HELP_FORCEFILE* = 9 (* {0, 3} *);
		HELP_KEY* = 257 (* {0, 8} *);
		HELP_COMMAND* = 258 (* {1, 8} *);
		HELP_PARTIALKEY* = 261 (* {0, 2, 8} *);
		HELP_MULTIKEY* = 513 (* {0, 9} *);
		HELP_SETWINPOS* = 515 (* {0, 1, 9} *);
		HELP_CONTEXTMENU* = 10 (* {1, 3} *);
		HELP_FINDER* = 11 (* {0, 1, 3} *);
		HELP_WM_HELP* = 12 (* {2, 3} *);
		HELP_SETPOPUP_POS* = 13 (* {0, 2, 3} *);
		HELP_TCARD* = 32768 (* {15} *);
		HELP_TCARD_DATA* = 16 (* {4} *);
		HELP_TCARD_OTHER_CALLER* = 17 (* {0, 4} *);
		IDH_NO_HELP* = 28440 (* {3, 4, 8..11, 13, 14} *);
		IDH_MISSING_CONTEXT* = 28441 (* {0, 3, 4, 8..11, 13, 14} *);
		IDH_GENERIC_HELP_BUTTON* = 28442 (* {1, 3, 4, 8..11, 13, 14} *);
		IDH_OK* = 28443 (* {0, 1, 3, 4, 8..11, 13, 14} *);
		IDH_CANCEL* = 28444 (* {2..4, 8..11, 13, 14} *);
		IDH_HELP* = 28445 (* {0, 2..4, 8..11, 13, 14} *);
		SPI_GETBEEP* = 1 (* {0} *);
		SPI_SETBEEP* = 2 (* {1} *);
		SPI_GETMOUSE* = 3 (* {0, 1} *);
		SPI_SETMOUSE* = 4 (* {2} *);
		SPI_GETBORDER* = 5 (* {0, 2} *);
		SPI_SETBORDER* = 6 (* {1, 2} *);
		SPI_GETKEYBOARDSPEED* = 10 (* {1, 3} *);
		SPI_SETKEYBOARDSPEED* = 11 (* {0, 1, 3} *);
		SPI_LANGDRIVER* = 12 (* {2, 3} *);
		SPI_ICONHORIZONTALSPACING* = 13 (* {0, 2, 3} *);
		SPI_GETSCREENSAVETIMEOUT* = 14 (* {1..3} *);
		SPI_SETSCREENSAVETIMEOUT* = 15 (* {0..3} *);
		SPI_GETSCREENSAVEACTIVE* = 16 (* {4} *);
		SPI_SETSCREENSAVEACTIVE* = 17 (* {0, 4} *);
		SPI_GETGRIDGRANULARITY* = 18 (* {1, 4} *);
		SPI_SETGRIDGRANULARITY* = 19 (* {0, 1, 4} *);
		SPI_SETDESKWALLPAPER* = 20 (* {2, 4} *);
		SPI_SETDESKPATTERN* = 21 (* {0, 2, 4} *);
		SPI_GETKEYBOARDDELAY* = 22 (* {1, 2, 4} *);
		SPI_SETKEYBOARDDELAY* = 23 (* {0..2, 4} *);
		SPI_ICONVERTICALSPACING* = 24 (* {3, 4} *);
		SPI_GETICONTITLEWRAP* = 25 (* {0, 3, 4} *);
		SPI_SETICONTITLEWRAP* = 26 (* {1, 3, 4} *);
		SPI_GETMENUDROPALIGNMENT* = 27 (* {0, 1, 3, 4} *);
		SPI_SETMENUDROPALIGNMENT* = 28 (* {2..4} *);
		SPI_SETDOUBLECLKWIDTH* = 29 (* {0, 2..4} *);
		SPI_SETDOUBLECLKHEIGHT* = 30 (* {1..4} *);
		SPI_GETICONTITLELOGFONT* = 31 (* {0..4} *);
		SPI_SETDOUBLECLICKTIME* = 32 (* {5} *);
		SPI_SETMOUSEBUTTONSWAP* = 33 (* {0, 5} *);
		SPI_SETICONTITLELOGFONT* = 34 (* {1, 5} *);
		SPI_GETFASTTASKSWITCH* = 35 (* {0, 1, 5} *);
		SPI_SETFASTTASKSWITCH* = 36 (* {2, 5} *);
		SPI_SETDRAGFULLWINDOWS* = 37 (* {0, 2, 5} *);
		SPI_GETDRAGFULLWINDOWS* = 38 (* {1, 2, 5} *);
		SPI_GETNONCLIENTMETRICS* = 41 (* {0, 3, 5} *);
		SPI_SETNONCLIENTMETRICS* = 42 (* {1, 3, 5} *);
		SPI_GETMINIMIZEDMETRICS* = 43 (* {0, 1, 3, 5} *);
		SPI_SETMINIMIZEDMETRICS* = 44 (* {2, 3, 5} *);
		SPI_GETICONMETRICS* = 45 (* {0, 2, 3, 5} *);
		SPI_SETICONMETRICS* = 46 (* {1..3, 5} *);
		SPI_SETWORKAREA* = 47 (* {0..3, 5} *);
		SPI_GETWORKAREA* = 48 (* {4, 5} *);
		SPI_SETPENWINDOWS* = 49 (* {0, 4, 5} *);
		SPI_GETHIGHCONTRAST* = 66 (* {1, 6} *);
		SPI_SETHIGHCONTRAST* = 67 (* {0, 1, 6} *);
		SPI_GETKEYBOARDPREF* = 68 (* {2, 6} *);
		SPI_SETKEYBOARDPREF* = 69 (* {0, 2, 6} *);
		SPI_GETSCREENREADER* = 70 (* {1, 2, 6} *);
		SPI_SETSCREENREADER* = 71 (* {0..2, 6} *);
		SPI_GETANIMATION* = 72 (* {3, 6} *);
		SPI_SETANIMATION* = 73 (* {0, 3, 6} *);
		SPI_GETFONTSMOOTHING* = 74 (* {1, 3, 6} *);
		SPI_SETFONTSMOOTHING* = 75 (* {0, 1, 3, 6} *);
		SPI_SETDRAGWIDTH* = 76 (* {2, 3, 6} *);
		SPI_SETDRAGHEIGHT* = 77 (* {0, 2, 3, 6} *);
		SPI_SETHANDHELD* = 78 (* {1..3, 6} *);
		SPI_GETLOWPOWERTIMEOUT* = 79 (* {0..3, 6} *);
		SPI_GETPOWEROFFTIMEOUT* = 80 (* {4, 6} *);
		SPI_SETLOWPOWERTIMEOUT* = 81 (* {0, 4, 6} *);
		SPI_SETPOWEROFFTIMEOUT* = 82 (* {1, 4, 6} *);
		SPI_GETLOWPOWERACTIVE* = 83 (* {0, 1, 4, 6} *);
		SPI_GETPOWEROFFACTIVE* = 84 (* {2, 4, 6} *);
		SPI_SETLOWPOWERACTIVE* = 85 (* {0, 2, 4, 6} *);
		SPI_SETPOWEROFFACTIVE* = 86 (* {1, 2, 4, 6} *);
		SPI_SETCURSORS* = 87 (* {0..2, 4, 6} *);
		SPI_SETICONS* = 88 (* {3, 4, 6} *);
		SPI_GETDEFAULTINPUTLANG* = 89 (* {0, 3, 4, 6} *);
		SPI_SETDEFAULTINPUTLANG* = 90 (* {1, 3, 4, 6} *);
		SPI_SETLANGTOGGLE* = 91 (* {0, 1, 3, 4, 6} *);
		SPI_GETWINDOWSEXTENSION* = 92 (* {2..4, 6} *);
		SPI_SETMOUSETRAILS* = 93 (* {0, 2..4, 6} *);
		SPI_GETMOUSETRAILS* = 94 (* {1..4, 6} *);
		SPI_SCREENSAVERRUNNING* = 97 (* {0, 5, 6} *);
		SPI_GETFILTERKEYS* = 50 (* {1, 4, 5} *);
		SPI_SETFILTERKEYS* = 51 (* {0, 1, 4, 5} *);
		SPI_GETTOGGLEKEYS* = 52 (* {2, 4, 5} *);
		SPI_SETTOGGLEKEYS* = 53 (* {0, 2, 4, 5} *);
		SPI_GETMOUSEKEYS* = 54 (* {1, 2, 4, 5} *);
		SPI_SETMOUSEKEYS* = 55 (* {0..2, 4, 5} *);
		SPI_GETSHOWSOUNDS* = 56 (* {3..5} *);
		SPI_SETSHOWSOUNDS* = 57 (* {0, 3..5} *);
		SPI_GETSTICKYKEYS* = 58 (* {1, 3..5} *);
		SPI_SETSTICKYKEYS* = 59 (* {0, 1, 3..5} *);
		SPI_GETACCESSTIMEOUT* = 60 (* {2..5} *);
		SPI_SETACCESSTIMEOUT* = 61 (* {0, 2..5} *);
		SPI_GETSERIALKEYS* = 62 (* {1..5} *);
		SPI_SETSERIALKEYS* = 63 (* {0..5} *);
		SPI_GETSOUNDSENTRY* = 64 (* {6} *);
		SPI_SETSOUNDSENTRY* = 65 (* {0, 6} *);
		SPIF_UPDATEINIFILE* = 1 (* {0} *);
		SPIF_SENDWININICHANGE* = 2 (* {1} *);
		SPIF_SENDCHANGE* = 2 (* {1} *);
		METRICS_USEDEFAULT* = -1 (* {0..31} *);
		ARW_BOTTOMLEFT* = 0 (* {} *);
		ARW_BOTTOMRIGHT* = 1 (* {0} *);
		ARW_TOPLEFT* = 2 (* {1} *);
		ARW_TOPRIGHT* = 3 (* {0, 1} *);
		ARW_STARTMASK* = 3 (* {0, 1} *);
		ARW_STARTRIGHT* = 1 (* {0} *);
		ARW_STARTTOP* = 2 (* {1} *);
		ARW_LEFT* = 0 (* {} *);
		ARW_RIGHT* = 0 (* {} *);
		ARW_UP* = 4 (* {2} *);
		ARW_DOWN* = 4 (* {2} *);
		ARW_HIDE* = 8 (* {3} *);
		ARW_VALID* = 15 (* {0..3} *);
		SERKF_SERIALKEYSON* = {0};
		SERKF_AVAILABLE* = {1};
		SERKF_INDICATOR* = {2};
		HCF_HIGHCONTRASTON* = {0};
		HCF_AVAILABLE* = {1};
		HCF_HOTKEYACTIVE* = {2};
		HCF_CONFIRMHOTKEY* = {3};
		HCF_HOTKEYSOUND* = {4};
		HCF_INDICATOR* = {5};
		HCF_HOTKEYAVAILABLE* = {6};
		CDS_UPDATEREGISTRY* = {0};
		CDS_TEST* = {1};
		CDS_FULLSCREEN* = {2};
		DISP_CHANGE_SUCCESSFUL* = 0 (* {} *);
		DISP_CHANGE_RESTART* = 1 (* {0} *);
		DISP_CHANGE_FAILED* = -1 (* {0..31} *);
		DISP_CHANGE_BADMODE* = -2 (* {1..31} *);
		DISP_CHANGE_NOTUPDATED* = -3 (* {0, 2..31} *);
		DISP_CHANGE_BADFLAGS* = -4 (* {2..31} *);
		FKF_FILTERKEYSON* = {0};
		FKF_AVAILABLE* = {1};
		FKF_HOTKEYACTIVE* = {2};
		FKF_CONFIRMHOTKEY* = {3};
		FKF_HOTKEYSOUND* = {4};
		FKF_INDICATOR* = {5};
		FKF_CLICKON* = {6};
		SKF_STICKYKEYSON* = {0};
		SKF_AVAILABLE* = {1};
		SKF_HOTKEYACTIVE* = {2};
		SKF_CONFIRMHOTKEY* = {3};
		SKF_HOTKEYSOUND* = {4};
		SKF_INDICATOR* = {5};
		SKF_AUDIBLEFEEDBACK* = {6};
		SKF_TRISTATE* = {7};
		SKF_TWOKEYSOFF* = {8};
		MKF_MOUSEKEYSON* = {0};
		MKF_AVAILABLE* = {1};
		MKF_HOTKEYACTIVE* = {2};
		MKF_CONFIRMHOTKEY* = {3};
		MKF_HOTKEYSOUND* = {4};
		MKF_INDICATOR* = {5};
		MKF_MODIFIERS* = {6};
		MKF_REPLACENUMBERS* = {7};
		ATF_TIMEOUTON* = {0};
		ATF_ONOFFFEEDBACK* = {1};
		SSGF_NONE* = 0 (* {} *);
		SSGF_DISPLAY* = 3 (* {0, 1} *);
		SSTF_NONE* = 0 (* {} *);
		SSTF_CHARS* = 1 (* {0} *);
		SSTF_BORDER* = 2 (* {1} *);
		SSTF_DISPLAY* = 3 (* {0, 1} *);
		SSWF_NONE* = 0 (* {} *);
		SSWF_TITLE* = 1 (* {0} *);
		SSWF_WINDOW* = 2 (* {1} *);
		SSWF_DISPLAY* = 3 (* {0, 1} *);
		SSWF_CUSTOM* = 4 (* {2} *);
		SSF_SOUNDSENTRYON* = {0};
		SSF_AVAILABLE* = {1};
		SSF_INDICATOR* = {2};
		TKF_TOGGLEKEYSON* = {0};
		TKF_AVAILABLE* = {1};
		TKF_HOTKEYACTIVE* = {2};
		TKF_CONFIRMHOTKEY* = {3};
		TKF_HOTKEYSOUND* = {4};
		TKF_INDICATOR* = {5};
		SLE_ERROR* = 1 (* {0} *);
		SLE_MINORERROR* = 2 (* {1} *);
		SLE_WARNING* = 3 (* {0, 1} *);
		MAX_LEADBYTES* = 12 (* {2, 3} *);
		MAX_DEFAULTCHAR* = 2 (* {1} *);
		MB_PRECOMPOSED* = {0};
		MB_COMPOSITE* = {1};
		MB_USEGLYPHCHARS* = {2};
		MB_ERR_INVALID_CHARS* = {3};
		WC_DEFAULTCHECK* = {8};
		WC_COMPOSITECHECK* = {9};
		WC_DISCARDNS* = {4};
		WC_SEPCHARS* = {5};
		WC_DEFAULTCHAR* = {6};
		CT_CTYPE1* = {0};
		CT_CTYPE2* = {1};
		CT_CTYPE3* = {2};
		C1_UPPER* = 1 (* {0} *);
		C1_LOWER* = 2 (* {1} *);
		C1_DIGIT* = 4 (* {2} *);
		C1_SPACE* = 8 (* {3} *);
		C1_PUNCT* = 16 (* {4} *);
		C1_CNTRL* = 32 (* {5} *);
		C1_BLANK* = 64 (* {6} *);
		C1_XDIGIT* = 128 (* {7} *);
		C1_ALPHA* = 256 (* {8} *);
		C2_LEFTTORIGHT* = 1 (* {0} *);
		C2_RIGHTTOLEFT* = 2 (* {1} *);
		C2_EUROPENUMBER* = 3 (* {0, 1} *);
		C2_EUROPESEPARATOR* = 4 (* {2} *);
		C2_EUROPETERMINATOR* = 5 (* {0, 2} *);
		C2_ARABICNUMBER* = 6 (* {1, 2} *);
		C2_COMMONSEPARATOR* = 7 (* {0..2} *);
		C2_BLOCKSEPARATOR* = 8 (* {3} *);
		C2_SEGMENTSEPARATOR* = 9 (* {0, 3} *);
		C2_WHITESPACE* = 10 (* {1, 3} *);
		C2_OTHERNEUTRAL* = 11 (* {0, 1, 3} *);
		C2_NOTAPPLICABLE* = 0 (* {} *);
		C3_NONSPACING* = 1 (* {0} *);
		C3_DIACRITIC* = 2 (* {1} *);
		C3_VOWELMARK* = 4 (* {2} *);
		C3_SYMBOL* = 8 (* {3} *);
		C3_KATAKANA* = 16 (* {4} *);
		C3_HIRAGANA* = 32 (* {5} *);
		C3_HALFWIDTH* = 64 (* {6} *);
		C3_FULLWIDTH* = 128 (* {7} *);
		C3_IDEOGRAPH* = 256 (* {8} *);
		C3_KASHIDA* = 512 (* {9} *);
		C3_LEXICAL* = 1024 (* {10} *);
		C3_ALPHA* = 32768 (* {15} *);
		C3_NOTAPPLICABLE* = 0 (* {} *);
		NORM_IGNORECASE* = {0};
		NORM_IGNORENONSPACE* = {1};
		NORM_IGNORESYMBOLS* = {2};
		NORM_IGNOREKANATYPE* = {16};
		NORM_IGNOREWIDTH* = {17};
		MAP_FOLDCZONE* = {4};
		MAP_PRECOMPOSED* = {5};
		MAP_COMPOSITE* = {6};
		MAP_FOLDDIGITS* = {7};
		LCMAP_LOWERCASE* = {8};
		LCMAP_UPPERCASE* = {9};
		LCMAP_SORTKEY* = {10};
		LCMAP_BYTEREV* = {11};
		LCMAP_HIRAGANA* = {20};
		LCMAP_KATAKANA* = {21};
		LCMAP_HALFWIDTH* = {22};
		LCMAP_FULLWIDTH* = {23};
		LCMAP_LINGUISTIC_CASING* = {24};
		LCID_INSTALLED* = {0};
		LCID_SUPPORTED* = {1};
		CP_INSTALLED* = {0};
		CP_SUPPORTED* = {1};
		SORT_STRINGSORT* = {12};
		CP_ACP* = 0 (* {} *);
		CP_OEMCP* = 1 (* {0} *);
		CP_MACCP* = 2 (* {1} *);
		CTRY_DEFAULT* = 0 (* {} *);
		CTRY_AUSTRALIA* = 61 (* {0, 2..5} *);
		CTRY_AUSTRIA* = 43 (* {0, 1, 3, 5} *);
		CTRY_BELGIUM* = 32 (* {5} *);
		CTRY_BRAZIL* = 55 (* {0..2, 4, 5} *);
		CTRY_BULGARIA* = 359 (* {0..2, 5, 6, 8} *);
		CTRY_CANADA* = 2 (* {1} *);
		CTRY_CROATIA* = 385 (* {0, 7, 8} *);
		CTRY_CZECH* = 42 (* {1, 3, 5} *);
		CTRY_DENMARK* = 45 (* {0, 2, 3, 5} *);
		CTRY_FINLAND* = 358 (* {1, 2, 5, 6, 8} *);
		CTRY_FRANCE* = 33 (* {0, 5} *);
		CTRY_GERMANY* = 49 (* {0, 4, 5} *);
		CTRY_GREECE* = 30 (* {1..4} *);
		CTRY_HONG_KONG* = 852 (* {2, 4, 6, 8, 9} *);
		CTRY_HUNGARY* = 36 (* {2, 5} *);
		CTRY_ICELAND* = 354 (* {1, 5, 6, 8} *);
		CTRY_IRELAND* = 353 (* {0, 5, 6, 8} *);
		CTRY_ITALY* = 39 (* {0..2, 5} *);
		CTRY_JAPAN* = 81 (* {0, 4, 6} *);
		CTRY_MEXICO* = 52 (* {2, 4, 5} *);
		CTRY_NETHERLANDS* = 31 (* {0..4} *);
		CTRY_NEW_ZEALAND* = 64 (* {6} *);
		CTRY_NORWAY* = 47 (* {0..3, 5} *);
		CTRY_POLAND* = 48 (* {4, 5} *);
		CTRY_PORTUGAL* = 351 (* {0..4, 6, 8} *);
		CTRY_PRCHINA* = 86 (* {1, 2, 4, 6} *);
		CTRY_ROMANIA* = 40 (* {3, 5} *);
		CTRY_RUSSIA* = 7 (* {0..2} *);
		CTRY_SINGAPORE* = 65 (* {0, 6} *);
		CTRY_SLOVAK* = 42 (* {1, 3, 5} *);
		CTRY_SLOVENIA* = 386 (* {1, 7, 8} *);
		CTRY_SOUTH_KOREA* = 82 (* {1, 4, 6} *);
		CTRY_SPAIN* = 34 (* {1, 5} *);
		CTRY_SWEDEN* = 46 (* {1..3, 5} *);
		CTRY_SWITZERLAND* = 41 (* {0, 3, 5} *);
		CTRY_TAIWAN* = 886 (* {1, 2, 4..6, 8, 9} *);
		CTRY_TURKEY* = 90 (* {1, 3, 4, 6} *);
		CTRY_UNITED_KINGDOM* = 44 (* {2, 3, 5} *);
		CTRY_UNITED_STATES* = 1 (* {0} *);
		LOCALE_NOUSEROVERRIDE* = 80000000H;
		LOCALE_USE_CP_ACP* = 1073741824 (* {30} *);
		LOCALE_ILANGUAGE* = 1 (* {0} *);
		LOCALE_SLANGUAGE* = 2 (* {1} *);
		LOCALE_SENGLANGUAGE* = 4097 (* {0, 12} *);
		LOCALE_SABBREVLANGNAME* = 3 (* {0, 1} *);
		LOCALE_SNATIVELANGNAME* = 4 (* {2} *);
		LOCALE_ICOUNTRY* = 5 (* {0, 2} *);
		LOCALE_SCOUNTRY* = 6 (* {1, 2} *);
		LOCALE_SENGCOUNTRY* = 4098 (* {1, 12} *);
		LOCALE_SABBREVCTRYNAME* = 7 (* {0..2} *);
		LOCALE_SNATIVECTRYNAME* = 8 (* {3} *);
		LOCALE_IDEFAULTLANGUAGE* = 9 (* {0, 3} *);
		LOCALE_IDEFAULTCOUNTRY* = 10 (* {1, 3} *);
		LOCALE_IDEFAULTCODEPAGE* = 11 (* {0, 1, 3} *);
		LOCALE_IDEFAULTANSICODEPAGE* = 4100 (* {2, 12} *);
		LOCALE_SLIST* = 12 (* {2, 3} *);
		LOCALE_IMEASURE* = 13 (* {0, 2, 3} *);
		LOCALE_SDECIMAL* = 14 (* {1..3} *);
		LOCALE_STHOUSAND* = 15 (* {0..3} *);
		LOCALE_SGROUPING* = 16 (* {4} *);
		LOCALE_IDIGITS* = 17 (* {0, 4} *);
		LOCALE_ILZERO* = 18 (* {1, 4} *);
		LOCALE_INEGNUMBER* = 4112 (* {4, 12} *);
		LOCALE_SNATIVEDIGITS* = 19 (* {0, 1, 4} *);
		LOCALE_SCURRENCY* = 20 (* {2, 4} *);
		LOCALE_SINTLSYMBOL* = 21 (* {0, 2, 4} *);
		LOCALE_SMONDECIMALSEP* = 22 (* {1, 2, 4} *);
		LOCALE_SMONTHOUSANDSEP* = 23 (* {0..2, 4} *);
		LOCALE_SMONGROUPING* = 24 (* {3, 4} *);
		LOCALE_ICURRDIGITS* = 25 (* {0, 3, 4} *);
		LOCALE_IINTLCURRDIGITS* = 26 (* {1, 3, 4} *);
		LOCALE_ICURRENCY* = 27 (* {0, 1, 3, 4} *);
		LOCALE_INEGCURR* = 28 (* {2..4} *);
		LOCALE_SDATE* = 29 (* {0, 2..4} *);
		LOCALE_STIME* = 30 (* {1..4} *);
		LOCALE_SSHORTDATE* = 31 (* {0..4} *);
		LOCALE_SLONGDATE* = 32 (* {5} *);
		LOCALE_STIMEFORMAT* = 4099 (* {0, 1, 12} *);
		LOCALE_IDATE* = 33 (* {0, 5} *);
		LOCALE_ILDATE* = 34 (* {1, 5} *);
		LOCALE_ITIME* = 35 (* {0, 1, 5} *);
		LOCALE_ITIMEMARKPOSN* = 4101 (* {0, 2, 12} *);
		LOCALE_ICENTURY* = 36 (* {2, 5} *);
		LOCALE_ITLZERO* = 37 (* {0, 2, 5} *);
		LOCALE_IDAYLZERO* = 38 (* {1, 2, 5} *);
		LOCALE_IMONLZERO* = 39 (* {0..2, 5} *);
		LOCALE_S1159* = 40 (* {3, 5} *);
		LOCALE_S2359* = 41 (* {0, 3, 5} *);
		LOCALE_ICALENDARTYPE* = 4105 (* {0, 3, 12} *);
		LOCALE_IOPTIONALCALENDAR* = 4107 (* {0, 1, 3, 12} *);
		LOCALE_IFIRSTDAYOFWEEK* = 4108 (* {2, 3, 12} *);
		LOCALE_IFIRSTWEEKOFYEAR* = 4109 (* {0, 2, 3, 12} *);
		LOCALE_SDAYNAME1* = 42 (* {1, 3, 5} *);
		LOCALE_SDAYNAME2* = 43 (* {0, 1, 3, 5} *);
		LOCALE_SDAYNAME3* = 44 (* {2, 3, 5} *);
		LOCALE_SDAYNAME4* = 45 (* {0, 2, 3, 5} *);
		LOCALE_SDAYNAME5* = 46 (* {1..3, 5} *);
		LOCALE_SDAYNAME6* = 47 (* {0..3, 5} *);
		LOCALE_SDAYNAME7* = 48 (* {4, 5} *);
		LOCALE_SABBREVDAYNAME1* = 49 (* {0, 4, 5} *);
		LOCALE_SABBREVDAYNAME2* = 50 (* {1, 4, 5} *);
		LOCALE_SABBREVDAYNAME3* = 51 (* {0, 1, 4, 5} *);
		LOCALE_SABBREVDAYNAME4* = 52 (* {2, 4, 5} *);
		LOCALE_SABBREVDAYNAME5* = 53 (* {0, 2, 4, 5} *);
		LOCALE_SABBREVDAYNAME6* = 54 (* {1, 2, 4, 5} *);
		LOCALE_SABBREVDAYNAME7* = 55 (* {0..2, 4, 5} *);
		LOCALE_SMONTHNAME1* = 56 (* {3..5} *);
		LOCALE_SMONTHNAME2* = 57 (* {0, 3..5} *);
		LOCALE_SMONTHNAME3* = 58 (* {1, 3..5} *);
		LOCALE_SMONTHNAME4* = 59 (* {0, 1, 3..5} *);
		LOCALE_SMONTHNAME5* = 60 (* {2..5} *);
		LOCALE_SMONTHNAME6* = 61 (* {0, 2..5} *);
		LOCALE_SMONTHNAME7* = 62 (* {1..5} *);
		LOCALE_SMONTHNAME8* = 63 (* {0..5} *);
		LOCALE_SMONTHNAME9* = 64 (* {6} *);
		LOCALE_SMONTHNAME10* = 65 (* {0, 6} *);
		LOCALE_SMONTHNAME11* = 66 (* {1, 6} *);
		LOCALE_SMONTHNAME12* = 67 (* {0, 1, 6} *);
		LOCALE_SMONTHNAME13* = 4110 (* {1..3, 12} *);
		LOCALE_SABBREVMONTHNAME1* = 68 (* {2, 6} *);
		LOCALE_SABBREVMONTHNAME2* = 69 (* {0, 2, 6} *);
		LOCALE_SABBREVMONTHNAME3* = 70 (* {1, 2, 6} *);
		LOCALE_SABBREVMONTHNAME4* = 71 (* {0..2, 6} *);
		LOCALE_SABBREVMONTHNAME5* = 72 (* {3, 6} *);
		LOCALE_SABBREVMONTHNAME6* = 73 (* {0, 3, 6} *);
		LOCALE_SABBREVMONTHNAME7* = 74 (* {1, 3, 6} *);
		LOCALE_SABBREVMONTHNAME8* = 75 (* {0, 1, 3, 6} *);
		LOCALE_SABBREVMONTHNAME9* = 76 (* {2, 3, 6} *);
		LOCALE_SABBREVMONTHNAME10* = 77 (* {0, 2, 3, 6} *);
		LOCALE_SABBREVMONTHNAME11* = 78 (* {1..3, 6} *);
		LOCALE_SABBREVMONTHNAME12* = 79 (* {0..3, 6} *);
		LOCALE_SABBREVMONTHNAME13* = 4111 (* {0..3, 12} *);
		LOCALE_SPOSITIVESIGN* = 80 (* {4, 6} *);
		LOCALE_SNEGATIVESIGN* = 81 (* {0, 4, 6} *);
		LOCALE_IPOSSIGNPOSN* = 82 (* {1, 4, 6} *);
		LOCALE_INEGSIGNPOSN* = 83 (* {0, 1, 4, 6} *);
		LOCALE_IPOSSYMPRECEDES* = 84 (* {2, 4, 6} *);
		LOCALE_IPOSSEPBYSPACE* = 85 (* {0, 2, 4, 6} *);
		LOCALE_INEGSYMPRECEDES* = 86 (* {1, 2, 4, 6} *);
		LOCALE_INEGSEPBYSPACE* = 87 (* {0..2, 4, 6} *);
		LOCALE_FONTSIGNATURE* = 88 (* {3, 4, 6} *);
		TIME_NOMINUTESORSECONDS* = {0};
		TIME_NOSECONDS* = {1};
		TIME_NOTIMEMARKER* = {2};
		TIME_FORCE24HOURFORMAT* = {3};
		DATE_SHORTDATE* = {0};
		DATE_LONGDATE* = {1};
		DATE_USE_ALT_CALENDAR* = {2};
		CAL_ICALINTVALUE* = 1 (* {0} *);
		CAL_SCALNAME* = 2 (* {1} *);
		CAL_IYEAROFFSETRANGE* = 3 (* {0, 1} *);
		CAL_SERASTRING* = 4 (* {2} *);
		CAL_SSHORTDATE* = 5 (* {0, 2} *);
		CAL_SLONGDATE* = 6 (* {1, 2} *);
		CAL_SDAYNAME1* = 7 (* {0..2} *);
		CAL_SDAYNAME2* = 8 (* {3} *);
		CAL_SDAYNAME3* = 9 (* {0, 3} *);
		CAL_SDAYNAME4* = 10 (* {1, 3} *);
		CAL_SDAYNAME5* = 11 (* {0, 1, 3} *);
		CAL_SDAYNAME6* = 12 (* {2, 3} *);
		CAL_SDAYNAME7* = 13 (* {0, 2, 3} *);
		CAL_SABBREVDAYNAME1* = 14 (* {1..3} *);
		CAL_SABBREVDAYNAME2* = 15 (* {0..3} *);
		CAL_SABBREVDAYNAME3* = 16 (* {4} *);
		CAL_SABBREVDAYNAME4* = 17 (* {0, 4} *);
		CAL_SABBREVDAYNAME5* = 18 (* {1, 4} *);
		CAL_SABBREVDAYNAME6* = 19 (* {0, 1, 4} *);
		CAL_SABBREVDAYNAME7* = 20 (* {2, 4} *);
		CAL_SMONTHNAME1* = 21 (* {0, 2, 4} *);
		CAL_SMONTHNAME2* = 22 (* {1, 2, 4} *);
		CAL_SMONTHNAME3* = 23 (* {0..2, 4} *);
		CAL_SMONTHNAME4* = 24 (* {3, 4} *);
		CAL_SMONTHNAME5* = 25 (* {0, 3, 4} *);
		CAL_SMONTHNAME6* = 26 (* {1, 3, 4} *);
		CAL_SMONTHNAME7* = 27 (* {0, 1, 3, 4} *);
		CAL_SMONTHNAME8* = 28 (* {2..4} *);
		CAL_SMONTHNAME9* = 29 (* {0, 2..4} *);
		CAL_SMONTHNAME10* = 30 (* {1..4} *);
		CAL_SMONTHNAME11* = 31 (* {0..4} *);
		CAL_SMONTHNAME12* = 32 (* {5} *);
		CAL_SMONTHNAME13* = 33 (* {0, 5} *);
		CAL_SABBREVMONTHNAME1* = 34 (* {1, 5} *);
		CAL_SABBREVMONTHNAME2* = 35 (* {0, 1, 5} *);
		CAL_SABBREVMONTHNAME3* = 36 (* {2, 5} *);
		CAL_SABBREVMONTHNAME4* = 37 (* {0, 2, 5} *);
		CAL_SABBREVMONTHNAME5* = 38 (* {1, 2, 5} *);
		CAL_SABBREVMONTHNAME6* = 39 (* {0..2, 5} *);
		CAL_SABBREVMONTHNAME7* = 40 (* {3, 5} *);
		CAL_SABBREVMONTHNAME8* = 41 (* {0, 3, 5} *);
		CAL_SABBREVMONTHNAME9* = 42 (* {1, 3, 5} *);
		CAL_SABBREVMONTHNAME10* = 43 (* {0, 1, 3, 5} *);
		CAL_SABBREVMONTHNAME11* = 44 (* {2, 3, 5} *);
		CAL_SABBREVMONTHNAME12* = 45 (* {0, 2, 3, 5} *);
		CAL_SABBREVMONTHNAME13* = 46 (* {1..3, 5} *);
		ENUM_ALL_CALENDARS* = -1 (* {0..31} *);
		CAL_GREGORIAN* = 1 (* {0} *);
		CAL_GREGORIAN_US* = 2 (* {1} *);
		CAL_JAPAN* = 3 (* {0, 1} *);
		CAL_TAIWAN* = 4 (* {2} *);
		CAL_KOREA* = 5 (* {0, 2} *);
		CAL_HIJRI* = 6 (* {1, 2} *);
		CAL_THAI* = 7 (* {0..2} *);
		CAL_HEBREW* = 8 (* {3} *);
		RIGHT_ALT_PRESSED* = {0};
		LEFT_ALT_PRESSED* = {1};
		RIGHT_CTRL_PRESSED* = {2};
		LEFT_CTRL_PRESSED* = {3};
		SHIFT_PRESSED* = {4};
		NUMLOCK_ON* = {5};
		SCROLLLOCK_ON* = {6};
		CAPSLOCK_ON* = {7};
		ENHANCED_KEY* = {8};
		FROM_LEFT_1ST_BUTTON_PRESSED* = {0};
		RIGHTMOST_BUTTON_PRESSED* = {1};
		FROM_LEFT_2ND_BUTTON_PRESSED* = {2};
		FROM_LEFT_3RD_BUTTON_PRESSED* = {3};
		FROM_LEFT_4TH_BUTTON_PRESSED* = {4};
		MOUSE_MOVED* = {0};
		DOUBLE_CLICK* = {1};
		KEY_EVENT* = {0};
		MOUSE_EVENT* = 2 (* {1} *);
		WINDOW_BUFFER_SIZE_EVENT* = 4 (* {2} *);
		MENU_EVENT* = 8 (* {3} *);
		FOCUS_EVENT* = 16 (* {4} *);
		FOREGROUND_BLUE* = 1 (* {0} *);
		FOREGROUND_GREEN* = 2 (* {1} *);
		FOREGROUND_RED* = 4 (* {2} *);
		FOREGROUND_INTENSITY* = 8 (* {3} *);
		BACKGROUND_BLUE* = 16 (* {4} *);
		BACKGROUND_GREEN* = 32 (* {5} *);
		BACKGROUND_RED* = 64 (* {6} *);
		BACKGROUND_INTENSITY* = 128 (* {7} *);
		CTRL_C_EVENT* = 0 (* {} *);
		CTRL_BREAK_EVENT* = 1 (* {0} *);
		CTRL_CLOSE_EVENT* = 2 (* {1} *);
		CTRL_LOGOFF_EVENT* = 5 (* {0, 2} *);
		CTRL_SHUTDOWN_EVENT* = 6 (* {1, 2} *);
		ENABLE_PROCESSED_INPUT* = {0};
		ENABLE_LINE_INPUT* = {1};
		ENABLE_ECHO_INPUT* = {2};
		ENABLE_WINDOW_INPUT* = {3};
		ENABLE_MOUSE_INPUT* = {4};
		ENABLE_PROCESSED_OUTPUT* = {0};
		ENABLE_WRAP_AT_EOL_OUTPUT* = {1};
		CONSOLE_TEXTMODE_BUFFER* = {0};
		VS_FILE_INFO* = 16 (* {4} *);
		VS_VERSION_INFO* = 1 (* {0} *);
		VS_USER_DEFINED* = 100 (* {2, 5, 6} *);
		VS_FFI_SIGNATURE* = -17890115 (* {0, 2..5, 7, 10, 16..19, 21..23, 25..31} *);
		VS_FFI_STRUCVERSION* = 65536 (* {16} *);
		VS_FFI_FILEFLAGSMASK* = 63 (* {0..5} *);
		VS_FF_DEBUG* = {0};
		VS_FF_PRERELEASE* = {1};
		VS_FF_PATCHED* = {2};
		VS_FF_PRIVATEBUILD* = {3};
		VS_FF_INFOINFERRED* = {4};
		VS_FF_SPECIALBUILD* = {5};
		VOS_UNKNOWN* = {};
		VOS_DOS* = {16};
		VOS_OS216* = {17};
		VOS_OS232* = {16, 17};
		VOS_NT* = {18};
		VOS__BASE* = {};
		VOS__WINDOWS16* = {0};
		VOS__PM16* = {1};
		VOS__PM32* = {0, 1};
		VOS__WINDOWS32* = {2};
		VOS_DOS_WINDOWS16* = {0, 16};
		VOS_DOS_WINDOWS32* = {2, 16};
		VOS_OS216_PM16* = {1, 17};
		VOS_OS232_PM32* = {0, 1, 16, 17};
		VOS_NT_WINDOWS32* = {2, 18};
		VFT_UNKNOWN* = 0 (* {} *);
		VFT_APP* = 1 (* {0} *);
		VFT_DLL* = 2 (* {1} *);
		VFT_DRV* = 3 (* {0, 1} *);
		VFT_FONT* = 4 (* {2} *);
		VFT_VXD* = 5 (* {0, 2} *);
		VFT_STATIC_LIB* = 7 (* {0..2} *);
		VFT2_UNKNOWN* = 0 (* {} *);
		VFT2_DRV_PRINTER* = 1 (* {0} *);
		VFT2_DRV_KEYBOARD* = 2 (* {1} *);
		VFT2_DRV_LANGUAGE* = 3 (* {0, 1} *);
		VFT2_DRV_DISPLAY* = 4 (* {2} *);
		VFT2_DRV_MOUSE* = 5 (* {0, 2} *);
		VFT2_DRV_NETWORK* = 6 (* {1, 2} *);
		VFT2_DRV_SYSTEM* = 7 (* {0..2} *);
		VFT2_DRV_INSTALLABLE* = 8 (* {3} *);
		VFT2_DRV_SOUND* = 9 (* {0, 3} *);
		VFT2_DRV_COMM* = 10 (* {1, 3} *);
		VFT2_FONT_RASTER* = 1 (* {0} *);
		VFT2_FONT_VECTOR* = 2 (* {1} *);
		VFT2_FONT_TRUETYPE* = 3 (* {0, 1} *);
		VFFF_ISSHAREDFILE* = {0};
		VFF_CURNEDEST* = {0};
		VFF_FILEINUSE* = {1};
		VFF_BUFFTOOSMALL* = {2};
		VIFF_FORCEINSTALL* = {0};
		VIFF_DONTDELETEOLD* = {1};
		VIF_TEMPFILE* = {0};
		VIF_MISMATCH* = {1};
		VIF_SRCOLD* = {2};
		VIF_DIFFLANG* = {3};
		VIF_DIFFCODEPG* = {4};
		VIF_DIFFTYPE* = {5};
		VIF_WRITEPROT* = {6};
		VIF_FILEINUSE* = {7};
		VIF_OUTOFSPACE* = {8};
		VIF_ACCESSVIOLATION* = {9};
		VIF_SHARINGVIOLATION* = {10};
		VIF_CANNOTCREATE* = {11};
		VIF_CANNOTDELETE* = {12};
		VIF_CANNOTRENAME* = {13};
		VIF_CANNOTDELETECUR* = {14};
		VIF_OUTOFMEMORY* = {15};
		VIF_CANNOTREADSRC* = {16};
		VIF_CANNOTREADDST* = {17};
		VIF_BUFFTOOSMALL* = {18};
		PROVIDER_KEEPS_VALUE_LENGTH* = 1 (* {0} *);
		WIN31_CLASS* = 0 (* {} *);
		CDERR_DIALOGFAILURE* = 65535 (* {0..15} *);
		CDERR_GENERALCODES* = 0 (* {} *);
		CDERR_STRUCTSIZE* = 1 (* {0} *);
		CDERR_INITIALIZATION* = 2 (* {1} *);
		CDERR_NOTEMPLATE* = 3 (* {0, 1} *);
		CDERR_NOHINSTANCE* = 4 (* {2} *);
		CDERR_LOADSTRFAILURE* = 5 (* {0, 2} *);
		CDERR_FINDRESFAILURE* = 6 (* {1, 2} *);
		CDERR_LOADRESFAILURE* = 7 (* {0..2} *);
		CDERR_LOCKRESFAILURE* = 8 (* {3} *);
		CDERR_MEMALLOCFAILURE* = 9 (* {0, 3} *);
		CDERR_MEMLOCKFAILURE* = 10 (* {1, 3} *);
		CDERR_NOHOOK* = 11 (* {0, 1, 3} *);
		CDERR_REGISTERMSGFAIL* = 12 (* {2, 3} *);
		PDERR_PRINTERCODES* = 4096 (* {12} *);
		PDERR_SETUPFAILURE* = 4097 (* {0, 12} *);
		PDERR_PARSEFAILURE* = 4098 (* {1, 12} *);
		PDERR_RETDEFFAILURE* = 4099 (* {0, 1, 12} *);
		PDERR_LOADDRVFAILURE* = 4100 (* {2, 12} *);
		PDERR_GETDEVMODEFAIL* = 4101 (* {0, 2, 12} *);
		PDERR_INITFAILURE* = 4102 (* {1, 2, 12} *);
		PDERR_NODEVICES* = 4103 (* {0..2, 12} *);
		PDERR_NODEFAULTPRN* = 4104 (* {3, 12} *);
		PDERR_DNDMMISMATCH* = 4105 (* {0, 3, 12} *);
		PDERR_CREATEICFAILURE* = 4106 (* {1, 3, 12} *);
		PDERR_PRINTERNOTFOUND* = 4107 (* {0, 1, 3, 12} *);
		PDERR_DEFAULTDIFFERENT* = 4108 (* {2, 3, 12} *);
		CFERR_CHOOSEFONTCODES* = 8192 (* {13} *);
		CFERR_NOFONTS* = 8193 (* {0, 13} *);
		CFERR_MAXLESSTHANMIN* = 8194 (* {1, 13} *);
		FNERR_FILENAMECODES* = 12288 (* {12, 13} *);
		FNERR_SUBCLASSFAILURE* = 12289 (* {0, 12, 13} *);
		FNERR_INVALIDFILENAME* = 12290 (* {1, 12, 13} *);
		FNERR_BUFFERTOOSMALL* = 12291 (* {0, 1, 12, 13} *);
		FRERR_FINDREPLACECODES* = 16384 (* {14} *);
		FRERR_BUFFERLENGTHZERO* = 16385 (* {0, 14} *);
		CCERR_CHOOSECOLORCODES* = 20480 (* {12, 14} *);
		WM_DDE_FIRST* = 992 (* {5..9} *);
		WM_DDE_INITIATE* = 992 (* {5..9} *);
		WM_DDE_TERMINATE* = 993 (* {0, 5..9} *);
		WM_DDE_ADVISE* = 994 (* {1, 5..9} *);
		WM_DDE_UNADVISE* = 995 (* {0, 1, 5..9} *);
		WM_DDE_ACK* = 996 (* {2, 5..9} *);
		WM_DDE_DATA* = 997 (* {0, 2, 5..9} *);
		WM_DDE_REQUEST* = 998 (* {1, 2, 5..9} *);
		WM_DDE_POKE* = 999 (* {0..2, 5..9} *);
		WM_DDE_EXECUTE* = 1000 (* {3, 5..9} *);
		WM_DDE_LAST* = 1000 (* {3, 5..9} *);
		XST_NULL* = 0 (* {} *);
		XST_INCOMPLETE* = 1 (* {0} *);
		XST_CONNECTED* = 2 (* {1} *);
		XST_INIT1* = 3 (* {0, 1} *);
		XST_INIT2* = 4 (* {2} *);
		XST_REQSENT* = 5 (* {0, 2} *);
		XST_DATARCVD* = 6 (* {1, 2} *);
		XST_POKESENT* = 7 (* {0..2} *);
		XST_POKEACKRCVD* = 8 (* {3} *);
		XST_EXECSENT* = 9 (* {0, 3} *);
		XST_EXECACKRCVD* = 10 (* {1, 3} *);
		XST_ADVSENT* = 11 (* {0, 1, 3} *);
		XST_UNADVSENT* = 12 (* {2, 3} *);
		XST_ADVACKRCVD* = 13 (* {0, 2, 3} *);
		XST_UNADVACKRCVD* = 14 (* {1..3} *);
		XST_ADVDATASENT* = 15 (* {0..3} *);
		XST_ADVDATAACKRCVD* = 16 (* {4} *);
		CADV_LATEACK* = 65535 (* {0..15} *);
		ST_CONNECTED* = {0};
		ST_ADVISE* = {1};
		ST_ISLOCAL* = {2};
		ST_BLOCKED* = {3};
		ST_CLIENT* = {4};
		ST_TERMINATED* = {5};
		ST_INLIST* = {6};
		ST_BLOCKNEXT* = {7};
		ST_ISSELF* = {8};
		DDE_FACK* = {15};
		DDE_FBUSY* = {14};
		DDE_FDEFERUPD* = {14};
		DDE_FACKREQ* = {15};
		DDE_FRELEASE* = {13};
		DDE_FREQUESTED* = {12};
		DDE_FAPPSTATUS* = {0..7};
		DDE_FNOTPROCESSED* = {};
		DDE_FACKRESERVED* = {8..13, 16..31};
		DDE_FADVRESERVED* = {0..13, 16..31};
		DDE_FDATRESERVED* = {0..11, 14, 16..31};
		DDE_FPOKRESERVED* = {0..12, 14..31};
		MSGF_DDEMGR* = 32769 (* {0, 15} *);
		CP_WINANSI* = 1004 (* {2, 3, 5..9} *);
		CP_WINUNICODE* = 1200 (* {4, 5, 7, 10} *);
		CP_WINNEUTRAL* = 1004 (* {2, 3, 5..9} *);
		XTYPF_NOBLOCK* = {1};
		XTYPF_NODATA* = {2};
		XTYPF_ACKREQ* = {3};
		XCLASS_MASK* = {10..15};
		XCLASS_BOOL* = {12};
		XCLASS_DATA* = {13};
		XCLASS_FLAGS* = {14};
		XCLASS_NOTIFICATION* = {15};
		XTYP_ERROR* = 32770 (* {1, 15} *);
		XTYP_ADVDATA* = 16400 (* {4, 14} *);
		XTYP_ADVREQ* = 8226 (* {1, 5, 13} *);
		XTYP_ADVSTART* = 4144 (* {4, 5, 12} *);
		XTYP_ADVSTOP* = 32832 (* {6, 15} *);
		XTYP_EXECUTE* = 16464 (* {4, 6, 14} *);
		XTYP_CONNECT* = 4194 (* {1, 5, 6, 12} *);
		XTYP_CONNECT_CONFIRM* = 32882 (* {1, 4..6, 15} *);
		XTYP_XACT_COMPLETE* = 32896 (* {7, 15} *);
		XTYP_POKE* = 16528 (* {4, 7, 14} *);
		XTYP_REGISTER* = 32930 (* {1, 5, 7, 15} *);
		XTYP_REQUEST* = 8368 (* {4, 5, 7, 13} *);
		XTYP_DISCONNECT* = 32962 (* {1, 6, 7, 15} *);
		XTYP_UNREGISTER* = 32978 (* {1, 4, 6, 7, 15} *);
		XTYP_WILDCONNECT* = 8418 (* {1, 5..7, 13} *);
		XTYP_MASK* = 240 (* {4..7} *);
		XTYP_SHIFT* = 4 (* {2} *);
		TIMEOUT_ASYNC* = -1 (* {0..31} *);
		QID_SYNC* = -1 (* {0..31} *);
		SZDDESYS_TOPIC* = "System";
		SZDDESYS_ITEM_TOPICS* = "Topics";
		SZDDESYS_ITEM_SYSITEMS* = "SysItems";
		SZDDESYS_ITEM_RTNMSG* = "ReturnMessage";
		SZDDESYS_ITEM_STATUS* = "Status";
		SZDDESYS_ITEM_FORMATS* = "Formats";
		SZDDESYS_ITEM_HELP* = "Help";
		SZDDE_ITEM_ITEMLIST* = "TopicItemList";
		CBF_FAIL_SELFCONNECTIONS* = 4096 (* {12} *);
		CBF_FAIL_CONNECTIONS* = 8192 (* {13} *);
		CBF_FAIL_ADVISES* = 16384 (* {14} *);
		CBF_FAIL_EXECUTES* = 32768 (* {15} *);
		CBF_FAIL_POKES* = 65536 (* {16} *);
		CBF_FAIL_REQUESTS* = 131072 (* {17} *);
		CBF_FAIL_ALLSVRXACTIONS* = 258048 (* {12..17} *);
		CBF_SKIP_CONNECT_CONFIRMS* = 262144 (* {18} *);
		CBF_SKIP_REGISTRATIONS* = 524288 (* {19} *);
		CBF_SKIP_UNREGISTRATIONS* = 1048576 (* {20} *);
		CBF_SKIP_DISCONNECTS* = 2097152 (* {21} *);
		CBF_SKIP_ALLNOTIFICATIONS* = 3932160 (* {18..21} *);
		APPCMD_CLIENTONLY* = 16 (* {4} *);
		APPCMD_FILTERINITS* = 32 (* {5} *);
		APPCMD_MASK* = 4080 (* {4..11} *);
		APPCLASS_STANDARD* = 0 (* {} *);
		APPCLASS_MASK* = 15 (* {0..3} *);
		EC_ENABLEALL* = 0 (* {} *);
		EC_ENABLEONE* = 128 (* {7} *);
		EC_DISABLE* = 8 (* {3} *);
		EC_QUERYWAITING* = 2 (* {1} *);
		DNS_REGISTER* = 1 (* {0} *);
		DNS_UNREGISTER* = 2 (* {1} *);
		DNS_FILTERON* = 4 (* {2} *);
		DNS_FILTEROFF* = 8 (* {3} *);
		HDATA_APPOWNED* = 1 (* {0} *);
		DMLERR_NO_ERROR* = 0 (* {} *);
		DMLERR_FIRST* = 16384 (* {14} *);
		DMLERR_ADVACKTIMEOUT* = 16384 (* {14} *);
		DMLERR_BUSY* = 16385 (* {0, 14} *);
		DMLERR_DATAACKTIMEOUT* = 16386 (* {1, 14} *);
		DMLERR_DLL_NOT_INITIALIZED* = 16387 (* {0, 1, 14} *);
		DMLERR_DLL_USAGE* = 16388 (* {2, 14} *);
		DMLERR_EXECACKTIMEOUT* = 16389 (* {0, 2, 14} *);
		DMLERR_INVALIDPARAMETER* = 16390 (* {1, 2, 14} *);
		DMLERR_LOW_MEMORY* = 16391 (* {0..2, 14} *);
		DMLERR_MEMORY_ERROR* = 16392 (* {3, 14} *);
		DMLERR_NOTPROCESSED* = 16393 (* {0, 3, 14} *);
		DMLERR_NO_CONV_ESTABLISHED* = 16394 (* {1, 3, 14} *);
		DMLERR_POKEACKTIMEOUT* = 16395 (* {0, 1, 3, 14} *);
		DMLERR_POSTMSG_FAILED* = 16396 (* {2, 3, 14} *);
		DMLERR_REENTRANCY* = 16397 (* {0, 2, 3, 14} *);
		DMLERR_SERVER_DIED* = 16398 (* {1..3, 14} *);
		DMLERR_SYS_ERROR* = 16399 (* {0..3, 14} *);
		DMLERR_UNADVACKTIMEOUT* = 16400 (* {4, 14} *);
		DMLERR_UNFOUND_QUEUE_ID* = 16401 (* {0, 4, 14} *);
		DMLERR_LAST* = 16401 (* {0, 4, 14} *);
		MH_CREATE* = 1 (* {0} *);
		MH_KEEP* = 2 (* {1} *);
		MH_DELETE* = 3 (* {0, 1} *);
		MH_CLEANUP* = 4 (* {2} *);
		MAX_MONITORS* = 4 (* {2} *);
		APPCLASS_MONITOR* = 1 (* {0} *);
		XTYP_MONITOR* = 33010 (* {1, 4..7, 15} *);
		MF_HSZ_INFO* = {24};
		MF_SENDMSGS* = {25};
		MF_POSTMSGS* = {26};
		MF_CALLBACKS* = {27};
		MF_ERRORS* = {28};
		MF_LINKS* = {29};
		MF_CONV* = {30};
		MF_MASK* = {24..31};
		LZERROR_BADINHANDLE* = -1 (* {0..31} *);
		LZERROR_BADOUTHANDLE* = -2 (* {1..31} *);
		LZERROR_READ* = -3 (* {0, 2..31} *);
		LZERROR_WRITE* = -4 (* {2..31} *);
		LZERROR_GLOBALLOC* = -5 (* {0, 1, 3..31} *);
		LZERROR_GLOBLOCK* = -6 (* {1, 3..31} *);
		LZERROR_BADVALUE* = -7 (* {0, 3..31} *);
		LZERROR_UNKNOWNALG* = -8 (* {3..31} *);
		ABM_NEW* = 0 (* {} *);
		ABM_REMOVE* = 1 (* {0} *);
		ABM_QUERYPOS* = 2 (* {1} *);
		ABM_SETPOS* = 3 (* {0, 1} *);
		ABM_GETSTATE* = 4 (* {2} *);
		ABM_GETTASKBARPOS* = 5 (* {0, 2} *);
		ABM_ACTIVATE* = 6 (* {1, 2} *);
		ABM_GETAUTOHIDEBAR* = 7 (* {0..2} *);
		ABM_SETAUTOHIDEBAR* = 8 (* {3} *);
		ABM_WINDOWPOSCHANGED* = 9 (* {0, 3} *);
		ABN_STATECHANGE* = 0 (* {} *);
		ABN_POSCHANGED* = 1 (* {0} *);
		ABN_FULLSCREENAPP* = 2 (* {1} *);
		ABN_WINDOWARRANGE* = 3 (* {0, 1} *);
		ABS_AUTOHIDE* = 1 (* {0} *);
		ABS_ALWAYSONTOP* = 2 (* {1} *);
		ABE_LEFT* = 0 (* {} *);
		ABE_TOP* = 1 (* {0} *);
		ABE_RIGHT* = 2 (* {1} *);
		ABE_BOTTOM* = 3 (* {0, 1} *);
		FO_MOVE* = 1 (* {0} *);
		FO_COPY* = 2 (* {1} *);
		FO_DELETE* = 3 (* {0, 1} *);
		FO_RENAME* = 4 (* {2} *);
		FOF_MULTIDESTFILES* = 1 (* {0} *);
		FOF_CONFIRMMOUSE* = 2 (* {1} *);
		FOF_SILENT* = 4 (* {2} *);
		FOF_RENAMEONCOLLISION* = 8 (* {3} *);
		FOF_NOCONFIRMATION* = 16 (* {4} *);
		FOF_WANTMAPPINGHANDLE* = 32 (* {5} *);
		FOF_ALLOWUNDO* = 64 (* {6} *);
		FOF_FILESONLY* = 128 (* {7} *);
		FOF_SIMPLEPROGRESS* = 256 (* {8} *);
		FOF_NOCONFIRMMKDIR* = 512 (* {9} *);
		PO_DELETE* = 19 (* {0, 1, 4} *);
		PO_RENAME* = 20 (* {2, 4} *);
		PO_PORTCHANGE* = 32 (* {5} *);
		PO_REN_PORT* = 52 (* {2, 4, 5} *);
		SE_ERR_FNF* = 2 (* {1} *);
		SE_ERR_PNF* = 3 (* {0, 1} *);
		SE_ERR_ACCESSDENIED* = 5 (* {0, 2} *);
		SE_ERR_OOM* = 8 (* {3} *);
		SE_ERR_DLLNOTFOUND* = 32 (* {5} *);
		SE_ERR_SHARE* = 26 (* {1, 3, 4} *);
		SE_ERR_ASSOCINCOMPLETE* = 27 (* {0, 1, 3, 4} *);
		SE_ERR_DDETIMEOUT* = 28 (* {2..4} *);
		SE_ERR_DDEFAIL* = 29 (* {0, 2..4} *);
		SE_ERR_DDEBUSY* = 30 (* {1..4} *);
		SE_ERR_NOASSOC* = 31 (* {0..4} *);
		SEE_MASK_CLASSNAME* = {0};
		SEE_MASK_CLASSKEY* = {0, 1};
		SEE_MASK_IDLIST* = {2};
		SEE_MASK_INVOKEIDLIST* = {2, 3};
		SEE_MASK_ICON* = {4};
		SEE_MASK_HOTKEY* = {5};
		SEE_MASK_NOCLOSEPROCESS* = {6};
		SEE_MASK_CONNECTNETDRV* = {7};
		SEE_MASK_FLAG_DDEWAIT* = {8};
		SEE_MASK_DOENVSUBST* = {9};
		SEE_MASK_FLAG_NO_UI* = {10};
		SEE_MASK_UNICODE* = {14};
		SEE_MASK_NO_CONSOLE* = {15};
		NIM_ADD* = 0 (* {} *);
		NIM_MODIFY* = 1 (* {0} *);
		NIM_DELETE* = 2 (* {1} *);
		NIF_MESSAGE* = {0};
		NIF_ICON* = {1};
		NIF_TIP* = {2};
		SHGFI_ICON* = {8};
		SHGFI_DISPLAYNAME* = {9};
		SHGFI_TYPENAME* = {10};
		SHGFI_ATTRIBUTES* = {11};
		SHGFI_ICONLOCATION* = {12};
		SHGFI_EXETYPE* = {13};
		SHGFI_SYSICONINDEX* = {14};
		SHGFI_LINKOVERLAY* = {15};
		SHGFI_SELECTED* = {16};
		SHGFI_LARGEICON* = {};
		SHGFI_SMALLICON* = {0};
		SHGFI_OPENICON* = {1};
		SHGFI_SHELLICONSIZE* = {2};
		SHGFI_PIDL* = {3};
		SHGFI_USEFILEATTRIBUTES* = {4};
		SHGNLI_PIDL* = 1 (* {0} *);
		SHGNLI_PREFIXNAME* = 2 (* {1} *);
		MAXPROPPAGES* = 100 (* {2, 5, 6} *);
		PSP_DEFAULT* = {};
		PSP_DLGINDIRECT* = {0};
		PSP_USEHICON* = {1};
		PSP_USEICONID* = {2};
		PSP_USETITLE* = {3};
		PSP_RTLREADING* = {4};
		PSP_HASHELP* = {5};
		PSP_USEREFPARENT* = {6};
		PSP_USECALLBACK* = {7};
		PSPCB_RELEASE* = 1 (* {0} *);
		PSPCB_CREATE* = 2 (* {1} *);
		PSH_DEFAULT* = {};
		PSH_PROPTITLE* = {0};
		PSH_USEHICON* = {1};
		PSH_USEICONID* = {2};
		PSH_PROPSHEETPAGE* = {3};
		PSH_WIZARD* = {5};
		PSH_USEPSTARTPAGE* = {6};
		PSH_NOAPPLYNOW* = {7};
		PSH_USECALLBACK* = {8};
		PSH_HASHELP* = {9};
		PSH_MODELESS* = {10};
		PSH_RTLREADING* = {11};
		PSCB_INITIALIZED* = 1 (* {0} *);
		PSCB_PRECREATE* = 2 (* {1} *);
		PSN_FIRST* = -200 (* {3..5, 8..31} *);
		PSN_LAST* = -299 (* {0, 2, 4, 6, 7, 9..31} *);
		PSN_SETACTIVE* = -200 (* {3..5, 8..31} *);
		PSN_KILLACTIVE* = -201 (* {0..2, 4, 5, 8..31} *);
		PSN_APPLY* = -202 (* {1, 2, 4, 5, 8..31} *);
		PSN_RESET* = -203 (* {0, 2, 4, 5, 8..31} *);
		PSN_HELP* = -205 (* {0, 1, 4, 5, 8..31} *);
		PSN_WIZBACK* = -206 (* {1, 4, 5, 8..31} *);
		PSN_WIZNEXT* = -207 (* {0, 4, 5, 8..31} *);
		PSN_WIZFINISH* = -208 (* {4, 5, 8..31} *);
		PSN_QUERYCANCEL* = -209 (* {0..3, 5, 8..31} *);
		PSNRET_NOERROR* = 0 (* {} *);
		PSNRET_INVALID* = 1 (* {0} *);
		PSNRET_INVALID_NOCHANGEPAGE* = 2 (* {1} *);
		PSM_SETCURSEL* = 1125 (* {0, 2, 5, 6, 10} *);
		PSM_REMOVEPAGE* = 1126 (* {1, 2, 5, 6, 10} *);
		PSM_ADDPAGE* = 1127 (* {0..2, 5, 6, 10} *);
		PSM_CHANGED* = 1128 (* {3, 5, 6, 10} *);
		PSM_RESTARTWINDOWS* = 1129 (* {0, 3, 5, 6, 10} *);
		PSM_REBOOTSYSTEM* = 1130 (* {1, 3, 5, 6, 10} *);
		PSM_CANCELTOCLOSE* = 1131 (* {0, 1, 3, 5, 6, 10} *);
		PSM_QUERYSIBLINGS* = 1132 (* {2, 3, 5, 6, 10} *);
		PSM_UNCHANGED* = 1133 (* {0, 2, 3, 5, 6, 10} *);
		PSM_APPLY* = 1134 (* {1..3, 5, 6, 10} *);
		PSM_SETTITLEA* = 1135 (* {0..3, 5, 6, 10} *);
		PSM_SETTITLEW* = 1144 (* {3..6, 10} *);
		PSM_SETTITLE* = 1135 (* {0..3, 5, 6, 10} *);
		PSM_SETWIZBUTTONS* = 1136 (* {4..6, 10} *);
		PSWIZB_BACK* = {0};
		PSWIZB_NEXT* = {1};
		PSWIZB_FINISH* = {2};
		PSWIZB_DISABLEDFINISH* = {3};
		PSM_PRESSBUTTON* = 1137 (* {0, 4..6, 10} *);
		PSBTN_BACK* = 0 (* {} *);
		PSBTN_NEXT* = 1 (* {0} *);
		PSBTN_FINISH* = 2 (* {1} *);
		PSBTN_OK* = 3 (* {0, 1} *);
		PSBTN_APPLYNOW* = 4 (* {2} *);
		PSBTN_CANCEL* = 5 (* {0, 2} *);
		PSBTN_HELP* = 6 (* {1, 2} *);
		PSBTN_MAX* = 6 (* {1, 2} *);
		PSM_SETCURSELID* = 1138 (* {1, 4..6, 10} *);
		PSM_SETFINISHTEXTA* = 1139 (* {0, 1, 4..6, 10} *);
		PSM_SETFINISHTEXTW* = 1145 (* {0, 3..6, 10} *);
		PSM_SETFINISHTEXT* = 1139 (* {0, 1, 4..6, 10} *);
		PSM_GETTABCONTROL* = 1140 (* {2, 4..6, 10} *);
		PSM_ISDIALOGMESSAGE* = 1141 (* {0, 2, 4..6, 10} *);
		PSM_GETCURRENTPAGEHWND* = 1142 (* {1, 2, 4..6, 10} *);
		ID_PSRESTARTWINDOWS* = 2 (* {1} *);
		ID_PSREBOOTSYSTEM* = 3 (* {0, 1} *);
		WIZ_CXDLG* = 276 (* {2, 4, 8} *);
		WIZ_CYDLG* = 140 (* {2, 3, 7} *);
		WIZ_CXBMP* = 80 (* {4, 6} *);
		WIZ_BODYX* = 92 (* {2..4, 6} *);
		WIZ_BODYCX* = 184 (* {3..5, 7} *);
		PROP_SM_CXDLG* = 212 (* {2, 4, 6, 7} *);
		PROP_SM_CYDLG* = 188 (* {2..5, 7} *);
		PROP_MED_CXDLG* = 227 (* {0, 1, 5..7} *);
		PROP_MED_CYDLG* = 215 (* {0..2, 4, 6, 7} *);
		PROP_LG_CXDLG* = 252 (* {2..7} *);
		PROP_LG_CYDLG* = 218 (* {1, 3, 4, 6, 7} *);
		PRINTER_CONTROL_PAUSE* = 1 (* {0} *);
		PRINTER_CONTROL_RESUME* = 2 (* {1} *);
		PRINTER_CONTROL_PURGE* = 3 (* {0, 1} *);
		PRINTER_CONTROL_SET_STATUS* = 4 (* {2} *);
		PRINTER_STATUS_PAUSED* = {0};
		PRINTER_STATUS_ERROR* = {1};
		PRINTER_STATUS_PENDING_DELETION* = {2};
		PRINTER_STATUS_PAPER_JAM* = {3};
		PRINTER_STATUS_PAPER_OUT* = {4};
		PRINTER_STATUS_MANUAL_FEED* = {5};
		PRINTER_STATUS_PAPER_PROBLEM* = {6};
		PRINTER_STATUS_OFFLINE* = {7};
		PRINTER_STATUS_IO_ACTIVE* = {8};
		PRINTER_STATUS_BUSY* = {9};
		PRINTER_STATUS_PRINTING* = {10};
		PRINTER_STATUS_OUTPUT_BIN_FULL* = {11};
		PRINTER_STATUS_NOT_AVAILABLE* = {12};
		PRINTER_STATUS_WAITING* = {13};
		PRINTER_STATUS_PROCESSING* = {14};
		PRINTER_STATUS_INITIALIZING* = {15};
		PRINTER_STATUS_WARMING_UP* = {16};
		PRINTER_STATUS_TONER_LOW* = {17};
		PRINTER_STATUS_NO_TONER* = {18};
		PRINTER_STATUS_PAGE_PUNT* = {19};
		PRINTER_STATUS_USER_INTERVENTION* = {20};
		PRINTER_STATUS_OUT_OF_MEMORY* = {21};
		PRINTER_STATUS_DOOR_OPEN* = {22};
		PRINTER_STATUS_SERVER_UNKNOWN* = {23};
		PRINTER_STATUS_POWER_SAVE* = {24};
		PRINTER_ATTRIBUTE_QUEUED* = {0};
		PRINTER_ATTRIBUTE_DIRECT* = {1};
		PRINTER_ATTRIBUTE_DEFAULT* = {2};
		PRINTER_ATTRIBUTE_SHARED* = {3};
		PRINTER_ATTRIBUTE_NETWORK* = {4};
		PRINTER_ATTRIBUTE_HIDDEN* = {5};
		PRINTER_ATTRIBUTE_LOCAL* = {6};
		PRINTER_ATTRIBUTE_ENABLE_DEVQ* = {7};
		PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS* = {8};
		PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST* = {9};
		PRINTER_ATTRIBUTE_WORK_OFFLINE* = {10};
		PRINTER_ATTRIBUTE_ENABLE_BIDI* = {11};
		NO_PRIORITY* = 0 (* {} *);
		MAX_PRIORITY* = 99 (* {0, 1, 5, 6} *);
		MIN_PRIORITY* = 1 (* {0} *);
		DEF_PRIORITY* = 1 (* {0} *);
		JOB_CONTROL_PAUSE* = 1 (* {0} *);
		JOB_CONTROL_RESUME* = 2 (* {1} *);
		JOB_CONTROL_CANCEL* = 3 (* {0, 1} *);
		JOB_CONTROL_RESTART* = 4 (* {2} *);
		JOB_CONTROL_DELETE* = 5 (* {0, 2} *);
		JOB_STATUS_PAUSED* = {0};
		JOB_STATUS_ERROR* = {1};
		JOB_STATUS_DELETING* = {2};
		JOB_STATUS_SPOOLING* = {3};
		JOB_STATUS_PRINTING* = {4};
		JOB_STATUS_OFFLINE* = {5};
		JOB_STATUS_PAPEROUT* = {6};
		JOB_STATUS_PRINTED* = {7};
		JOB_STATUS_DELETED* = {8};
		JOB_STATUS_BLOCKED_DEVQ* = {9};
		JOB_STATUS_USER_INTERVENTION* = {10};
		JOB_POSITION_UNSPECIFIED* = 0 (* {} *);
		DI_CHANNEL* = 1 (* {0} *);
		DI_READ_SPOOL_JOB* = 3 (* {0, 1} *);
		FORM_BUILTIN* = 1 (* {0} *);
		PORT_TYPE_WRITE* = 1 (* {0} *);
		PORT_TYPE_READ* = 2 (* {1} *);
		PORT_TYPE_REDIRECTED* = 4 (* {2} *);
		PORT_TYPE_NET_ATTACHED* = 8 (* {3} *);
		PRINTER_ENUM_DEFAULT* = {0};
		PRINTER_ENUM_LOCAL* = {1};
		PRINTER_ENUM_CONNECTIONS* = {2};
		PRINTER_ENUM_FAVORITE* = {2};
		PRINTER_ENUM_NAME* = {3};
		PRINTER_ENUM_REMOTE* = {4};
		PRINTER_ENUM_SHARED* = {5};
		PRINTER_ENUM_NETWORK* = {6};
		PRINTER_ENUM_EXPAND* = {14};
		PRINTER_ENUM_CONTAINER* = {15};
		PRINTER_ENUM_ICONMASK* = {16..23};
		PRINTER_ENUM_ICON1* = {16};
		PRINTER_ENUM_ICON2* = {17};
		PRINTER_ENUM_ICON3* = {18};
		PRINTER_ENUM_ICON4* = {19};
		PRINTER_ENUM_ICON5* = {20};
		PRINTER_ENUM_ICON6* = {21};
		PRINTER_ENUM_ICON7* = {22};
		PRINTER_ENUM_ICON8* = {23};
		PRINTER_NOTIFY_TYPE* = 0 (* {} *);
		JOB_NOTIFY_TYPE* = 1 (* {0} *);
		PRINTER_NOTIFY_FIELD_SERVER_NAME* = 0 (* {} *);
		PRINTER_NOTIFY_FIELD_PRINTER_NAME* = 1 (* {0} *);
		PRINTER_NOTIFY_FIELD_SHARE_NAME* = 2 (* {1} *);
		PRINTER_NOTIFY_FIELD_PORT_NAME* = 3 (* {0, 1} *);
		PRINTER_NOTIFY_FIELD_DRIVER_NAME* = 4 (* {2} *);
		PRINTER_NOTIFY_FIELD_COMMENT* = 5 (* {0, 2} *);
		PRINTER_NOTIFY_FIELD_LOCATION* = 6 (* {1, 2} *);
		PRINTER_NOTIFY_FIELD_DEVMODE* = 7 (* {0..2} *);
		PRINTER_NOTIFY_FIELD_SEPFILE* = 8 (* {3} *);
		PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR* = 9 (* {0, 3} *);
		PRINTER_NOTIFY_FIELD_PARAMETERS* = 10 (* {1, 3} *);
		PRINTER_NOTIFY_FIELD_DATATYPE* = 11 (* {0, 1, 3} *);
		PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTO (*...*)* = 12 (* {2, 3} *);
		PRINTER_NOTIFY_FIELD_ATTRIBUTES* = 13 (* {0, 2, 3} *);
		PRINTER_NOTIFY_FIELD_PRIORITY* = 14 (* {1..3} *);
		PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY* = 15 (* {0..3} *);
		PRINTER_NOTIFY_FIELD_START_TIME* = 16 (* {4} *);
		PRINTER_NOTIFY_FIELD_UNTIL_TIME* = 17 (* {0, 4} *);
		PRINTER_NOTIFY_FIELD_STATUS* = 18 (* {1, 4} *);
		PRINTER_NOTIFY_FIELD_STATUS_STRING* = 19 (* {0, 1, 4} *);
		PRINTER_NOTIFY_FIELD_CJOBS* = 20 (* {2, 4} *);
		PRINTER_NOTIFY_FIELD_AVERAGE_PPM* = 21 (* {0, 2, 4} *);
		PRINTER_NOTIFY_FIELD_TOTAL_PAGES* = 22 (* {1, 2, 4} *);
		PRINTER_NOTIFY_FIELD_PAGES_PRINTED* = 23 (* {0..2, 4} *);
		PRINTER_NOTIFY_FIELD_TOTAL_BYTES* = 24 (* {3, 4} *);
		PRINTER_NOTIFY_FIELD_BYTES_PRINTED* = 25 (* {0, 3, 4} *);
		JOB_NOTIFY_FIELD_PRINTER_NAME* = 0 (* {} *);
		JOB_NOTIFY_FIELD_MACHINE_NAME* = 1 (* {0} *);
		JOB_NOTIFY_FIELD_PORT_NAME* = 2 (* {1} *);
		JOB_NOTIFY_FIELD_USER_NAME* = 3 (* {0, 1} *);
		JOB_NOTIFY_FIELD_NOTIFY_NAME* = 4 (* {2} *);
		JOB_NOTIFY_FIELD_DATATYPE* = 5 (* {0, 2} *);
		JOB_NOTIFY_FIELD_PRINT_PROCESSOR* = 6 (* {1, 2} *);
		JOB_NOTIFY_FIELD_PARAMETERS* = 7 (* {0..2} *);
		JOB_NOTIFY_FIELD_DRIVER_NAME* = 8 (* {3} *);
		JOB_NOTIFY_FIELD_DEVMODE* = 9 (* {0, 3} *);
		JOB_NOTIFY_FIELD_STATUS* = 10 (* {1, 3} *);
		JOB_NOTIFY_FIELD_STATUS_STRING* = 11 (* {0, 1, 3} *);
		JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR* = 12 (* {2, 3} *);
		JOB_NOTIFY_FIELD_DOCUMENT* = 13 (* {0, 2, 3} *);
		JOB_NOTIFY_FIELD_PRIORITY* = 14 (* {1..3} *);
		JOB_NOTIFY_FIELD_POSITION* = 15 (* {0..3} *);
		JOB_NOTIFY_FIELD_SUBMITTED* = 16 (* {4} *);
		JOB_NOTIFY_FIELD_START_TIME* = 17 (* {0, 4} *);
		JOB_NOTIFY_FIELD_UNTIL_TIME* = 18 (* {1, 4} *);
		JOB_NOTIFY_FIELD_TIME* = 19 (* {0, 1, 4} *);
		JOB_NOTIFY_FIELD_TOTAL_PAGES* = 20 (* {2, 4} *);
		JOB_NOTIFY_FIELD_PAGES_PRINTED* = 21 (* {0, 2, 4} *);
		JOB_NOTIFY_FIELD_TOTAL_BYTES* = 22 (* {1, 2, 4} *);
		JOB_NOTIFY_FIELD_BYTES_PRINTED* = 23 (* {0..2, 4} *);
		PRINTER_NOTIFY_OPTIONS_REFRESH* = 1 (* {0} *);
		PRINTER_NOTIFY_INFO_DISCARDED* = 1 (* {0} *);
		PRINTER_CHANGE_ADD_PRINTER* = {0};
		PRINTER_CHANGE_SET_PRINTER* = {1};
		PRINTER_CHANGE_DELETE_PRINTER* = {2};
		PRINTER_CHANGE_FAILED_CONNECTION_PRINTE (*...*)* = {3};
		PRINTER_CHANGE_PRINTER* = {0..7};
		PRINTER_CHANGE_ADD_JOB* = {8};
		PRINTER_CHANGE_SET_JOB* = {9};
		PRINTER_CHANGE_DELETE_JOB* = {10};
		PRINTER_CHANGE_WRITE_JOB* = {11};
		PRINTER_CHANGE_JOB* = {8..15};
		PRINTER_CHANGE_ADD_FORM* = {16};
		PRINTER_CHANGE_SET_FORM* = {17};
		PRINTER_CHANGE_DELETE_FORM* = {18};
		PRINTER_CHANGE_FORM* = {16..18};
		PRINTER_CHANGE_ADD_PORT* = {20};
		PRINTER_CHANGE_CONFIGURE_PORT* = {21};
		PRINTER_CHANGE_DELETE_PORT* = {22};
		PRINTER_CHANGE_PORT* = {20..22};
		PRINTER_CHANGE_ADD_PRINT_PROCESSOR* = {24};
		PRINTER_CHANGE_DELETE_PRINT_PROCESSOR* = {26};
		PRINTER_CHANGE_PRINT_PROCESSOR* = {24..26};
		PRINTER_CHANGE_ADD_PRINTER_DRIVER* = {28};
		PRINTER_CHANGE_SET_PRINTER_DRIVER* = {29};
		PRINTER_CHANGE_DELETE_PRINTER_DRIVER* = {30};
		PRINTER_CHANGE_PRINTER_DRIVER* = {28..30};
		PRINTER_CHANGE_TIMEOUT* = {31};
		PRINTER_CHANGE_ALL* = {0..18, 20..22, 24..26, 28..30};
		PRINTER_ERROR_INFORMATION* = 80000000H;
		PRINTER_ERROR_WARNING* = 1073741824 (* {30} *);
		PRINTER_ERROR_SEVERE* = 536870912 (* {29} *);
		PRINTER_ERROR_OUTOFPAPER* = 1 (* {0} *);
		PRINTER_ERROR_JAM* = 2 (* {1} *);
		PRINTER_ERROR_OUTOFTONER* = 4 (* {2} *);
		SERVER_ACCESS_ADMINISTER* = 1 (* {0} *);
		SERVER_ACCESS_ENUMERATE* = 2 (* {1} *);
		PRINTER_ACCESS_ADMINISTER* = 4 (* {2} *);
		PRINTER_ACCESS_USE* = 8 (* {3} *);
		JOB_ACCESS_ADMINISTER* = 16 (* {4} *);
		SERVER_ALL_ACCESS* = 983043 (* {0, 1, 16..19} *);
		SERVER_READ* = 131074 (* {1, 17} *);
		SERVER_WRITE* = 131075 (* {0, 1, 17} *);
		SERVER_EXECUTE* = 131074 (* {1, 17} *);
		PRINTER_ALL_ACCESS* = 983052 (* {2, 3, 16..19} *);
		PRINTER_READ* = 131080 (* {3, 17} *);
		PRINTER_WRITE* = 131080 (* {3, 17} *);
		PRINTER_EXECUTE* = 131080 (* {3, 17} *);
		JOB_ALL_ACCESS* = 983056 (* {4, 16..19} *);
		JOB_READ* = 131088 (* {4, 17} *);
		JOB_WRITE* = 131088 (* {4, 17} *);
		JOB_EXECUTE* = 131088 (* {4, 17} *);
		SERVICES_ACTIVE_DATABASEW* = "ServicesActive";
		SERVICES_FAILED_DATABASEW* = "ServicesFailed";
		SERVICES_ACTIVE_DATABASEA* = "ServicesActive";
		SERVICES_FAILED_DATABASEA* = "ServicesFailed";
		SC_GROUP_IDENTIFIERW* = 43 (* {0, 1, 3, 5} *);
		SC_GROUP_IDENTIFIERA* = 43 (* {0, 1, 3, 5} *);
		SERVICES_ACTIVE_DATABASE* = "ServicesActive";
		SERVICES_FAILED_DATABASE* = "ServicesFailed";
		SC_GROUP_IDENTIFIER* = 43 (* {0, 1, 3, 5} *);
		SERVICE_NO_CHANGE* = -1 (* {0..31} *);
		SERVICE_ACTIVE* = 1 (* {0} *);
		SERVICE_INACTIVE* = 2 (* {1} *);
		SERVICE_STATE_ALL* = 3 (* {0, 1} *);
		SERVICE_CONTROL_STOP* = 1 (* {0} *);
		SERVICE_CONTROL_PAUSE* = 2 (* {1} *);
		SERVICE_CONTROL_CONTINUE* = 3 (* {0, 1} *);
		SERVICE_CONTROL_INTERROGATE* = 4 (* {2} *);
		SERVICE_CONTROL_SHUTDOWN* = 5 (* {0, 2} *);
		SERVICE_STOPPED* = 1 (* {0} *);
		SERVICE_START_PENDING* = 2 (* {1} *);
		SERVICE_STOP_PENDING* = 3 (* {0, 1} *);
		SERVICE_RUNNING* = 4 (* {2} *);
		SERVICE_CONTINUE_PENDING* = 5 (* {0, 2} *);
		SERVICE_PAUSE_PENDING* = 6 (* {1, 2} *);
		SERVICE_PAUSED* = 7 (* {0..2} *);
		SERVICE_ACCEPT_STOP* = 1 (* {0} *);
		SERVICE_ACCEPT_PAUSE_CONTINUE* = 2 (* {1} *);
		SERVICE_ACCEPT_SHUTDOWN* = 4 (* {2} *);
		SC_MANAGER_CONNECT* = {0};
		SC_MANAGER_CREATE_SERVICE* = {1};
		SC_MANAGER_ENUMERATE_SERVICE* = {2};
		SC_MANAGER_LOCK* = {3};
		SC_MANAGER_QUERY_LOCK_STATUS* = {4};
		SC_MANAGER_MODIFY_BOOT_CONFIG* = {5};
		SC_MANAGER_ALL_ACCESS* = {0..5, 16..19};
		SERVICE_QUERY_CONFIG* = {0};
		SERVICE_CHANGE_CONFIG* = {1};
		SERVICE_QUERY_STATUS* = {2};
		SERVICE_ENUMERATE_DEPENDENTS* = {3};
		SERVICE_START* = {4};
		SERVICE_STOP* = 32 (* {5} *);
		SERVICE_PAUSE_CONTINUE* = {6};
		SERVICE_INTERROGATE* = {7};
		SERVICE_USER_DEFINED_CONTROL* = {8};
		SERVICE_ALL_ACCESS* = {0..8, 16..19};
		DIALOPTION_BILLING* = {6};
		DIALOPTION_QUIET* = {7};
		DIALOPTION_DIALTONE* = {8};
		MDMVOLFLAG_LOW* = {0};
		MDMVOLFLAG_MEDIUM* = {1};
		MDMVOLFLAG_HIGH* = {2};
		MDMVOL_LOW* = {};
		MDMVOL_MEDIUM* = {0};
		MDMVOL_HIGH* = {1};
		MDMSPKRFLAG_OFF* = {0};
		MDMSPKRFLAG_DIAL* = {1};
		MDMSPKRFLAG_ON* = {2};
		MDMSPKRFLAG_CALLSETUP* = {3};
		MDMSPKR_OFF* = {};
		MDMSPKR_DIAL* = {0};
		MDMSPKR_ON* = {1};
		MDMSPKR_CALLSETUP* = {0, 1};
		MDM_COMPRESSION* = {0};
		MDM_ERROR_CONTROL* = {1};
		MDM_FORCED_EC* = {2};
		MDM_CELLULAR* = {3};
		MDM_FLOWCONTROL_HARD* = {4};
		MDM_FLOWCONTROL_SOFT* = {5};
		MDM_CCITT_OVERRIDE* = {6};
		MDM_SPEED_ADJUST* = {7};
		MDM_TONE_DIAL* = {8};
		MDM_BLIND_DIAL* = {9};
		MDM_V23_OVERRIDE* = {10};

	CONST (* enumerations *)
		SidTypeUser* = 1;
		SidTypeGroup* = 2;
		SidTypeDomain* = 3;
		SidTypeAlias* = 4;
		SidTypeWellKnownGroup* = 5;
		SidTypeDeletedAccount* = 6;
		SidTypeInvalid* = 7;
		SidTypeUnknown* = 8;
		AclRevisionInformation* = 1;
		AclSizeInformation* = 2;
		SecurityAnonymous* = 0;
		SecurityIdentification* = 1;
		SecurityImpersonation* = 2;
		SecurityDelegation* = 3;
		TokenPrimary* = 1;
		TokenImpersonation* = 2;
		TokenUser* = 1;
		TokenGroups* = 2;
		TokenPrivileges* = 3;
		TokenOwner* = 4;
		TokenPrimaryGroup* = 5;
		TokenDefaultDacl* = 6;
		TokenSource* = 7;
		TokenType* = 8;
		TokenImpersonationLevel* = 9;
		TokenStatistics* = 10;
		DriverType* = 1;
		FileSystemType* = 2;
		Win32ServiceOwnProcess* = 16;
		Win32ServiceShareProcess* = 32;
		AdapterType* = 4;
		RecognizerType* = 8;
		BootLoad* = 0;
		SystemLoad* = 1;
		AutoLoad* = 2;
		DemandLoad* = 3;
		DisableLoad* = 4;
		IgnoreError* = 0;
		NormalError* = 1;
		SevereError* = 2;
		CriticalError* = 3;
		GetFileExInfoStandard* = 0;
		GetFileExMaxInfoLevel* = 1;
		FindExInfoStandard* = 0;
		FindExInfoMaxInfoLevel* = 1;
		FindExSearchNameMatch* = 0;
		FindExSearchLimitToDirectories* = 1;
		FindExSearchLimitToDevices* = 2;
		FindExSearchMaxSearchOp* = 3;

	TYPE
		BOOL* = INTEGER;
		HANDLE* = PtrVoid;
		LCID* = INTEGER;
		LANGID* = SHORTINT;
		USN* = LONGINT;
		LUID* = LONGINT;
		PtrLIST_ENTRY* = POINTER TO LIST_ENTRY;
		LIST_ENTRY* = RECORD [untagged]
			Flink*: PtrLIST_ENTRY;
			Blink*: PtrLIST_ENTRY;
		END;
		PtrSINGLE_LIST_ENTRY* = POINTER TO SINGLE_LIST_ENTRY;
		SINGLE_LIST_ENTRY* = RECORD [untagged]
			Next*: PtrSINGLE_LIST_ENTRY;
		END;
		OBJECTID* = RECORD [untagged]
			Lineage*: COM.GUID;
			Uniquifier*: INTEGER;
		END;
		KSPIN_LOCK* = INTEGER;
		FLOATING_SAVE_AREA* = RECORD [untagged]
			ControlWord*: INTEGER;
			StatusWord*: INTEGER;
			TagWord*: INTEGER;
			ErrorOffset*: INTEGER;
			ErrorSelector*: INTEGER;
			DataOffset*: INTEGER;
			DataSelector*: INTEGER;
			RegisterArea*: ARRAY [untagged] 80 OF SHORTCHAR;
			Cr0NpxState*: INTEGER;
		END;
		PtrFLOATING_SAVE_AREA* = POINTER TO FLOATING_SAVE_AREA;
		CONTEXT* = RECORD [untagged]
			ContextFlags*: SET;
			Dr0*: INTEGER;
			Dr1*: INTEGER;
			Dr2*: INTEGER;
			Dr3*: INTEGER;
			Dr6*: INTEGER;
			Dr7*: INTEGER;
			FloatSave*: FLOATING_SAVE_AREA;
			SegGs*: INTEGER;
			SegFs*: INTEGER;
			SegEs*: INTEGER;
			SegDs*: INTEGER;
			Edi*: INTEGER;
			Esi*: INTEGER;
			Ebx*: INTEGER;
			Edx*: INTEGER;
			Ecx*: INTEGER;
			Eax*: INTEGER;
			Ebp*: INTEGER;
			Eip*: INTEGER;
			SegCs*: INTEGER;
			EFlags*: INTEGER;
			Esp*: INTEGER;
			SegSs*: INTEGER;
		END;
		PtrCONTEXT* = POINTER TO CONTEXT;
		LDT_ENTRY* = RECORD [untagged]
			LimitLow*: SHORTINT;
			BaseLow*: SHORTINT;
			HighWord*: RECORD [union]
				Bytes*: RECORD [untagged]
					BaseMid*: SHORTCHAR;
					Flags1*: SHORTCHAR;
					Flags2*: SHORTCHAR;
					BaseHi*: SHORTCHAR;
				END;
				Bits*: RECORD [untagged]
					fBits0*: SET;
					(* BaseMid*: LONGINT; (8 bits) *)
					(* Type*: LONGINT; (5 bits) *)
					(* Dpl*: LONGINT; (2 bits) *)
					(* Pres*: LONGINT; (1 bits) *)
					(* LimitHi*: LONGINT; (4 bits) *)
					(* Sys*: LONGINT; (1 bits) *)
					(* Reserved_0*: LONGINT; (1 bits) *)
					(* Default_Big*: LONGINT; (1 bits) *)
					(* Granularity*: LONGINT; (1 bits) *)
					(* BaseHi*: LONGINT; (8 bits) *)
				END;
			END;
		END;
		PtrLDT_ENTRY* = POINTER TO LDT_ENTRY;
		PtrEXCEPTION_RECORD* = POINTER TO EXCEPTION_RECORD;
		EXCEPTION_RECORD* = RECORD [untagged]
			ExceptionCode*: INTEGER;
			ExceptionFlags*: SET;
			ExceptionRecord*: PtrEXCEPTION_RECORD;
			ExceptionAddress*: PtrVoid;
			NumberParameters*: INTEGER;
			ExceptionInformation*: ARRAY [untagged] 15 OF INTEGER;
		END;
		EXCEPTION_POINTERS* = RECORD [untagged]
			ExceptionRecord*: PtrEXCEPTION_RECORD;
			ContextRecord*: PtrCONTEXT;
		END;
		PtrEXCEPTION_POINTERS* = POINTER TO EXCEPTION_POINTERS;
		_EXCEPTION_REGISTRATION_RECORD* = RECORD [untagged] (*i*) END; 
		Ptr_EXCEPTION_REGISTRATION_RECORD* = POINTER TO _EXCEPTION_REGISTRATION_RECORD;
		PtrNT_TIB* = POINTER TO NT_TIB;
		NT_TIB* = RECORD [untagged]
			ExceptionList*: Ptr_EXCEPTION_REGISTRATION_RECORD;
			StackBase*: PtrVoid;
			StackLimit*: PtrVoid;
			SubSystemTib*: PtrVoid;
			u*: RECORD [union]
				FiberData*: PtrVoid;
				Version*: INTEGER;
			END;
			ArbitraryUserPointer*: PtrVoid;
			Self*: PtrNT_TIB;
		END;
		QUOTA_LIMITS* = RECORD [align8]
			PagedPoolLimit*: INTEGER;
			NonPagedPoolLimit*: INTEGER;
			MinimumWorkingSetSize*: INTEGER;
			MaximumWorkingSetSize*: INTEGER;
			PagefileLimit*: INTEGER;
			TimeLimit*: LONGINT;
		END;
		PtrQUOTA_LIMITS* = POINTER TO QUOTA_LIMITS;
		MEMORY_BASIC_INFORMATION* = RECORD [untagged]
			BaseAddress*: PtrVoid;
			AllocationBase*: PtrVoid;
			AllocationProtect*: INTEGER;
			RegionSize*: INTEGER;
			State*: INTEGER;
			Protect*: INTEGER;
			Type*: INTEGER;
		END;
		PtrMEMORY_BASIC_INFORMATION* = POINTER TO MEMORY_BASIC_INFORMATION;
		FILE_NOTIFY_INFORMATION* = RECORD [untagged]
			NextEntryOffset*: INTEGER;
			Action*: INTEGER;
			FileNameLength*: INTEGER;
			FileName*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrFILE_NOTIFY_INFORMATION* = POINTER TO FILE_NOTIFY_INFORMATION;
		PACCESS_TOKEN* = PtrVoid;
		PSECURITY_DESCRIPTOR* = PtrVoid;
		PSID* = PtrVoid;
		GENERIC_MAPPING* = RECORD [untagged]
			GenericRead*: ACCESS_MASK;
			GenericWrite*: ACCESS_MASK;
			GenericExecute*: ACCESS_MASK;
			GenericAll*: ACCESS_MASK;
		END;
		PtrGENERIC_MAPPING* = POINTER TO GENERIC_MAPPING;
		LUID_AND_ATTRIBUTES* = RECORD [untagged]
			Luid*: LUID;
			Attributes*: SET;
		END;
		PtrLUID_AND_ATTRIBUTES* = POINTER TO LUID_AND_ATTRIBUTES;
		LUID_AND_ATTRIBUTES_ARRAY* = ARRAY [untagged] 1 OF LUID_AND_ATTRIBUTES;
		PtrLUID_AND_ATTRIBUTES_ARRAY* = POINTER TO LUID_AND_ATTRIBUTES_ARRAY;
		SID_IDENTIFIER_AUTHORITY* = RECORD [untagged]
			Value*: ARRAY [untagged] 6 OF SHORTCHAR;
		END;
		PtrSID_IDENTIFIER_AUTHORITY* = POINTER TO SID_IDENTIFIER_AUTHORITY;
		SID* = RECORD [untagged]
			Revision*: SHORTCHAR;
			SubAuthorityCount*: SHORTCHAR;
			IdentifierAuthority*: SID_IDENTIFIER_AUTHORITY;
			SubAuthority*: ARRAY [untagged] 1 OF INTEGER;
		END;
		PtrSID* = POINTER TO SID;
		SID_NAME_USE* = INTEGER;
		SID_AND_ATTRIBUTES* = RECORD [untagged]
			Sid*: PSID;
			Attributes*: SET;
		END;
		PtrSID_AND_ATTRIBUTES* = POINTER TO SID_AND_ATTRIBUTES;
		SID_AND_ATTRIBUTES_ARRAY* = ARRAY [untagged] 1 OF SID_AND_ATTRIBUTES;
		PtrSID_AND_ATTRIBUTES_ARRAY* = POINTER TO SID_AND_ATTRIBUTES_ARRAY;
		ACL* = RECORD [untagged]
			AclRevision*: SHORTCHAR;
			Sbz1*: SHORTCHAR;
			AclSize*: SHORTINT;
			AceCount*: SHORTINT;
			Sbz2*: SHORTINT;
		END;
		PtrACL* = POINTER TO ACL;
		ACE_HEADER* = RECORD [untagged]
			AceType*: SHORTCHAR;
			AceFlags*: SHORTCHAR;
			AceSize*: SHORTINT;
		END;
		PtrACE_HEADER* = POINTER TO ACE_HEADER;
		ACCESS_ALLOWED_ACE* = RECORD [untagged]
			Header*: ACE_HEADER;
			Mask*: ACCESS_MASK;
			SidStart*: INTEGER;
		END;
		PtrACCESS_ALLOWED_ACE* = POINTER TO ACCESS_ALLOWED_ACE;
		ACCESS_DENIED_ACE* = RECORD [untagged]
			Header*: ACE_HEADER;
			Mask*: ACCESS_MASK;
			SidStart*: INTEGER;
		END;
		PtrACCESS_DENIED_ACE* = POINTER TO ACCESS_DENIED_ACE;
		SYSTEM_AUDIT_ACE* = RECORD [untagged]
			Header*: ACE_HEADER;
			Mask*: ACCESS_MASK;
			SidStart*: INTEGER;
		END;
		PtrSYSTEM_AUDIT_ACE* = POINTER TO SYSTEM_AUDIT_ACE;
		SYSTEM_ALARM_ACE* = RECORD [untagged]
			Header*: ACE_HEADER;
			Mask*: ACCESS_MASK;
			SidStart*: INTEGER;
		END;
		PtrSYSTEM_ALARM_ACE* = POINTER TO SYSTEM_ALARM_ACE;
		COMPOUND_ACCESS_ALLOWED_ACE* = RECORD [untagged]
			Header*: ACE_HEADER;
			Mask*: ACCESS_MASK;
			CompoundAceType*: SHORTINT;
			Reserved*: SHORTINT;
			SidStart*: INTEGER;
		END;
		PtrCOMPOUND_ACCESS_ALLOWED_ACE* = POINTER TO COMPOUND_ACCESS_ALLOWED_ACE;
		ACL_INFORMATION_CLASS* = INTEGER;
		ACL_REVISION_INFORMATION* = RECORD [untagged]
			AclRevision*: INTEGER;
		END;
		PtrACL_REVISION_INFORMATION* = POINTER TO ACL_REVISION_INFORMATION;
		ACL_SIZE_INFORMATION* = RECORD [untagged]
			AceCount*: INTEGER;
			AclBytesInUse*: INTEGER;
			AclBytesFree*: INTEGER;
		END;
		PtrACL_SIZE_INFORMATION* = POINTER TO ACL_SIZE_INFORMATION;
		SECURITY_DESCRIPTOR_CONTROL* = SHORTINT;
		SECURITY_DESCRIPTOR* = RECORD [untagged]
			Revision*: SHORTCHAR;
			Sbz1*: SHORTCHAR;
			Control*: SECURITY_DESCRIPTOR_CONTROL;
			Owner*: PSID;
			Group*: PSID;
			Sacl*: PtrACL;
			Dacl*: PtrACL;
		END;
		PtrSECURITY_DESCRIPTOR* = POINTER TO SECURITY_DESCRIPTOR;
		PRIVILEGE_SET* = RECORD [untagged]
			PrivilegeCount*: INTEGER;
			Control*: INTEGER;
			Privilege*: ARRAY [untagged] 1 OF LUID_AND_ATTRIBUTES;
		END;
		PtrPRIVILEGE_SET* = POINTER TO PRIVILEGE_SET;
		SECURITY_IMPERSONATION_LEVEL* = INTEGER;
		TOKEN_TYPE* = INTEGER;
		TOKEN_INFORMATION_CLASS* = INTEGER;
		TOKEN_USER* = RECORD [untagged]
			User*: SID_AND_ATTRIBUTES;
		END;
		PtrTOKEN_USER* = POINTER TO TOKEN_USER;
		TOKEN_GROUPS* = RECORD [untagged]
			GroupCount*: INTEGER;
			Groups*: ARRAY [untagged] 1 OF SID_AND_ATTRIBUTES;
		END;
		PtrTOKEN_GROUPS* = POINTER TO TOKEN_GROUPS;
		TOKEN_PRIVILEGES* = RECORD [untagged]
			PrivilegeCount*: INTEGER;
			Privileges*: ARRAY [untagged] 1 OF LUID_AND_ATTRIBUTES;
		END;
		PtrTOKEN_PRIVILEGES* = POINTER TO TOKEN_PRIVILEGES;
		TOKEN_OWNER* = RECORD [untagged]
			Owner*: PSID;
		END;
		PtrTOKEN_OWNER* = POINTER TO TOKEN_OWNER;
		TOKEN_PRIMARY_GROUP* = RECORD [untagged]
			PrimaryGroup*: PSID;
		END;
		PtrTOKEN_PRIMARY_GROUP* = POINTER TO TOKEN_PRIMARY_GROUP;
		TOKEN_DEFAULT_DACL* = RECORD [untagged]
			DefaultDacl*: PtrACL;
		END;
		PtrTOKEN_DEFAULT_DACL* = POINTER TO TOKEN_DEFAULT_DACL;
		TOKEN_SOURCE* = RECORD [align8]
			SourceName*: ARRAY [untagged] 8 OF SHORTCHAR;
			SourceIdentifier*: LUID;
		END;
		PtrTOKEN_SOURCE* = POINTER TO TOKEN_SOURCE;
		TOKEN_STATISTICS* = RECORD [align8]
			TokenId*: LUID;
			AuthenticationId*: LUID;
			ExpirationTime*: LONGINT;
			TokenType*: TOKEN_TYPE;
			ImpersonationLevel*: SECURITY_IMPERSONATION_LEVEL;
			DynamicCharged*: INTEGER;
			DynamicAvailable*: INTEGER;
			GroupCount*: INTEGER;
			PrivilegeCount*: INTEGER;
			ModifiedId*: LUID;
		END;
		PtrTOKEN_STATISTICS* = POINTER TO TOKEN_STATISTICS;
		TOKEN_CONTROL* = RECORD [align8]
			TokenId*: LUID;
			AuthenticationId*: LUID;
			ModifiedId*: LUID;
			TokenSource*: TOKEN_SOURCE;
		END;
		PtrTOKEN_CONTROL* = POINTER TO TOKEN_CONTROL;
		SECURITY_CONTEXT_TRACKING_MODE* = BOOLEAN;
		SECURITY_QUALITY_OF_SERVICE* = RECORD [untagged]
			Length*: INTEGER;
			ImpersonationLevel*: SECURITY_IMPERSONATION_LEVEL;
			ContextTrackingMode*: SECURITY_CONTEXT_TRACKING_MODE;
			EffectiveOnly*: BOOLEAN;
		END;
		PtrSECURITY_QUALITY_OF_SERVICE* = POINTER TO SECURITY_QUALITY_OF_SERVICE;
		SE_IMPERSONATION_STATE* = RECORD [untagged]
			Token*: PACCESS_TOKEN;
			CopyOnOpen*: BOOLEAN;
			EffectiveOnly*: BOOLEAN;
			Level*: SECURITY_IMPERSONATION_LEVEL;
		END;
		PtrSE_IMPERSONATION_STATE* = POINTER TO SE_IMPERSONATION_STATE;
		IMAGE_DOS_HEADER* = RECORD [noalign]
			e_magic*: SHORTINT;
			e_cblp*: SHORTINT;
			e_cp*: SHORTINT;
			e_crlc*: SHORTINT;
			e_cparhdr*: SHORTINT;
			e_minalloc*: SHORTINT;
			e_maxalloc*: SHORTINT;
			e_ss*: SHORTINT;
			e_sp*: SHORTINT;
			e_csum*: SHORTINT;
			e_ip*: SHORTINT;
			e_cs*: SHORTINT;
			e_lfarlc*: SHORTINT;
			e_ovno*: SHORTINT;
			e_res*: ARRAY [untagged] 4 OF SHORTINT;
			e_oemid*: SHORTINT;
			e_oeminfo*: SHORTINT;
			e_res2*: ARRAY [untagged] 10 OF SHORTINT;
			e_lfanew*: INTEGER;
		END;
		PtrIMAGE_DOS_HEADER* = POINTER TO IMAGE_DOS_HEADER;
		IMAGE_OS2_HEADER* = RECORD [noalign]
			ne_magic*: SHORTINT;
			ne_ver*: SHORTCHAR;
			ne_rev*: SHORTCHAR;
			ne_enttab*: SHORTINT;
			ne_cbenttab*: SHORTINT;
			ne_crc*: INTEGER;
			ne_flags*: SHORTINT;
			ne_autodata*: SHORTINT;
			ne_heap*: SHORTINT;
			ne_stack*: SHORTINT;
			ne_csip*: INTEGER;
			ne_sssp*: INTEGER;
			ne_cseg*: SHORTINT;
			ne_cmod*: SHORTINT;
			ne_cbnrestab*: SHORTINT;
			ne_segtab*: SHORTINT;
			ne_rsrctab*: SHORTINT;
			ne_restab*: SHORTINT;
			ne_modtab*: SHORTINT;
			ne_imptab*: SHORTINT;
			ne_nrestab*: INTEGER;
			ne_cmovent*: SHORTINT;
			ne_align*: SHORTINT;
			ne_cres*: SHORTINT;
			ne_exetyp*: SHORTCHAR;
			ne_flagsothers*: SHORTCHAR;
			ne_pretthunks*: SHORTINT;
			ne_psegrefbytes*: SHORTINT;
			ne_swaparea*: SHORTINT;
			ne_expver*: SHORTINT;
		END;
		PtrIMAGE_OS2_HEADER* = POINTER TO IMAGE_OS2_HEADER;
		IMAGE_VXD_HEADER* = RECORD [noalign]
			e32_magic*: SHORTINT;
			e32_border*: SHORTCHAR;
			e32_worder*: SHORTCHAR;
			e32_level*: INTEGER;
			e32_cpu*: SHORTINT;
			e32_os*: SHORTINT;
			e32_ver*: INTEGER;
			e32_mflags*: INTEGER;
			e32_mpages*: INTEGER;
			e32_startobj*: INTEGER;
			e32_eip*: INTEGER;
			e32_stackobj*: INTEGER;
			e32_esp*: INTEGER;
			e32_pagesize*: INTEGER;
			e32_lastpagesize*: INTEGER;
			e32_fixupsize*: INTEGER;
			e32_fixupsum*: INTEGER;
			e32_ldrsize*: INTEGER;
			e32_ldrsum*: INTEGER;
			e32_objtab*: INTEGER;
			e32_objcnt*: INTEGER;
			e32_objmap*: INTEGER;
			e32_itermap*: INTEGER;
			e32_rsrctab*: INTEGER;
			e32_rsrccnt*: INTEGER;
			e32_restab*: INTEGER;
			e32_enttab*: INTEGER;
			e32_dirtab*: INTEGER;
			e32_dircnt*: INTEGER;
			e32_fpagetab*: INTEGER;
			e32_frectab*: INTEGER;
			e32_impmod*: INTEGER;
			e32_impmodcnt*: INTEGER;
			e32_impproc*: INTEGER;
			e32_pagesum*: INTEGER;
			e32_datapage*: INTEGER;
			e32_preload*: INTEGER;
			e32_nrestab*: INTEGER;
			e32_cbnrestab*: INTEGER;
			e32_nressum*: INTEGER;
			e32_autodata*: INTEGER;
			e32_debuginfo*: INTEGER;
			e32_debuglen*: INTEGER;
			e32_instpreload*: INTEGER;
			e32_instdemand*: INTEGER;
			e32_heapsize*: INTEGER;
			e32_res3*: ARRAY [untagged] 12 OF SHORTCHAR;
			e32_winresoff*: INTEGER;
			e32_winreslen*: INTEGER;
			e32_devid*: SHORTINT;
			e32_ddkver*: SHORTINT;
		END;
		PtrIMAGE_VXD_HEADER* = POINTER TO IMAGE_VXD_HEADER;
		IMAGE_FILE_HEADER* = RECORD [noalign]
			Machine*: SHORTINT;
			NumberOfSections*: SHORTINT;
			TimeDateStamp*: INTEGER;
			PointerToSymbolTable*: INTEGER;
			NumberOfSymbols*: INTEGER;
			SizeOfOptionalHeader*: SHORTINT;
			Characteristics*: SHORTINT;
		END;
		PtrIMAGE_FILE_HEADER* = POINTER TO IMAGE_FILE_HEADER;
		IMAGE_DATA_DIRECTORY* = RECORD [noalign]
			VirtualAddress*: INTEGER;
			Size*: INTEGER;
		END;
		PtrIMAGE_DATA_DIRECTORY* = POINTER TO IMAGE_DATA_DIRECTORY;
		IMAGE_OPTIONAL_HEADER* = RECORD [noalign]
			Magic*: SHORTINT;
			MajorLinkerVersion*: SHORTCHAR;
			MinorLinkerVersion*: SHORTCHAR;
			SizeOfCode*: INTEGER;
			SizeOfInitializedData*: INTEGER;
			SizeOfUninitializedData*: INTEGER;
			AddressOfEntryPoint*: INTEGER;
			BaseOfCode*: INTEGER;
			BaseOfData*: INTEGER;
			ImageBase*: INTEGER;
			SectionAlignment*: INTEGER;
			FileAlignment*: INTEGER;
			MajorOperatingSystemVersion*: SHORTINT;
			MinorOperatingSystemVersion*: SHORTINT;
			MajorImageVersion*: SHORTINT;
			MinorImageVersion*: SHORTINT;
			MajorSubsystemVersion*: SHORTINT;
			MinorSubsystemVersion*: SHORTINT;
			Reserved1*: INTEGER;
			SizeOfImage*: INTEGER;
			SizeOfHeaders*: INTEGER;
			CheckSum*: INTEGER;
			Subsystem*: SHORTINT;
			DllCharacteristics*: SHORTINT;
			SizeOfStackReserve*: INTEGER;
			SizeOfStackCommit*: INTEGER;
			SizeOfHeapReserve*: INTEGER;
			SizeOfHeapCommit*: INTEGER;
			LoaderFlags*: INTEGER;
			NumberOfRvaAndSizes*: INTEGER;
			DataDirectory*: ARRAY [untagged] 16 OF IMAGE_DATA_DIRECTORY;
		END;
		PtrIMAGE_OPTIONAL_HEADER* = POINTER TO IMAGE_OPTIONAL_HEADER;
		IMAGE_ROM_OPTIONAL_HEADER* = RECORD [noalign]
			Magic*: SHORTINT;
			MajorLinkerVersion*: SHORTCHAR;
			MinorLinkerVersion*: SHORTCHAR;
			SizeOfCode*: INTEGER;
			SizeOfInitializedData*: INTEGER;
			SizeOfUninitializedData*: INTEGER;
			AddressOfEntryPoint*: INTEGER;
			BaseOfCode*: INTEGER;
			BaseOfData*: INTEGER;
			BaseOfBss*: INTEGER;
			GprMask*: INTEGER;
			CprMask*: ARRAY [untagged] 4 OF INTEGER;
			GpValue*: INTEGER;
		END;
		PtrIMAGE_ROM_OPTIONAL_HEADER* = POINTER TO IMAGE_ROM_OPTIONAL_HEADER;
		IMAGE_NT_HEADERS* = RECORD [noalign]
			Signature*: INTEGER;
			FileHeader*: IMAGE_FILE_HEADER;
			OptionalHeader*: IMAGE_OPTIONAL_HEADER;
		END;
		PtrIMAGE_NT_HEADERS* = POINTER TO IMAGE_NT_HEADERS;
		IMAGE_ROM_HEADERS* = RECORD [untagged]
			FileHeader*: IMAGE_FILE_HEADER;
			OptionalHeader*: IMAGE_ROM_OPTIONAL_HEADER;
		END;
		PtrIMAGE_ROM_HEADERS* = POINTER TO IMAGE_ROM_HEADERS;
		IMAGE_SECTION_HEADER* = RECORD [noalign]
			Name*: ARRAY [untagged] 8 OF SHORTCHAR;
			Misc*: RECORD [union]
				PhysicalAddress*: INTEGER;
				VirtualSize*: INTEGER;
			END;
			VirtualAddress*: INTEGER;
			SizeOfRawData*: INTEGER;
			PointerToRawData*: INTEGER;
			PointerToRelocations*: INTEGER;
			PointerToLinenumbers*: INTEGER;
			NumberOfRelocations*: SHORTINT;
			NumberOfLinenumbers*: SHORTINT;
			Characteristics*: INTEGER;
		END;
		PtrIMAGE_SECTION_HEADER* = POINTER TO IMAGE_SECTION_HEADER;
		IMAGE_SYMBOL* = RECORD [noalign]
			N*: RECORD [union]
				ShortName*: ARRAY [untagged] 8 OF SHORTCHAR;
				Name*: RECORD [noalign]
					Short*: INTEGER;
					Long*: INTEGER;
				END;
				LongName*: ARRAY [untagged] 2 OF POINTER TO (*?*) ARRAY [untagged] OF SHORTCHAR;
			END;
			Value*: INTEGER;
			SectionNumber*: SHORTINT;
			Type*: SHORTINT;
			StorageClass*: SHORTCHAR;
			NumberOfAuxSymbols*: SHORTCHAR;
		END;
		PtrIMAGE_SYMBOL* = POINTER TO IMAGE_SYMBOL;
		IMAGE_AUX_SYMBOL* = RECORD [union]
			Sym*: RECORD [noalign]
				TagIndex*: INTEGER;
				Misc*: RECORD [union]
					LnSz*: RECORD [noalign]
						Linenumber*: SHORTINT;
						Size*: SHORTINT;
					END;
					TotalSize*: INTEGER;
				END;
				FcnAry*: RECORD [union]
					Function*: RECORD [noalign]
						PointerToLinenumber*: INTEGER;
						PointerToNextFunction*: INTEGER;
					END;
					Array*: RECORD [noalign]
						Dimension*: ARRAY [untagged] 4 OF SHORTINT;
					END;
				END;
				TvIndex*: SHORTINT;
			END;
			File*: RECORD [untagged]
				Name*: ARRAY [untagged] 18 OF SHORTCHAR;
			END;
			Section*: RECORD [noalign]
				Length*: INTEGER;
				NumberOfRelocations*: SHORTINT;
				NumberOfLinenumbers*: SHORTINT;
				CheckSum*: INTEGER;
				Number*: SHORTINT;
				Selection*: SHORTCHAR;
			END;
		END;
		PtrIMAGE_AUX_SYMBOL* = POINTER TO IMAGE_AUX_SYMBOL;
		IMAGE_RELOCATION* = RECORD [noalign]
			u*: RECORD [union]
				VirtualAddress*: INTEGER;
				RelocCount*: INTEGER;
			END;
			SymbolTableIndex*: INTEGER;
			Type*: SHORTINT;
		END;
		PtrIMAGE_RELOCATION* = POINTER TO IMAGE_RELOCATION;
		IMAGE_BASE_RELOCATION* = RECORD [noalign]
			VirtualAddress*: INTEGER;
			SizeOfBlock*: INTEGER;
		END;
		PtrIMAGE_BASE_RELOCATION* = POINTER TO IMAGE_BASE_RELOCATION;
		IMAGE_LINENUMBER* = RECORD [noalign]
			Type*: RECORD [union]
				SymbolTableIndex*: INTEGER;
				VirtualAddress*: INTEGER;
			END;
			Linenumber*: SHORTINT;
		END;
		PtrIMAGE_LINENUMBER* = POINTER TO IMAGE_LINENUMBER;
		IMAGE_ARCHIVE_MEMBER_HEADER* = RECORD [untagged]
			Name*: ARRAY [untagged] 16 OF SHORTCHAR;
			Date*: ARRAY [untagged] 12 OF SHORTCHAR;
			UserID*: ARRAY [untagged] 6 OF SHORTCHAR;
			GroupID*: ARRAY [untagged] 6 OF SHORTCHAR;
			Mode*: ARRAY [untagged] 8 OF SHORTCHAR;
			Size*: ARRAY [untagged] 10 OF SHORTCHAR;
			EndHeader*: ARRAY [untagged] 2 OF SHORTCHAR;
		END;
		PtrIMAGE_ARCHIVE_MEMBER_HEADER* = POINTER TO IMAGE_ARCHIVE_MEMBER_HEADER;
		IMAGE_EXPORT_DIRECTORY* = RECORD [noalign]
			Characteristics*: INTEGER;
			TimeDateStamp*: INTEGER;
			MajorVersion*: SHORTINT;
			MinorVersion*: SHORTINT;
			Name*: INTEGER;
			Base*: INTEGER;
			NumberOfFunctions*: INTEGER;
			NumberOfNames*: INTEGER;
			AddressOfFunctions*: POINTER TO (*?*) ARRAY [untagged] OF POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			AddressOfNames*: POINTER TO (*?*) ARRAY [untagged] OF POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			AddressOfNameOrdinals*: POINTER TO (*?*) ARRAY [untagged] OF POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
		END;
		PtrIMAGE_EXPORT_DIRECTORY* = POINTER TO IMAGE_EXPORT_DIRECTORY;
		IMAGE_IMPORT_BY_NAME* = RECORD [noalign]
			Hint*: SHORTINT;
			Name*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrIMAGE_IMPORT_BY_NAME* = POINTER TO IMAGE_IMPORT_BY_NAME;
		IMAGE_THUNK_DATA* = RECORD [untagged]
			u1*: RECORD [union]
				ForwarderString*: POINTER TO (*?*) ARRAY [untagged] OF SHORTCHAR;
				Function*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
				Ordinal*: INTEGER;
				AddressOfData*: PtrIMAGE_IMPORT_BY_NAME;
			END;
		END;
		PtrIMAGE_THUNK_DATA* = POINTER TO IMAGE_THUNK_DATA;
		IMAGE_IMPORT_DESCRIPTOR* = RECORD [noalign]
			u*: RECORD [union]
				Characteristics*: INTEGER;
				OriginalFirstThunk*: PtrIMAGE_THUNK_DATA;
			END;
			TimeDateStamp*: INTEGER;
			ForwarderChain*: INTEGER;
			Name*: INTEGER;
			FirstThunk*: PtrIMAGE_THUNK_DATA;
		END;
		PtrIMAGE_IMPORT_DESCRIPTOR* = POINTER TO IMAGE_IMPORT_DESCRIPTOR;
		IMAGE_BOUND_IMPORT_DESCRIPTOR* = RECORD [noalign]
			TimeDateStamp*: INTEGER;
			OffsetModuleName*: SHORTINT;
			NumberOfModuleForwarderRefs*: SHORTINT;
		END;
		PtrIMAGE_BOUND_IMPORT_DESCRIPTOR* = POINTER TO IMAGE_BOUND_IMPORT_DESCRIPTOR;
		IMAGE_BOUND_FORWARDER_REF* = RECORD [noalign]
			TimeDateStamp*: INTEGER;
			OffsetModuleName*: SHORTINT;
			Reserved*: SHORTINT;
		END;
		PtrIMAGE_BOUND_FORWARDER_REF* = POINTER TO IMAGE_BOUND_FORWARDER_REF;
		IMAGE_TLS_CALLBACK* = PROCEDURE (DllHandle: PtrVoid; Reason: INTEGER; Reserved: PtrVoid);
		IMAGE_TLS_DIRECTORY* = RECORD [noalign]
			StartAddressOfRawData*: INTEGER;
			EndAddressOfRawData*: INTEGER;
			AddressOfIndex*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			AddressOfCallBacks*: POINTER TO (*?*) ARRAY [untagged] OF IMAGE_TLS_CALLBACK;
			SizeOfZeroFill*: INTEGER;
			Characteristics*: INTEGER;
		END;
		PtrIMAGE_TLS_DIRECTORY* = POINTER TO IMAGE_TLS_DIRECTORY;
		IMAGE_RESOURCE_DIRECTORY* = RECORD [noalign]
			Characteristics*: INTEGER;
			TimeDateStamp*: INTEGER;
			MajorVersion*: SHORTINT;
			MinorVersion*: SHORTINT;
			NumberOfNamedEntries*: SHORTINT;
			NumberOfIdEntries*: SHORTINT;
		END;
		PtrIMAGE_RESOURCE_DIRECTORY* = POINTER TO IMAGE_RESOURCE_DIRECTORY;
		IMAGE_RESOURCE_DIRECTORY_ENTRY* = RECORD [untagged]
			u*: RECORD [union]
				r*: RECORD [noalign]
					fBits0*: SET;
					(* NameOffset*: LONGINT; (31 bits) *)
					(* NameIsString*: LONGINT; (1 bits) *)
				END;
				Name*: INTEGER;
				Id*: SHORTINT;
			END;
			u1*: RECORD [union]
				OffsetToData*: INTEGER;
				r*: RECORD [noalign]
					fBits0*: SET;
					(* OffsetToDirectory*: LONGINT; (31 bits) *)
					(* DataIsDirectory*: LONGINT; (1 bits) *)
				END;
			END;
		END;
		PtrIMAGE_RESOURCE_DIRECTORY_ENTRY* = POINTER TO IMAGE_RESOURCE_DIRECTORY_ENTRY;
		IMAGE_RESOURCE_DIRECTORY_STRING* = RECORD [noalign]
			Length*: SHORTINT;
			NameString*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrIMAGE_RESOURCE_DIRECTORY_STRING* = POINTER TO IMAGE_RESOURCE_DIRECTORY_STRING;
		IMAGE_RESOURCE_DIR_STRING_U* = RECORD [noalign]
			Length*: SHORTINT;
			NameString*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrIMAGE_RESOURCE_DIR_STRING_U* = POINTER TO IMAGE_RESOURCE_DIR_STRING_U;
		IMAGE_RESOURCE_DATA_ENTRY* = RECORD [noalign]
			OffsetToData*: INTEGER;
			Size*: INTEGER;
			CodePage*: INTEGER;
			Reserved*: INTEGER;
		END;
		PtrIMAGE_RESOURCE_DATA_ENTRY* = POINTER TO IMAGE_RESOURCE_DATA_ENTRY;
		IMAGE_LOAD_CONFIG_DIRECTORY* = RECORD [noalign]
			Characteristics*: INTEGER;
			TimeDateStamp*: INTEGER;
			MajorVersion*: SHORTINT;
			MinorVersion*: SHORTINT;
			GlobalFlagsClear*: INTEGER;
			GlobalFlagsSet*: INTEGER;
			CriticalSectionDefaultTimeout*: INTEGER;
			DeCommitFreeBlockThreshold*: INTEGER;
			DeCommitTotalFreeThreshold*: INTEGER;
			LockPrefixTable*: PtrVoid;
			MaximumAllocationSize*: INTEGER;
			VirtualMemoryThreshold*: INTEGER;
			ProcessHeapFlags*: INTEGER;
			Reserved*: ARRAY [untagged] 4 OF INTEGER;
		END;
		PtrIMAGE_LOAD_CONFIG_DIRECTORY* = POINTER TO IMAGE_LOAD_CONFIG_DIRECTORY;
		IMAGE_RUNTIME_FUNCTION_ENTRY* = RECORD [noalign]
			BeginAddress*: INTEGER;
			EndAddress*: INTEGER;
			ExceptionHandler*: PtrVoid;
			HandlerData*: PtrVoid;
			PrologEndAddress*: INTEGER;
		END;
		PtrIMAGE_RUNTIME_FUNCTION_ENTRY* = POINTER TO IMAGE_RUNTIME_FUNCTION_ENTRY;
		IMAGE_DEBUG_DIRECTORY* = RECORD [noalign]
			Characteristics*: INTEGER;
			TimeDateStamp*: INTEGER;
			MajorVersion*: SHORTINT;
			MinorVersion*: SHORTINT;
			Type*: INTEGER;
			SizeOfData*: INTEGER;
			AddressOfRawData*: INTEGER;
			PointerToRawData*: INTEGER;
		END;
		PtrIMAGE_DEBUG_DIRECTORY* = POINTER TO IMAGE_DEBUG_DIRECTORY;
		IMAGE_COFF_SYMBOLS_HEADER* = RECORD [noalign]
			NumberOfSymbols*: INTEGER;
			LvaToFirstSymbol*: INTEGER;
			NumberOfLinenumbers*: INTEGER;
			LvaToFirstLinenumber*: INTEGER;
			RvaToFirstByteOfCode*: INTEGER;
			RvaToLastByteOfCode*: INTEGER;
			RvaToFirstByteOfData*: INTEGER;
			RvaToLastByteOfData*: INTEGER;
		END;
		PtrIMAGE_COFF_SYMBOLS_HEADER* = POINTER TO IMAGE_COFF_SYMBOLS_HEADER;
		FPO_DATA* = RECORD [noalign]
			ulOffStart*: INTEGER;
			cbProcSize*: INTEGER;
			cdwLocals*: INTEGER;
			cdwParams*: SHORTINT;
			fBits0*: SHORTINT;
			(* cbProlog*: INTEGER; (8 bits) *)
			(* cbRegs*: INTEGER; (3 bits) *)
			(* fHasSEH*: INTEGER; (1 bits) *)
			(* fUseBP*: INTEGER; (1 bits) *)
			(* reserved*: INTEGER; (1 bits) *)
			(* cbFrame*: INTEGER; (2 bits) *)
		END;
		PtrFPO_DATA* = POINTER TO FPO_DATA;
		IMAGE_DEBUG_MISC* = RECORD [noalign]
			DataType*: INTEGER;
			Length*: INTEGER;
			Unicode*: BOOLEAN;
			Reserved*: ARRAY [untagged] 3 OF SHORTCHAR;
			Data*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrIMAGE_DEBUG_MISC* = POINTER TO IMAGE_DEBUG_MISC;
		IMAGE_FUNCTION_ENTRY* = RECORD [noalign]
			StartingAddress*: INTEGER;
			EndingAddress*: INTEGER;
			EndOfPrologue*: INTEGER;
		END;
		PtrIMAGE_FUNCTION_ENTRY* = POINTER TO IMAGE_FUNCTION_ENTRY;
		IMAGE_SEPARATE_DEBUG_HEADER* = RECORD [noalign]
			Signature*: SHORTINT;
			Flags*: SHORTINT;
			Machine*: SHORTINT;
			Characteristics*: SHORTINT;
			TimeDateStamp*: INTEGER;
			CheckSum*: INTEGER;
			ImageBase*: INTEGER;
			SizeOfImage*: INTEGER;
			NumberOfSections*: INTEGER;
			ExportedNamesSize*: INTEGER;
			DebugDirectorySize*: INTEGER;
			Reserved*: ARRAY [untagged] 3 OF INTEGER;
		END;
		PtrIMAGE_SEPARATE_DEBUG_HEADER* = POINTER TO IMAGE_SEPARATE_DEBUG_HEADER;
		MESSAGE_RESOURCE_ENTRY* = RECORD [untagged]
			Length*: SHORTINT;
			Flags*: SHORTINT;
			Text*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrMESSAGE_RESOURCE_ENTRY* = POINTER TO MESSAGE_RESOURCE_ENTRY;
		MESSAGE_RESOURCE_BLOCK* = RECORD [untagged]
			LowId*: INTEGER;
			HighId*: INTEGER;
			OffsetToEntries*: INTEGER;
		END;
		PtrMESSAGE_RESOURCE_BLOCK* = POINTER TO MESSAGE_RESOURCE_BLOCK;
		MESSAGE_RESOURCE_DATA* = RECORD [untagged]
			NumberOfBlocks*: INTEGER;
			Blocks*: ARRAY [untagged] 1 OF MESSAGE_RESOURCE_BLOCK;
		END;
		PtrMESSAGE_RESOURCE_DATA* = POINTER TO MESSAGE_RESOURCE_DATA;
		PtrRTL_CRITICAL_SECTION* = POINTER TO RTL_CRITICAL_SECTION;
		RTL_CRITICAL_SECTION_DEBUG* = RECORD [untagged]
			Type*: SHORTINT;
			CreatorBackTraceIndex*: SHORTINT;
			CriticalSection*: PtrRTL_CRITICAL_SECTION;
			ProcessLocksList*: LIST_ENTRY;
			EntryCount*: INTEGER;
			ContentionCount*: INTEGER;
			Spare*: ARRAY [untagged] 2 OF INTEGER;
		END;
		PtrRTL_CRITICAL_SECTION_DEBUG* = POINTER TO RTL_CRITICAL_SECTION_DEBUG;
		RTL_CRITICAL_SECTION* = RECORD [untagged]
			DebugInfo*: PtrRTL_CRITICAL_SECTION_DEBUG;
			LockCount*: INTEGER;
			RecursionCount*: INTEGER;
			OwningThread*: HANDLE;
			LockSemaphore*: HANDLE;
			Reserved*: INTEGER;
		END;
		EVENTLOGRECORD* = RECORD [untagged]
			Length*: INTEGER;
			Reserved*: INTEGER;
			RecordNumber*: INTEGER;
			TimeGenerated*: INTEGER;
			TimeWritten*: INTEGER;
			EventID*: INTEGER;
			EventType*: SHORTINT;
			NumStrings*: SHORTINT;
			EventCategory*: SHORTINT;
			ReservedFlags*: SHORTINT;
			ClosingRecordNumber*: INTEGER;
			StringOffset*: INTEGER;
			UserSidLength*: INTEGER;
			UserSidOffset*: INTEGER;
			DataLength*: INTEGER;
			DataOffset*: INTEGER;
		END;
		PtrEVENTLOGRECORD* = POINTER TO EVENTLOGRECORD;
		SERVICE_NODE_TYPE* = INTEGER;
		SERVICE_LOAD_TYPE* = INTEGER;
		SERVICE_ERROR_TYPE* = INTEGER;
		TAPE_ERASE* = RECORD [untagged]
			Type*: INTEGER;
			Immediate*: BOOLEAN;
		END;
		PtrTAPE_ERASE* = POINTER TO TAPE_ERASE;
		TAPE_PREPARE* = RECORD [untagged]
			Operation*: INTEGER;
			Immediate*: BOOLEAN;
		END;
		PtrTAPE_PREPARE* = POINTER TO TAPE_PREPARE;
		TAPE_WRITE_MARKS* = RECORD [untagged]
			Type*: INTEGER;
			Count*: INTEGER;
			Immediate*: BOOLEAN;
		END;
		PtrTAPE_WRITE_MARKS* = POINTER TO TAPE_WRITE_MARKS;
		TAPE_GET_POSITION* = RECORD [align8]
			Type*: INTEGER;
			Partition*: INTEGER;
			Offset*: LONGINT;
		END;
		PtrTAPE_GET_POSITION* = POINTER TO TAPE_GET_POSITION;
		TAPE_SET_POSITION* = RECORD [align8]
			Method*: INTEGER;
			Partition*: INTEGER;
			Offset*: LONGINT;
			Immediate*: BOOLEAN;
		END;
		PtrTAPE_SET_POSITION* = POINTER TO TAPE_SET_POSITION;
		TAPE_GET_DRIVE_PARAMETERS* = RECORD [untagged]
			ECC*: BOOLEAN;
			Compression*: BOOLEAN;
			DataPadding*: BOOLEAN;
			ReportSetmarks*: BOOLEAN;
			DefaultBlockSize*: INTEGER;
			MaximumBlockSize*: INTEGER;
			MinimumBlockSize*: INTEGER;
			MaximumPartitionCount*: INTEGER;
			FeaturesLow*: SET;
			FeaturesHigh*: SET;
			EOTWarningZoneSize*: INTEGER;
		END;
		PtrTAPE_GET_DRIVE_PARAMETERS* = POINTER TO TAPE_GET_DRIVE_PARAMETERS;
		TAPE_SET_DRIVE_PARAMETERS* = RECORD [untagged]
			ECC*: BOOLEAN;
			Compression*: BOOLEAN;
			DataPadding*: BOOLEAN;
			ReportSetmarks*: BOOLEAN;
			EOTWarningZoneSize*: INTEGER;
		END;
		PtrTAPE_SET_DRIVE_PARAMETERS* = POINTER TO TAPE_SET_DRIVE_PARAMETERS;
		TAPE_GET_MEDIA_PARAMETERS* = RECORD [align8]
			Capacity*: LONGINT;
			Remaining*: LONGINT;
			BlockSize*: INTEGER;
			PartitionCount*: INTEGER;
			WriteProtected*: BOOLEAN;
		END;
		PtrTAPE_GET_MEDIA_PARAMETERS* = POINTER TO TAPE_GET_MEDIA_PARAMETERS;
		TAPE_SET_MEDIA_PARAMETERS* = RECORD [untagged]
			BlockSize*: INTEGER;
		END;
		PtrTAPE_SET_MEDIA_PARAMETERS* = POINTER TO TAPE_SET_MEDIA_PARAMETERS;
		TAPE_CREATE_PARTITION* = RECORD [untagged]
			Method*: INTEGER;
			Count*: INTEGER;
			Size*: INTEGER;
		END;
		PtrTAPE_CREATE_PARTITION* = POINTER TO TAPE_CREATE_PARTITION;
		WPARAM* = INTEGER;
		LPARAM* = INTEGER;
		LRESULT* = INTEGER;
		HWND* = HANDLE;
		HHOOK* = HANDLE;
		ATOM* = SHORTINT;
		HGLOBAL* = HANDLE;
		HLOCAL* = HANDLE;
		GLOBALHANDLE* = HANDLE;
		LOCALHANDLE* = HANDLE;
		FARPROC* = PROCEDURE (): INTEGER;
		NEARPROC* = PROCEDURE (): INTEGER;
		ROC* = PROCEDURE (): INTEGER;
		HGDIOBJ* = HANDLE;
		HACCEL* = HANDLE;
		HBITMAP* = HANDLE;
		HBRUSH* = HANDLE;
		HCOLORSPACE* = HANDLE;
		HDC* = HANDLE;
		HGLRC* = HANDLE;
		HDESK* = HANDLE;
		HENHMETAFILE* = HANDLE;
		HMETAFILEPICT* = HANDLE;
		HFONT* = HANDLE;
		HICON* = HANDLE;
		HMENU* = HANDLE;
		HMETAFILE* = HANDLE;
		HINSTANCE* = HANDLE;
		HMODULE* = HINSTANCE;
		HPALETTE* = HANDLE;
		HPEN* = HANDLE;
		HRGN* = HANDLE;
		HRSRC* = HANDLE;
		HSTR* = HANDLE;
		HTASK* = HANDLE;
		HWINSTA* = HANDLE;
		HKL* = HANDLE;
		HFILE* = INTEGER;
		HCURSOR* = HICON;
		COLORREF* = INTEGER;
		RECT* = RECORD [untagged]
			left*: INTEGER;
			top*: INTEGER;
			right*: INTEGER;
			bottom*: INTEGER;
		END;
		PtrRECT* = POINTER TO RECT;
		_RECTL* = RECORD [untagged]
			left*: INTEGER;
			top*: INTEGER;
			right*: INTEGER;
			bottom*: INTEGER;
		END;
		POINT* = RECORD [untagged]
			x*: INTEGER;
			y*: INTEGER;
		END;
		PtrPOINT* = POINTER TO POINT;
		_POINTL* = RECORD [untagged]
			x*: INTEGER;
			y*: INTEGER;
		END;
		SIZE* = RECORD [untagged]
			cx*: INTEGER;
			cy*: INTEGER;
		END;
		PtrSIZE* = POINTER TO SIZE;
		POINTS* = RECORD [untagged]
			x*: SHORTINT;
			y*: SHORTINT;
		END;
		PtrPOINTS* = POINTER TO POINTS;
		OVERLAPPED* = RECORD [untagged]
			Internal*: INTEGER;
			InternalHigh*: INTEGER;
			Offset*: INTEGER;
			OffsetHigh*: INTEGER;
			hEvent*: HANDLE;
		END;
		PtrOVERLAPPED* = POINTER TO OVERLAPPED;
		SECURITY_ATTRIBUTES* = RECORD [untagged]
			nLength*: INTEGER;
			lpSecurityDescriptor*: PtrVoid;
			bInheritHandle*: BOOL;
		END;
		PtrSECURITY_ATTRIBUTES* = POINTER TO SECURITY_ATTRIBUTES;
		PROCESS_INFORMATION* = RECORD [untagged]
			hProcess*: HANDLE;
			hThread*: HANDLE;
			dwProcessId*: INTEGER;
			dwThreadId*: INTEGER;
		END;
		PtrPROCESS_INFORMATION* = POINTER TO PROCESS_INFORMATION;
		FILETIME* = RECORD [untagged]
			dwLowDateTime*: INTEGER;
			dwHighDateTime*: INTEGER;
		END;
		PtrFILETIME* = POINTER TO FILETIME;
		SYSTEMTIME* = RECORD [untagged]
			wYear*: SHORTINT;
			wMonth*: SHORTINT;
			wDayOfWeek*: SHORTINT;
			wDay*: SHORTINT;
			wHour*: SHORTINT;
			wMinute*: SHORTINT;
			wSecond*: SHORTINT;
			wMilliseconds*: SHORTINT;
		END;
		PtrSYSTEMTIME* = POINTER TO SYSTEMTIME;
		THREAD_START_ROUTINE* = PROCEDURE (lpThreadParameter: PtrVoid): INTEGER;
		FIBER_START_ROUTINE* = PROCEDURE (lpFiberParameter: PtrVoid);
		CRITICAL_SECTION* = RTL_CRITICAL_SECTION;
		PtrCRITICAL_SECTION* = PtrRTL_CRITICAL_SECTION;
		CRITICAL_SECTION_DEBUG* = RTL_CRITICAL_SECTION_DEBUG;
		PtrCRITICAL_SECTION_DEBUG* = PtrRTL_CRITICAL_SECTION_DEBUG;
		COMMPROP* = RECORD [untagged]
			wPacketLength*: SHORTINT;
			wPacketVersion*: SHORTINT;
			dwServiceMask*: INTEGER;
			dwReserved1*: INTEGER;
			dwMaxTxQueue*: INTEGER;
			dwMaxRxQueue*: INTEGER;
			dwMaxBaud*: SET;
			dwProvSubType*: INTEGER;
			dwProvCapabilities*: SET;
			dwSettableParams*: SET;
			dwSettableBaud*: SET;
			wSettableData*: SHORTINT;
			wSettableStopParity*: SHORTINT;
			dwCurrentTxQueue*: INTEGER;
			dwCurrentRxQueue*: INTEGER;
			dwProvSpec1*: INTEGER;
			dwProvSpec2*: INTEGER;
			wcProvChar*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrCOMMPROP* = POINTER TO COMMPROP;
		COMSTAT* = RECORD [untagged]
			fBits0*: SET;
			(* fCtsHold*: LONGINT; (1 bits) *)
			(* fDsrHold*: LONGINT; (1 bits) *)
			(* fRlsdHold*: LONGINT; (1 bits) *)
			(* fXoffHold*: LONGINT; (1 bits) *)
			(* fXoffSent*: LONGINT; (1 bits) *)
			(* fEof*: LONGINT; (1 bits) *)
			(* fTxim*: LONGINT; (1 bits) *)
			(* fReserved*: LONGINT; (25 bits) *)
			cbInQue*: INTEGER;
			cbOutQue*: INTEGER;
		END;
		PtrCOMSTAT* = POINTER TO COMSTAT;
		DCB* = RECORD [untagged]
			DCBlength*: INTEGER;
			BaudRate*: INTEGER;
			fBits0*: SET;
			(* fBinary*: LONGINT; (1 bits) *)
			(* fParity*: LONGINT; (1 bits) *)
			(* fOutxCtsFlow*: LONGINT; (1 bits) *)
			(* fOutxDsrFlow*: LONGINT; (1 bits) *)
			(* fDtrControl*: LONGINT; (2 bits) *)
			(* fDsrSensitivity*: LONGINT; (1 bits) *)
			(* fTXContinueOnXoff*: LONGINT; (1 bits) *)
			(* fOutX*: LONGINT; (1 bits) *)
			(* fInX*: LONGINT; (1 bits) *)
			(* fErrorChar*: LONGINT; (1 bits) *)
			(* fNull*: LONGINT; (1 bits) *)
			(* fRtsControl*: LONGINT; (2 bits) *)
			(* fAbortOnError*: LONGINT; (1 bits) *)
			(* fDummy2*: LONGINT; (17 bits) *)
			wReserved*: SHORTINT;
			XonLim*: SHORTINT;
			XoffLim*: SHORTINT;
			ByteSize*: SHORTCHAR;
			Parity*: SHORTCHAR;
			StopBits*: SHORTCHAR;
			XonChar*: SHORTCHAR;
			XoffChar*: SHORTCHAR;
			ErrorChar*: SHORTCHAR;
			EofChar*: SHORTCHAR;
			EvtChar*: SHORTCHAR;
			wReserved1*: SHORTINT;
		END;
		PtrDCB* = POINTER TO DCB;
		COMMTIMEOUTS* = RECORD [untagged]
			ReadIntervalTimeout*: INTEGER;
			ReadTotalTimeoutMultiplier*: INTEGER;
			ReadTotalTimeoutConstant*: INTEGER;
			WriteTotalTimeoutMultiplier*: INTEGER;
			WriteTotalTimeoutConstant*: INTEGER;
		END;
		PtrCOMMTIMEOUTS* = POINTER TO COMMTIMEOUTS;
		COMMCONFIG* = RECORD [untagged]
			dwSize*: INTEGER;
			wVersion*: SHORTINT;
			wReserved*: SHORTINT;
			dcb*: DCB;
			dwProviderSubType*: INTEGER;
			dwProviderOffset*: INTEGER;
			dwProviderSize*: INTEGER;
			wcProviderData*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrCOMMCONFIG* = POINTER TO COMMCONFIG;
		SYSTEM_INFO* = RECORD [untagged]
			u*: RECORD [union]
				dwOemId*: INTEGER;
				r*: RECORD [untagged]
					wProcessorArchitecture*: SHORTINT;
					wReserved*: SHORTINT;
				END;
			END;
			dwPageSize*: INTEGER;
			lpMinimumApplicationAddress*: PtrVoid;
			lpMaximumApplicationAddress*: PtrVoid;
			dwActiveProcessorMask*: INTEGER;
			dwNumberOfProcessors*: INTEGER;
			dwProcessorType*: INTEGER;
			dwAllocationGranularity*: INTEGER;
			wProcessorLevel*: SHORTINT;
			wProcessorRevision*: SHORTINT;
		END;
		PtrSYSTEM_INFO* = POINTER TO SYSTEM_INFO;
		MEMORYSTATUS* = RECORD [untagged]
			dwLength*: INTEGER;
			dwMemoryLoad*: INTEGER;
			dwTotalPhys*: INTEGER;
			dwAvailPhys*: INTEGER;
			dwTotalPageFile*: INTEGER;
			dwAvailPageFile*: INTEGER;
			dwTotalVirtual*: INTEGER;
			dwAvailVirtual*: INTEGER;
		END;
		PtrMEMORYSTATUS* = POINTER TO MEMORYSTATUS;
		EXCEPTION_DEBUG_INFO* = RECORD [untagged]
			ExceptionRecord*: EXCEPTION_RECORD;
			dwFirstChance*: INTEGER;
		END;
		PtrEXCEPTION_DEBUG_INFO* = POINTER TO EXCEPTION_DEBUG_INFO;
		CREATE_THREAD_DEBUG_INFO* = RECORD [untagged]
			hThread*: HANDLE;
			lpThreadLocalBase*: PtrVoid;
			lpStartAddress*: THREAD_START_ROUTINE;
		END;
		PtrCREATE_THREAD_DEBUG_INFO* = POINTER TO CREATE_THREAD_DEBUG_INFO;
		CREATE_PROCESS_DEBUG_INFO* = RECORD [untagged]
			hFile*: HANDLE;
			hProcess*: HANDLE;
			hThread*: HANDLE;
			lpBaseOfImage*: PtrVoid;
			dwDebugInfoFileOffset*: INTEGER;
			nDebugInfoSize*: INTEGER;
			lpThreadLocalBase*: PtrVoid;
			lpStartAddress*: THREAD_START_ROUTINE;
			lpImageName*: PtrVoid;
			fUnicode*: SHORTINT;
		END;
		PtrCREATE_PROCESS_DEBUG_INFO* = POINTER TO CREATE_PROCESS_DEBUG_INFO;
		EXIT_THREAD_DEBUG_INFO* = RECORD [untagged]
			dwExitCode*: INTEGER;
		END;
		PtrEXIT_THREAD_DEBUG_INFO* = POINTER TO EXIT_THREAD_DEBUG_INFO;
		EXIT_PROCESS_DEBUG_INFO* = RECORD [untagged]
			dwExitCode*: INTEGER;
		END;
		PtrEXIT_PROCESS_DEBUG_INFO* = POINTER TO EXIT_PROCESS_DEBUG_INFO;
		LOAD_DLL_DEBUG_INFO* = RECORD [untagged]
			hFile*: HANDLE;
			lpBaseOfDll*: PtrVoid;
			dwDebugInfoFileOffset*: INTEGER;
			nDebugInfoSize*: INTEGER;
			lpImageName*: PtrVoid;
			fUnicode*: SHORTINT;
		END;
		PtrLOAD_DLL_DEBUG_INFO* = POINTER TO LOAD_DLL_DEBUG_INFO;
		UNLOAD_DLL_DEBUG_INFO* = RECORD [untagged]
			lpBaseOfDll*: PtrVoid;
		END;
		PtrUNLOAD_DLL_DEBUG_INFO* = POINTER TO UNLOAD_DLL_DEBUG_INFO;
		OUTPUT_DEBUG_STRING_INFO* = RECORD [untagged]
			lpDebugStringData*: PtrSTR;
			fUnicode*: SHORTINT;
			nDebugStringLength*: SHORTINT;
		END;
		PtrOUTPUT_DEBUG_STRING_INFO* = POINTER TO OUTPUT_DEBUG_STRING_INFO;
		RIP_INFO* = RECORD [untagged]
			dwError*: INTEGER;
			dwType*: INTEGER;
		END;
		PtrRIP_INFO* = POINTER TO RIP_INFO;
		DEBUG_EVENT* = RECORD [untagged]
			dwDebugEventCode*: INTEGER;
			dwProcessId*: INTEGER;
			dwThreadId*: INTEGER;
			u*: RECORD [union]
				Exception*: EXCEPTION_DEBUG_INFO;
				CreateThread*: CREATE_THREAD_DEBUG_INFO;
				CreateProcessInfo*: CREATE_PROCESS_DEBUG_INFO;
				ExitThread*: EXIT_THREAD_DEBUG_INFO;
				ExitProcess*: EXIT_PROCESS_DEBUG_INFO;
				LoadDll*: LOAD_DLL_DEBUG_INFO;
				UnloadDll*: UNLOAD_DLL_DEBUG_INFO;
				DebugString*: OUTPUT_DEBUG_STRING_INFO;
				RipInfo*: RIP_INFO;
			END;
		END;
		PtrDEBUG_EVENT* = POINTER TO DEBUG_EVENT;
		OFSTRUCT* = RECORD [untagged]
			cBytes*: SHORTCHAR;
			fFixedDisk*: SHORTCHAR;
			nErrCode*: SHORTINT;
			Reserved1*: SHORTINT;
			Reserved2*: SHORTINT;
			szPathName*: ARRAY [untagged] 128 OF SHORTCHAR;
		END;
		PtrOFSTRUCT* = POINTER TO OFSTRUCT;
		PROCESS_HEAP_ENTRY* = RECORD [untagged]
			lpData*: PtrVoid;
			cbData*: INTEGER;
			cbOverhead*: SHORTCHAR;
			iRegionIndex*: SHORTCHAR;
			wFlags*: SHORTINT;
			u*: RECORD [union]
				Block*: RECORD [untagged]
					hMem*: HANDLE;
					dwReserved*: ARRAY [untagged] 3 OF INTEGER;
				END;
				Region*: RECORD [untagged]
					dwCommittedSize*: INTEGER;
					dwUnCommittedSize*: INTEGER;
					lpFirstBlock*: PtrVoid;
					lpLastBlock*: PtrVoid;
				END;
			END;
		END;
		PtrPROCESS_HEAP_ENTRY* = POINTER TO PROCESS_HEAP_ENTRY;
		TOP_LEVEL_EXCEPTION_FILTER* = PROCEDURE (VAR [nil] ExceptionInfo: EXCEPTION_POINTERS): INTEGER;
		APCFUNC* = PROCEDURE (dwParam: INTEGER);
		BY_HANDLE_FILE_INFORMATION* = RECORD [align8]
			dwFileAttributes*: SET;
			ftCreationTime*: FILETIME;
			ftLastAccessTime*: FILETIME;
			ftLastWriteTime*: FILETIME;
			dwVolumeSerialNumber*: INTEGER;
			nFileSizeHigh*: INTEGER;
			nFileSizeLow*: INTEGER;
			nNumberOfLinks*: INTEGER;
			nFileIndexHigh*: INTEGER;
			nFileIndexLow*: INTEGER;
		END;
		PtrBY_HANDLE_FILE_INFORMATION* = POINTER TO BY_HANDLE_FILE_INFORMATION;
		TIME_ZONE_INFORMATION* = RECORD [untagged]
			Bias*: INTEGER;
			StandardName*: ARRAY [untagged] 32 OF CHAR;
			StandardDate*: SYSTEMTIME;
			StandardBias*: INTEGER;
			DaylightName*: ARRAY [untagged] 32 OF CHAR;
			DaylightDate*: SYSTEMTIME;
			DaylightBias*: INTEGER;
		END;
		PtrTIME_ZONE_INFORMATION* = POINTER TO TIME_ZONE_INFORMATION;
		OVERLAPPED_COMPLETION_ROUTINE* = PROCEDURE (dwErrorCode: INTEGER; dwNumberOfBytesTransfered: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED);
		WIN32_STREAM_ID* = RECORD [align8]
			dwStreamId*: INTEGER;
			dwStreamAttributes*: SET;
			Size*: LONGINT;
			dwStreamNameSize*: INTEGER;
			cStreamName*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrWIN32_STREAM_ID* = POINTER TO WIN32_STREAM_ID;
		STARTUPINFOA* = RECORD [untagged]
			cb*: INTEGER;
			lpReserved*: PtrSTR;
			lpDesktop*: PtrSTR;
			lpTitle*: PtrSTR;
			dwX*: INTEGER;
			dwY*: INTEGER;
			dwXSize*: INTEGER;
			dwYSize*: INTEGER;
			dwXCountChars*: INTEGER;
			dwYCountChars*: INTEGER;
			dwFillAttribute*: INTEGER;
			dwFlags*: SET;
			wShowWindow*: SHORTINT;
			cbReserved2*: SHORTINT;
			lpReserved2*: POINTER TO (*?*) ARRAY [untagged] OF SHORTCHAR;
			hStdInput*: HANDLE;
			hStdOutput*: HANDLE;
			hStdError*: HANDLE;
		END;
		PtrSTARTUPINFOA* = POINTER TO STARTUPINFOA;
		STARTUPINFOW* = RECORD [untagged]
			cb*: INTEGER;
			lpReserved*: PtrWSTR;
			lpDesktop*: PtrWSTR;
			lpTitle*: PtrWSTR;
			dwX*: INTEGER;
			dwY*: INTEGER;
			dwXSize*: INTEGER;
			dwYSize*: INTEGER;
			dwXCountChars*: INTEGER;
			dwYCountChars*: INTEGER;
			dwFillAttribute*: INTEGER;
			dwFlags*: SET;
			wShowWindow*: SHORTINT;
			cbReserved2*: SHORTINT;
			lpReserved2*: POINTER TO (*?*) ARRAY [untagged] OF SHORTCHAR;
			hStdInput*: HANDLE;
			hStdOutput*: HANDLE;
			hStdError*: HANDLE;
		END;
		PtrSTARTUPINFOW* = POINTER TO STARTUPINFOW;
		STARTUPINFO* = STARTUPINFOA;
		PtrSTARTUPINFO* = PtrSTARTUPINFOA;
		WIN32_FIND_DATAA* = RECORD [align8]
			dwFileAttributes*: SET;
			ftCreationTime*: FILETIME;
			ftLastAccessTime*: FILETIME;
			ftLastWriteTime*: FILETIME;
			nFileSizeHigh*: INTEGER;
			nFileSizeLow*: INTEGER;
			dwReserved0*: INTEGER;
			dwReserved1*: INTEGER;
			cFileName*: ARRAY [untagged] 260 OF SHORTCHAR;
			cAlternateFileName*: ARRAY [untagged] 14 OF SHORTCHAR;
		END;
		PtrWIN32_FIND_DATAA* = POINTER TO WIN32_FIND_DATAA;
		WIN32_FIND_DATAW* = RECORD [align8]
			dwFileAttributes*: SET;
			ftCreationTime*: FILETIME;
			ftLastAccessTime*: FILETIME;
			ftLastWriteTime*: FILETIME;
			nFileSizeHigh*: INTEGER;
			nFileSizeLow*: INTEGER;
			dwReserved0*: INTEGER;
			dwReserved1*: INTEGER;
			cFileName*: ARRAY [untagged] 260 OF CHAR;
			cAlternateFileName*: ARRAY [untagged] 14 OF CHAR;
		END;
		PtrWIN32_FIND_DATAW* = POINTER TO WIN32_FIND_DATAW;
		WIN32_FIND_DATA* = WIN32_FIND_DATAA;
		PtrWIN32_FIND_DATA* = PtrWIN32_FIND_DATAA;
		WIN32_FILE_ATTRIBUTE_DATA* = RECORD [align8]
			dwFileAttributes*: SET;
			ftCreationTime*: FILETIME;
			ftLastAccessTime*: FILETIME;
			ftLastWriteTime*: FILETIME;
			nFileSizeHigh*: INTEGER;
			nFileSizeLow*: INTEGER;
		END;
		PtrWIN32_FILE_ATTRIBUTE_DATA* = POINTER TO WIN32_FILE_ATTRIBUTE_DATA;
		TIMERAPCROUTINE* = PROCEDURE (lpArgToCompletionRoutine: PtrVoid; dwTimerLowValue: INTEGER; dwTimerHighValue: INTEGER);
		ENUMRESTYPEPROC* = PROCEDURE (): INTEGER;
		ENUMRESNAMEPROC* = PROCEDURE (): INTEGER;
		ENUMRESLANGPROC* = PROCEDURE (): INTEGER;
		GET_FILEEX_INFO_LEVELS* = INTEGER;
		FINDEX_INFO_LEVELS* = INTEGER;
		FINDEX_SEARCH_OPS* = INTEGER;
		PROGRESS_ROUTINE* = PROCEDURE (TotalFileSize: LONGINT; TotalBytesTransferred: LONGINT; StreamSize: LONGINT; StreamBytesTransferred: LONGINT; dwStreamNumber: INTEGER; dwCallbackReason: INTEGER; hSourceFile: HANDLE; hDestinationFile: HANDLE; lpData: PtrVoid): INTEGER;
		HW_PROFILE_INFOA* = RECORD [untagged]
			dwDockInfo*: INTEGER;
			szHwProfileGuid*: ARRAY [untagged] 39 OF SHORTCHAR;
			szHwProfileName*: ARRAY [untagged] 80 OF SHORTCHAR;
		END;
		PtrHW_PROFILE_INFOA* = POINTER TO HW_PROFILE_INFOA;
		HW_PROFILE_INFOW* = RECORD [untagged]
			dwDockInfo*: INTEGER;
			szHwProfileGuid*: ARRAY [untagged] 39 OF CHAR;
			szHwProfileName*: ARRAY [untagged] 80 OF CHAR;
		END;
		PtrHW_PROFILE_INFOW* = POINTER TO HW_PROFILE_INFOW;
		HW_PROFILE_INFO* = HW_PROFILE_INFOA;
		PtrHW_PROFILE_INFO* = PtrHW_PROFILE_INFOA;
		OSVERSIONINFOA* = RECORD [untagged]
			dwOSVersionInfoSize*: INTEGER;
			dwMajorVersion*: INTEGER;
			dwMinorVersion*: INTEGER;
			dwBuildNumber*: INTEGER;
			dwPlatformId*: INTEGER;
			szCSDVersion*: ARRAY [untagged] 128 OF SHORTCHAR;
		END;
		PtrOSVERSIONINFOA* = POINTER TO OSVERSIONINFOA;
		OSVERSIONINFOW* = RECORD [untagged]
			dwOSVersionInfoSize*: INTEGER;
			dwMajorVersion*: INTEGER;
			dwMinorVersion*: INTEGER;
			dwBuildNumber*: INTEGER;
			dwPlatformId*: INTEGER;
			szCSDVersion*: ARRAY [untagged] 128 OF CHAR;
		END;
		PtrOSVERSIONINFOW* = POINTER TO OSVERSIONINFOW;
		OSVERSIONINFO* = OSVERSIONINFOA;
		PtrOSVERSIONINFO* = PtrOSVERSIONINFOA;
		SYSTEM_POWER_STATUS* = RECORD [untagged]
			ACLineStatus*: SHORTCHAR;
			BatteryFlag*: SHORTCHAR;
			BatteryLifePercent*: SHORTCHAR;
			Reserved1*: SHORTCHAR;
			BatteryLifeTime*: INTEGER;
			BatteryFullLifeTime*: INTEGER;
		END;
		PtrSYSTEM_POWER_STATUS* = POINTER TO SYSTEM_POWER_STATUS;
		WIN_CERTIFICATE* = RECORD [untagged]
			dwLength*: INTEGER;
			wRevision*: SHORTINT;
			wCertificateType*: SHORTINT;
			bCertificate*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrWIN_CERTIFICATE* = POINTER TO WIN_CERTIFICATE;
		WIN_TRUST_SUBJECT* = PtrVoid;
		WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT* = RECORD [untagged]
			hClientToken*: HANDLE;
			dwSubjectType*: INTEGER;
			Subject*: WIN_TRUST_SUBJECT;
		END;
		PtrWIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJE (*...*)* = POINTER TO WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT;
		WIN_TRUST_ACTDATA_SUBJECT_ONLY* = RECORD [untagged]
			dwSubjectType*: INTEGER;
			Subject*: WIN_TRUST_SUBJECT;
		END;
		PtrWIN_TRUST_ACTDATA_SUBJECT_ONLY* = POINTER TO WIN_TRUST_ACTDATA_SUBJECT_ONLY;
		WIN_TRUST_SUBJECT_FILE* = RECORD [untagged]
			hFile*: HANDLE;
			lpPath*: PtrWSTR;
		END;
		PtrWIN_TRUST_SUBJECT_FILE* = POINTER TO WIN_TRUST_SUBJECT_FILE;
		WIN_SPUB_TRUSTEDPUB_DATA* = RECORD [untagged]
			hClientToken*: HANDLE;
			lpCertificate*: PtrWIN_CERTIFICATE;
		END;
		PtrWIN_SPUB_TRUSTEDPUB_DATA* = POINTER TO WIN_SPUB_TRUSTEDPUB_DATA;
		XFORM* = RECORD [untagged]
			eM11*: SHORTREAL;
			eM12*: SHORTREAL;
			eM21*: SHORTREAL;
			eM22*: SHORTREAL;
			eDx*: SHORTREAL;
			eDy*: SHORTREAL;
		END;
		PtrXFORM* = POINTER TO XFORM;
		BITMAP* = RECORD [untagged]
			bmType*: INTEGER;
			bmWidth*: INTEGER;
			bmHeight*: INTEGER;
			bmWidthBytes*: INTEGER;
			bmPlanes*: SHORTINT;
			bmBitsPixel*: SHORTINT;
			bmBits*: PtrVoid;
		END;
		PtrBITMAP* = POINTER TO BITMAP;
		RGBTRIPLE* = RECORD [untagged]
			rgbtBlue*: SHORTCHAR;
			rgbtGreen*: SHORTCHAR;
			rgbtRed*: SHORTCHAR;
		END;
		RGBQUAD* = RECORD [untagged]
			rgbBlue*: SHORTCHAR;
			rgbGreen*: SHORTCHAR;
			rgbRed*: SHORTCHAR;
			rgbReserved*: SHORTCHAR;
		END;
		PtrRGBQUAD* = POINTER TO RGBQUAD;
		LCSCSTYPE* = INTEGER;
		LCSGAMUTMATCH* = INTEGER;
		FXPT16DOT16* = INTEGER;
		FXPT2DOT30* = INTEGER;
		CIEXYZ* = RECORD [untagged]
			ciexyzX*: FXPT2DOT30;
			ciexyzY*: FXPT2DOT30;
			ciexyzZ*: FXPT2DOT30;
		END;
		PtrCIEXYZ* = POINTER TO CIEXYZ;
		CIEXYZTRIPLE* = RECORD [untagged]
			ciexyzRed*: CIEXYZ;
			ciexyzGreen*: CIEXYZ;
			ciexyzBlue*: CIEXYZ;
		END;
		PtrCIEXYZTRIPLE* = POINTER TO CIEXYZTRIPLE;
		LOGCOLORSPACEA* = RECORD [untagged]
			lcsSignature*: INTEGER;
			lcsVersion*: INTEGER;
			lcsSize*: INTEGER;
			lcsCSType*: LCSCSTYPE;
			lcsIntent*: LCSGAMUTMATCH;
			lcsEndpoints*: CIEXYZTRIPLE;
			lcsGammaRed*: INTEGER;
			lcsGammaGreen*: INTEGER;
			lcsGammaBlue*: INTEGER;
			lcsFilename*: ARRAY [untagged] 260 OF SHORTCHAR;
		END;
		PtrLOGCOLORSPACEA* = POINTER TO LOGCOLORSPACEA;
		LOGCOLORSPACEW* = RECORD [untagged]
			lcsSignature*: INTEGER;
			lcsVersion*: INTEGER;
			lcsSize*: INTEGER;
			lcsCSType*: LCSCSTYPE;
			lcsIntent*: LCSGAMUTMATCH;
			lcsEndpoints*: CIEXYZTRIPLE;
			lcsGammaRed*: INTEGER;
			lcsGammaGreen*: INTEGER;
			lcsGammaBlue*: INTEGER;
			lcsFilename*: ARRAY [untagged] 260 OF CHAR;
		END;
		PtrLOGCOLORSPACEW* = POINTER TO LOGCOLORSPACEW;
		LOGCOLORSPACE* = LOGCOLORSPACEA;
		PtrLOGCOLORSPACE* = PtrLOGCOLORSPACEA;
		BITMAPCOREHEADER* = RECORD [untagged]
			bcSize*: INTEGER;
			bcWidth*: SHORTINT;
			bcHeight*: SHORTINT;
			bcPlanes*: SHORTINT;
			bcBitCount*: SHORTINT;
		END;
		PtrBITMAPCOREHEADER* = POINTER TO BITMAPCOREHEADER;
		BITMAPINFOHEADER* = RECORD [untagged]
			biSize*: INTEGER;
			biWidth*: INTEGER;
			biHeight*: INTEGER;
			biPlanes*: SHORTINT;
			biBitCount*: SHORTINT;
			biCompression*: INTEGER;
			biSizeImage*: INTEGER;
			biXPelsPerMeter*: INTEGER;
			biYPelsPerMeter*: INTEGER;
			biClrUsed*: INTEGER;
			biClrImportant*: INTEGER;
		END;
		PtrBITMAPINFOHEADER* = POINTER TO BITMAPINFOHEADER;
		BITMAPV4HEADER* = RECORD [untagged]
			bV4Size*: INTEGER;
			bV4Width*: INTEGER;
			bV4Height*: INTEGER;
			bV4Planes*: SHORTINT;
			bV4BitCount*: SHORTINT;
			bV4V4Compression*: INTEGER;
			bV4SizeImage*: INTEGER;
			bV4XPelsPerMeter*: INTEGER;
			bV4YPelsPerMeter*: INTEGER;
			bV4ClrUsed*: INTEGER;
			bV4ClrImportant*: INTEGER;
			bV4RedMask*: INTEGER;
			bV4GreenMask*: INTEGER;
			bV4BlueMask*: INTEGER;
			bV4AlphaMask*: INTEGER;
			bV4CSType*: INTEGER;
			bV4Endpoints*: CIEXYZTRIPLE;
			bV4GammaRed*: INTEGER;
			bV4GammaGreen*: INTEGER;
			bV4GammaBlue*: INTEGER;
		END;
		PtrBITMAPV4HEADER* = POINTER TO BITMAPV4HEADER;
		BITMAPINFO* = RECORD [untagged]
			bmiHeader*: BITMAPINFOHEADER;
			bmiColors*: ARRAY [untagged] 1 OF RGBQUAD;
		END;
		PtrBITMAPINFO* = POINTER TO BITMAPINFO;
		BITMAPCOREINFO* = RECORD [untagged]
			bmciHeader*: BITMAPCOREHEADER;
			bmciColors*: ARRAY [untagged] 1 OF RGBTRIPLE;
		END;
		PtrBITMAPCOREINFO* = POINTER TO BITMAPCOREINFO;
		BITMAPFILEHEADER* = RECORD [align2]
			bfType*: SHORTINT;
			bfSize*: INTEGER;
			bfReserved1*: SHORTINT;
			bfReserved2*: SHORTINT;
			bfOffBits*: INTEGER;
		END;
		PtrBITMAPFILEHEADER* = POINTER TO BITMAPFILEHEADER;
		FONTSIGNATURE* = RECORD [untagged]
			fsUsb*: ARRAY [untagged] 4 OF INTEGER;
			fsCsb*: ARRAY [untagged] 2 OF INTEGER;
		END;
		PtrFONTSIGNATURE* = POINTER TO FONTSIGNATURE;
		CHARSETINFO* = RECORD [untagged]
			ciCharset*: INTEGER;
			ciACP*: INTEGER;
			fs*: FONTSIGNATURE;
		END;
		PtrCHARSETINFO* = POINTER TO CHARSETINFO;
		LOCALESIGNATURE* = RECORD [untagged]
			lsUsb*: ARRAY [untagged] 4 OF INTEGER;
			lsCsbDefault*: ARRAY [untagged] 2 OF INTEGER;
			lsCsbSupported*: ARRAY [untagged] 2 OF INTEGER;
		END;
		PtrLOCALESIGNATURE* = POINTER TO LOCALESIGNATURE;
		HANDLETABLE* = RECORD [untagged]
			objectHandle*: ARRAY [untagged] 1 OF HGDIOBJ;
		END;
		PtrHANDLETABLE* = POINTER TO HANDLETABLE;
		METARECORD* = RECORD [untagged]
			rdSize*: INTEGER;
			rdFunction*: SHORTINT;
			rdParm*: ARRAY [untagged] 1 OF SHORTINT;
		END;
		PtrMETARECORD* = POINTER TO METARECORD;
		METAFILEPICT* = RECORD [untagged]
			mm*: INTEGER;
			xExt*: INTEGER;
			yExt*: INTEGER;
			hMF*: HMETAFILE;
		END;
		PtrMETAFILEPICT* = POINTER TO METAFILEPICT;
		METAHEADER* = RECORD [align2]
			mtType*: SHORTINT;
			mtHeaderSize*: SHORTINT;
			mtVersion*: SHORTINT;
			mtSize*: INTEGER;
			mtNoObjects*: SHORTINT;
			mtMaxRecord*: INTEGER;
			mtNoParameters*: SHORTINT;
		END;
		PtrMETAHEADER* = POINTER TO METAHEADER;
		ENHMETARECORD* = RECORD [untagged]
			iType*: INTEGER;
			nSize*: INTEGER;
			dParm*: ARRAY [untagged] 1 OF INTEGER;
		END;
		PtrENHMETARECORD* = POINTER TO ENHMETARECORD;
		ENHMETAHEADER* = RECORD [untagged]
			iType*: INTEGER;
			nSize*: INTEGER;
			rclBounds*: RECT;
			rclFrame*: RECT;
			dSignature*: INTEGER;
			nVersion*: INTEGER;
			nBytes*: INTEGER;
			nRecords*: INTEGER;
			nHandles*: SHORTINT;
			sReserved*: SHORTINT;
			nDescription*: INTEGER;
			offDescription*: INTEGER;
			nPalEntries*: INTEGER;
			szlDevice*: SIZE;
			szlMillimeters*: SIZE;
			cbPixelFormat*: INTEGER;
			offPixelFormat*: INTEGER;
			bOpenGL*: INTEGER;
		END;
		PtrENHMETAHEADER* = POINTER TO ENHMETAHEADER;
		BCHAR* = SHORTCHAR;
		TEXTMETRICA* = RECORD [untagged]
			tmHeight*: INTEGER;
			tmAscent*: INTEGER;
			tmDescent*: INTEGER;
			tmInternalLeading*: INTEGER;
			tmExternalLeading*: INTEGER;
			tmAveCharWidth*: INTEGER;
			tmMaxCharWidth*: INTEGER;
			tmWeight*: INTEGER;
			tmOverhang*: INTEGER;
			tmDigitizedAspectX*: INTEGER;
			tmDigitizedAspectY*: INTEGER;
			tmFirstChar*: SHORTCHAR;
			tmLastChar*: SHORTCHAR;
			tmDefaultChar*: SHORTCHAR;
			tmBreakChar*: SHORTCHAR;
			tmItalic*: SHORTCHAR;
			tmUnderlined*: SHORTCHAR;
			tmStruckOut*: SHORTCHAR;
			tmPitchAndFamily*: SHORTCHAR;
			tmCharSet*: SHORTCHAR;
		END;
		PtrTEXTMETRICA* = POINTER TO TEXTMETRICA;
		TEXTMETRICW* = RECORD [untagged]
			tmHeight*: INTEGER;
			tmAscent*: INTEGER;
			tmDescent*: INTEGER;
			tmInternalLeading*: INTEGER;
			tmExternalLeading*: INTEGER;
			tmAveCharWidth*: INTEGER;
			tmMaxCharWidth*: INTEGER;
			tmWeight*: INTEGER;
			tmOverhang*: INTEGER;
			tmDigitizedAspectX*: INTEGER;
			tmDigitizedAspectY*: INTEGER;
			tmFirstChar*: CHAR;
			tmLastChar*: CHAR;
			tmDefaultChar*: CHAR;
			tmBreakChar*: CHAR;
			tmItalic*: SHORTCHAR;
			tmUnderlined*: SHORTCHAR;
			tmStruckOut*: SHORTCHAR;
			tmPitchAndFamily*: SHORTCHAR;
			tmCharSet*: SHORTCHAR;
		END;
		PtrTEXTMETRICW* = POINTER TO TEXTMETRICW;
		TEXTMETRIC* = TEXTMETRICA;
		PtrTEXTMETRIC* = PtrTEXTMETRICA;
		NEWTEXTMETRICA* = RECORD [untagged]
			tmHeight*: INTEGER;
			tmAscent*: INTEGER;
			tmDescent*: INTEGER;
			tmInternalLeading*: INTEGER;
			tmExternalLeading*: INTEGER;
			tmAveCharWidth*: INTEGER;
			tmMaxCharWidth*: INTEGER;
			tmWeight*: INTEGER;
			tmOverhang*: INTEGER;
			tmDigitizedAspectX*: INTEGER;
			tmDigitizedAspectY*: INTEGER;
			tmFirstChar*: SHORTCHAR;
			tmLastChar*: SHORTCHAR;
			tmDefaultChar*: SHORTCHAR;
			tmBreakChar*: SHORTCHAR;
			tmItalic*: SHORTCHAR;
			tmUnderlined*: SHORTCHAR;
			tmStruckOut*: SHORTCHAR;
			tmPitchAndFamily*: SHORTCHAR;
			tmCharSet*: SHORTCHAR;
			ntmFlags*: INTEGER;
			ntmSizeEM*: INTEGER;
			ntmCellHeight*: INTEGER;
			ntmAvgWidth*: INTEGER;
		END;
		PtrNEWTEXTMETRICA* = POINTER TO NEWTEXTMETRICA;
		NEWTEXTMETRICW* = RECORD [untagged]
			tmHeight*: INTEGER;
			tmAscent*: INTEGER;
			tmDescent*: INTEGER;
			tmInternalLeading*: INTEGER;
			tmExternalLeading*: INTEGER;
			tmAveCharWidth*: INTEGER;
			tmMaxCharWidth*: INTEGER;
			tmWeight*: INTEGER;
			tmOverhang*: INTEGER;
			tmDigitizedAspectX*: INTEGER;
			tmDigitizedAspectY*: INTEGER;
			tmFirstChar*: CHAR;
			tmLastChar*: CHAR;
			tmDefaultChar*: CHAR;
			tmBreakChar*: CHAR;
			tmItalic*: SHORTCHAR;
			tmUnderlined*: SHORTCHAR;
			tmStruckOut*: SHORTCHAR;
			tmPitchAndFamily*: SHORTCHAR;
			tmCharSet*: SHORTCHAR;
			ntmFlags*: INTEGER;
			ntmSizeEM*: INTEGER;
			ntmCellHeight*: INTEGER;
			ntmAvgWidth*: INTEGER;
		END;
		PtrNEWTEXTMETRICW* = POINTER TO NEWTEXTMETRICW;
		NEWTEXTMETRIC* = NEWTEXTMETRICA;
		PtrNEWTEXTMETRIC* = PtrNEWTEXTMETRICA;
		NEWTEXTMETRICEXA* = RECORD [untagged]
			ntmTm*: NEWTEXTMETRICA;
			ntmFontSig*: FONTSIGNATURE;
		END;
		NEWTEXTMETRICEXW* = RECORD [untagged]
			ntmTm*: NEWTEXTMETRICW;
			ntmFontSig*: FONTSIGNATURE;
		END;
		NEWTEXTMETRICEX* = NEWTEXTMETRICEXA;
		PELARRAY* = RECORD [untagged]
			paXCount*: INTEGER;
			paYCount*: INTEGER;
			paXExt*: INTEGER;
			paYExt*: INTEGER;
			paRGBs*: SHORTCHAR;
		END;
		PtrPELARRAY* = POINTER TO PELARRAY;
		LOGBRUSH* = RECORD [untagged]
			lbStyle*: INTEGER;
			lbColor*: COLORREF;
			lbHatch*: INTEGER;
		END;
		PtrLOGBRUSH* = POINTER TO LOGBRUSH;
		PATTERN* = LOGBRUSH;
		PtrPATTERN* = PtrLOGBRUSH;
		LOGPEN* = RECORD [untagged]
			lopnStyle*: INTEGER;
			lopnWidth*: POINT;
			lopnColor*: COLORREF;
		END;
		PtrLOGPEN* = POINTER TO LOGPEN;
		EXTLOGPEN* = RECORD [untagged]
			elpPenStyle*: INTEGER;
			elpWidth*: INTEGER;
			elpBrushStyle*: INTEGER;
			elpColor*: COLORREF;
			elpHatch*: INTEGER;
			elpNumEntries*: INTEGER;
			elpStyleEntry*: ARRAY [untagged] 1 OF INTEGER;
		END;
		PtrEXTLOGPEN* = POINTER TO EXTLOGPEN;
		PALETTEENTRY* = RECORD [untagged]
			peRed*: SHORTCHAR;
			peGreen*: SHORTCHAR;
			peBlue*: SHORTCHAR;
			peFlags*: SHORTCHAR;
		END;
		PtrPALETTEENTRY* = POINTER TO PALETTEENTRY;
		LOGPALETTE* = RECORD [untagged]
			palVersion*: SHORTINT;
			palNumEntries*: SHORTINT;
			palPalEntry*: ARRAY [untagged] 1 OF PALETTEENTRY;
		END;
		PtrLOGPALETTE* = POINTER TO LOGPALETTE;
		LOGFONTA* = RECORD [untagged]
			lfHeight*: INTEGER;
			lfWidth*: INTEGER;
			lfEscapement*: INTEGER;
			lfOrientation*: INTEGER;
			lfWeight*: INTEGER;
			lfItalic*: SHORTCHAR;
			lfUnderline*: SHORTCHAR;
			lfStrikeOut*: SHORTCHAR;
			lfCharSet*: SHORTCHAR;
			lfOutPrecision*: SHORTCHAR;
			lfClipPrecision*: SHORTCHAR;
			lfQuality*: SHORTCHAR;
			lfPitchAndFamily*: SHORTCHAR;
			lfFaceName*: ARRAY [untagged] 32 OF SHORTCHAR;
		END;
		PtrLOGFONTA* = POINTER TO LOGFONTA;
		LOGFONTW* = RECORD [untagged]
			lfHeight*: INTEGER;
			lfWidth*: INTEGER;
			lfEscapement*: INTEGER;
			lfOrientation*: INTEGER;
			lfWeight*: INTEGER;
			lfItalic*: SHORTCHAR;
			lfUnderline*: SHORTCHAR;
			lfStrikeOut*: SHORTCHAR;
			lfCharSet*: SHORTCHAR;
			lfOutPrecision*: SHORTCHAR;
			lfClipPrecision*: SHORTCHAR;
			lfQuality*: SHORTCHAR;
			lfPitchAndFamily*: SHORTCHAR;
			lfFaceName*: ARRAY [untagged] 32 OF CHAR;
		END;
		PtrLOGFONTW* = POINTER TO LOGFONTW;
		LOGFONT* = LOGFONTA;
		PtrLOGFONT* = PtrLOGFONTA;
		ENUMLOGFONTA* = RECORD [untagged]
			elfLogFont*: LOGFONTA;
			elfFullName*: ARRAY [untagged] 64 OF SHORTCHAR;
			elfStyle*: ARRAY [untagged] 32 OF SHORTCHAR;
		END;
		PtrENUMLOGFONTA* = POINTER TO ENUMLOGFONTA;
		ENUMLOGFONTW* = RECORD [untagged]
			elfLogFont*: LOGFONTW;
			elfFullName*: ARRAY [untagged] 64 OF CHAR;
			elfStyle*: ARRAY [untagged] 32 OF CHAR;
		END;
		PtrENUMLOGFONTW* = POINTER TO ENUMLOGFONTW;
		ENUMLOGFONT* = ENUMLOGFONTA;
		PtrENUMLOGFONT* = PtrENUMLOGFONTA;
		ENUMLOGFONTEXA* = RECORD [untagged]
			elfLogFont*: LOGFONTA;
			elfFullName*: ARRAY [untagged] 64 OF SHORTCHAR;
			elfStyle*: ARRAY [untagged] 32 OF SHORTCHAR;
			elfScript*: ARRAY [untagged] 32 OF SHORTCHAR;
		END;
		PtrENUMLOGFONTEXA* = POINTER TO ENUMLOGFONTEXA;
		ENUMLOGFONTEXW* = RECORD [untagged]
			elfLogFont*: LOGFONTW;
			elfFullName*: ARRAY [untagged] 64 OF CHAR;
			elfStyle*: ARRAY [untagged] 32 OF CHAR;
			elfScript*: ARRAY [untagged] 32 OF CHAR;
		END;
		PtrENUMLOGFONTEXW* = POINTER TO ENUMLOGFONTEXW;
		ENUMLOGFONTEX* = ENUMLOGFONTEXA;
		PtrENUMLOGFONTEX* = PtrENUMLOGFONTEXA;
		PANOSE* = RECORD [untagged]
			bFamilyType*: SHORTCHAR;
			bSerifStyle*: SHORTCHAR;
			bWeight*: SHORTCHAR;
			bProportion*: SHORTCHAR;
			bContrast*: SHORTCHAR;
			bStrokeVariation*: SHORTCHAR;
			bArmStyle*: SHORTCHAR;
			bLetterform*: SHORTCHAR;
			bMidline*: SHORTCHAR;
			bXHeight*: SHORTCHAR;
		END;
		PtrPANOSE* = POINTER TO PANOSE;
		EXTLOGFONTA* = RECORD [untagged]
			elfLogFont*: LOGFONTA;
			elfFullName*: ARRAY [untagged] 64 OF SHORTCHAR;
			elfStyle*: ARRAY [untagged] 32 OF SHORTCHAR;
			elfVersion*: INTEGER;
			elfStyleSize*: INTEGER;
			elfMatch*: INTEGER;
			elfReserved*: INTEGER;
			elfVendorId*: ARRAY [untagged] 4 OF SHORTCHAR;
			elfCulture*: INTEGER;
			elfPanose*: PANOSE;
		END;
		PtrEXTLOGFONTA* = POINTER TO EXTLOGFONTA;
		EXTLOGFONTW* = RECORD [untagged]
			elfLogFont*: LOGFONTW;
			elfFullName*: ARRAY [untagged] 64 OF CHAR;
			elfStyle*: ARRAY [untagged] 32 OF CHAR;
			elfVersion*: INTEGER;
			elfStyleSize*: INTEGER;
			elfMatch*: INTEGER;
			elfReserved*: INTEGER;
			elfVendorId*: ARRAY [untagged] 4 OF SHORTCHAR;
			elfCulture*: INTEGER;
			elfPanose*: PANOSE;
		END;
		PtrEXTLOGFONTW* = POINTER TO EXTLOGFONTW;
		EXTLOGFONT* = EXTLOGFONTA;
		PtrEXTLOGFONT* = PtrEXTLOGFONTA;
		DEVMODEA* = RECORD [untagged]
			dmDeviceName*: ARRAY [untagged] 32 OF SHORTCHAR;
			dmSpecVersion*: SHORTINT;
			dmDriverVersion*: SHORTINT;
			dmSize*: SHORTINT;
			dmDriverExtra*: SHORTINT;
			dmFields*: SET;
			dmOrientation*: SHORTINT;
			dmPaperSize*: SHORTINT;
			dmPaperLength*: SHORTINT;
			dmPaperWidth*: SHORTINT;
			dmScale*: SHORTINT;
			dmCopies*: SHORTINT;
			dmDefaultSource*: SHORTINT;
			dmPrintQuality*: SHORTINT;
			dmColor*: SHORTINT;
			dmDuplex*: SHORTINT;
			dmYResolution*: SHORTINT;
			dmTTOption*: SHORTINT;
			dmCollate*: SHORTINT;
			dmFormName*: ARRAY [untagged] 32 OF SHORTCHAR;
			dmLogPixels*: SHORTINT;
			dmBitsPerPel*: INTEGER;
			dmPelsWidth*: INTEGER;
			dmPelsHeight*: INTEGER;
			dmDisplayFlags*: SET;
			dmDisplayFrequency*: INTEGER;
			dmICMMethod*: INTEGER;
			dmICMIntent*: INTEGER;
			dmMediaType*: INTEGER;
			dmDitherType*: INTEGER;
			dmICCManufacturer*: INTEGER;
			dmICCModel*: INTEGER;
			dmPanningWidth*: INTEGER;
			dmPanningHeight*: INTEGER;
		END;
		PtrDEVMODEA* = POINTER TO DEVMODEA;
		DEVMODEW* = RECORD [untagged]
			dmDeviceName*: ARRAY [untagged] 32 OF CHAR;
			dmSpecVersion*: SHORTINT;
			dmDriverVersion*: SHORTINT;
			dmSize*: SHORTINT;
			dmDriverExtra*: SHORTINT;
			dmFields*: SET;
			dmOrientation*: SHORTINT;
			dmPaperSize*: SHORTINT;
			dmPaperLength*: SHORTINT;
			dmPaperWidth*: SHORTINT;
			dmScale*: SHORTINT;
			dmCopies*: SHORTINT;
			dmDefaultSource*: SHORTINT;
			dmPrintQuality*: SHORTINT;
			dmColor*: SHORTINT;
			dmDuplex*: SHORTINT;
			dmYResolution*: SHORTINT;
			dmTTOption*: SHORTINT;
			dmCollate*: SHORTINT;
			dmFormName*: ARRAY [untagged] 32 OF CHAR;
			dmLogPixels*: SHORTINT;
			dmBitsPerPel*: INTEGER;
			dmPelsWidth*: INTEGER;
			dmPelsHeight*: INTEGER;
			dmDisplayFlags*: SET;
			dmDisplayFrequency*: INTEGER;
			dmICMMethod*: INTEGER;
			dmICMIntent*: INTEGER;
			dmMediaType*: INTEGER;
			dmDitherType*: INTEGER;
			dmICCManufacturer*: INTEGER;
			dmICCModel*: INTEGER;
			dmPanningWidth*: INTEGER;
			dmPanningHeight*: INTEGER;
		END;
		PtrDEVMODEW* = POINTER TO DEVMODEW;
		DEVMODE* = DEVMODEA;
		PtrDEVMODE* = PtrDEVMODEA;
		RGNDATAHEADER* = RECORD [untagged]
			dwSize*: INTEGER;
			iType*: INTEGER;
			nCount*: INTEGER;
			nRgnSize*: INTEGER;
			rcBound*: RECT;
		END;
		PtrRGNDATAHEADER* = POINTER TO RGNDATAHEADER;
		RGNDATA* = RECORD [untagged]
			rdh*: RGNDATAHEADER;
			Buffer*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrRGNDATA* = POINTER TO RGNDATA;
		ABC* = RECORD [untagged]
			abcA*: INTEGER;
			abcB*: INTEGER;
			abcC*: INTEGER;
		END;
		PtrABC* = POINTER TO ABC;
		ABCFLOAT* = RECORD [untagged]
			abcfA*: SHORTREAL;
			abcfB*: SHORTREAL;
			abcfC*: SHORTREAL;
		END;
		PtrABCFLOAT* = POINTER TO ABCFLOAT;
		OUTLINETEXTMETRICA* = RECORD [untagged]
			otmSize*: INTEGER;
			otmTextMetrics*: TEXTMETRICA;
			otmFiller*: SHORTCHAR;
			otmPanoseNumber*: PANOSE;
			otmfsSelection*: INTEGER;
			otmfsType*: INTEGER;
			otmsCharSlopeRise*: INTEGER;
			otmsCharSlopeRun*: INTEGER;
			otmItalicAngle*: INTEGER;
			otmEMSquare*: INTEGER;
			otmAscent*: INTEGER;
			otmDescent*: INTEGER;
			otmLineGap*: INTEGER;
			otmsCapEmHeight*: INTEGER;
			otmsXHeight*: INTEGER;
			otmrcFontBox*: RECT;
			otmMacAscent*: INTEGER;
			otmMacDescent*: INTEGER;
			otmMacLineGap*: INTEGER;
			otmusMinimumPPEM*: INTEGER;
			otmptSubscriptSize*: POINT;
			otmptSubscriptOffset*: POINT;
			otmptSuperscriptSize*: POINT;
			otmptSuperscriptOffset*: POINT;
			otmsStrikeoutSize*: INTEGER;
			otmsStrikeoutPosition*: INTEGER;
			otmsUnderscoreSize*: INTEGER;
			otmsUnderscorePosition*: INTEGER;
			otmpFamilyName*: PtrSTR;
			otmpFaceName*: PtrSTR;
			otmpStyleName*: PtrSTR;
			otmpFullName*: PtrSTR;
		END;
		PtrOUTLINETEXTMETRICA* = POINTER TO OUTLINETEXTMETRICA;
		OUTLINETEXTMETRICW* = RECORD [untagged]
			otmSize*: INTEGER;
			otmTextMetrics*: TEXTMETRICW;
			otmFiller*: SHORTCHAR;
			otmPanoseNumber*: PANOSE;
			otmfsSelection*: INTEGER;
			otmfsType*: INTEGER;
			otmsCharSlopeRise*: INTEGER;
			otmsCharSlopeRun*: INTEGER;
			otmItalicAngle*: INTEGER;
			otmEMSquare*: INTEGER;
			otmAscent*: INTEGER;
			otmDescent*: INTEGER;
			otmLineGap*: INTEGER;
			otmsCapEmHeight*: INTEGER;
			otmsXHeight*: INTEGER;
			otmrcFontBox*: RECT;
			otmMacAscent*: INTEGER;
			otmMacDescent*: INTEGER;
			otmMacLineGap*: INTEGER;
			otmusMinimumPPEM*: INTEGER;
			otmptSubscriptSize*: POINT;
			otmptSubscriptOffset*: POINT;
			otmptSuperscriptSize*: POINT;
			otmptSuperscriptOffset*: POINT;
			otmsStrikeoutSize*: INTEGER;
			otmsStrikeoutPosition*: INTEGER;
			otmsUnderscoreSize*: INTEGER;
			otmsUnderscorePosition*: INTEGER;
			otmpFamilyName*: PtrSTR;
			otmpFaceName*: PtrSTR;
			otmpStyleName*: PtrSTR;
			otmpFullName*: PtrSTR;
		END;
		PtrOUTLINETEXTMETRICW* = POINTER TO OUTLINETEXTMETRICW;
		OUTLINETEXTMETRIC* = OUTLINETEXTMETRICA;
		PtrOUTLINETEXTMETRIC* = PtrOUTLINETEXTMETRICA;
		POLYTEXTA* = RECORD [untagged]
			x*: INTEGER;
			y*: INTEGER;
			n*: INTEGER;
			lpstr*: PtrSTR;
			uiFlags*: SET;
			rcl*: RECT;
			pdx*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
		END;
		PtrPOLYTEXTA* = POINTER TO POLYTEXTA;
		POLYTEXTW* = RECORD [untagged]
			x*: INTEGER;
			y*: INTEGER;
			n*: INTEGER;
			lpstr*: PtrWSTR;
			uiFlags*: SET;
			rcl*: RECT;
			pdx*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
		END;
		PtrPOLYTEXTW* = POINTER TO POLYTEXTW;
		POLYTEXT* = POLYTEXTA;
		PtrPOLYTEXT* = PtrPOLYTEXTA;
		FIXED* = RECORD [untagged]
			fract*: SHORTINT;
			value*: SHORTINT;
		END;
		MAT2* = RECORD [untagged]
			eM11*: FIXED;
			eM12*: FIXED;
			eM21*: FIXED;
			eM22*: FIXED;
		END;
		PtrMAT2* = POINTER TO MAT2;
		GLYPHMETRICS* = RECORD [untagged]
			gmBlackBoxX*: INTEGER;
			gmBlackBoxY*: INTEGER;
			gmptGlyphOrigin*: POINT;
			gmCellIncX*: SHORTINT;
			gmCellIncY*: SHORTINT;
		END;
		PtrGLYPHMETRICS* = POINTER TO GLYPHMETRICS;
		POINTFX* = RECORD [untagged]
			x*: FIXED;
			y*: FIXED;
		END;
		PtrPOINTFX* = POINTER TO POINTFX;
		TTPOLYCURVE* = RECORD [untagged]
			wType*: SHORTINT;
			cpfx*: SHORTINT;
			apfx*: ARRAY [untagged] 1 OF POINTFX;
		END;
		PtrTTPOLYCURVE* = POINTER TO TTPOLYCURVE;
		TTPOLYGONHEADER* = RECORD [untagged]
			cb*: INTEGER;
			dwType*: INTEGER;
			pfxStart*: POINTFX;
		END;
		PtrTTPOLYGONHEADER* = POINTER TO TTPOLYGONHEADER;
		GCP_RESULTSA* = RECORD [untagged]
			lStructSize*: INTEGER;
			lpOutString*: PtrSTR;
			lpOrder*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			lpDx*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			lpCaretPos*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			lpClass*: PtrSTR;
			lpGlyphs*: PtrWSTR;
			nGlyphs*: INTEGER;
			nMaxFit*: INTEGER;
		END;
		PtrGCP_RESULTSA* = POINTER TO GCP_RESULTSA;
		GCP_RESULTSW* = RECORD [untagged]
			lStructSize*: INTEGER;
			lpOutString*: PtrWSTR;
			lpOrder*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			lpDx*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			lpCaretPos*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
			lpClass*: PtrSTR;
			lpGlyphs*: PtrWSTR;
			nGlyphs*: INTEGER;
			nMaxFit*: INTEGER;
		END;
		PtrGCP_RESULTSW* = POINTER TO GCP_RESULTSW;
		GCP_RESULTS* = GCP_RESULTSA;
		PtrGCP_RESULTS* = PtrGCP_RESULTSA;
		RASTERIZER_STATUS* = RECORD [untagged]
			nSize*: SHORTINT;
			wFlags*: SHORTINT;
			nLanguageID*: SHORTINT;
		END;
		PtrRASTERIZER_STATUS* = POINTER TO RASTERIZER_STATUS;
		PIXELFORMATDESCRIPTOR* = RECORD [untagged]
			nSize*: SHORTINT;
			nVersion*: SHORTINT;
			dwFlags*: SET;
			iPixelType*: SHORTCHAR;
			cColorBits*: SHORTCHAR;
			cRedBits*: SHORTCHAR;
			cRedShift*: SHORTCHAR;
			cGreenBits*: SHORTCHAR;
			cGreenShift*: SHORTCHAR;
			cBlueBits*: SHORTCHAR;
			cBlueShift*: SHORTCHAR;
			cAlphaBits*: SHORTCHAR;
			cAlphaShift*: SHORTCHAR;
			cAccumBits*: SHORTCHAR;
			cAccumRedBits*: SHORTCHAR;
			cAccumGreenBits*: SHORTCHAR;
			cAccumBlueBits*: SHORTCHAR;
			cAccumAlphaBits*: SHORTCHAR;
			cDepthBits*: SHORTCHAR;
			cStencilBits*: SHORTCHAR;
			cAuxBuffers*: SHORTCHAR;
			iLayerType*: SHORTCHAR;
			bReserved*: SHORTCHAR;
			dwLayerMask*: SET;
			dwVisibleMask*: SET;
			dwDamageMask*: SET;
		END;
		PtrPIXELFORMATDESCRIPTOR* = POINTER TO PIXELFORMATDESCRIPTOR;
		OLDFONTENUMPROC* = PROCEDURE (): INTEGER;
		FONTENUMPROCA* = PROCEDURE (VAR [nil] lplf: LOGFONTA; VAR [nil] lptm:TEXTMETRICA; dwType, lParam: INTEGER): INTEGER;
		FONTENUMPROCW* = PROCEDURE (VAR [nil] lplf: LOGFONTW; VAR [nil] lptm:TEXTMETRICW; dwType, lParam: INTEGER): INTEGER;
		FONTENUMPROC* = PROCEDURE (VAR [nil] lplf: LOGFONTA; VAR [nil] lptm:TEXTMETRICA; dwType, lParam: INTEGER): INTEGER;
		FONTENUMPROCEXA* = PROCEDURE (VAR [nil] lpelf: ENUMLOGFONTEXA; VAR [nil] lpntm: NEWTEXTMETRICEXA; FontType, lParam: INTEGER): INTEGER;
		FONTENUMPROCEXW* = PROCEDURE (VAR [nil] lpelf: ENUMLOGFONTEXW; VAR [nil] lpntm: NEWTEXTMETRICEXW; FontType, lParam: INTEGER): INTEGER;
		FONTENUMPROCEX* = PROCEDURE (VAR [nil] lpelf: ENUMLOGFONTEXA; VAR [nil] lpntm: NEWTEXTMETRICEXA; FontType, lParam: INTEGER): INTEGER;
		NEWFONTENUMPROCA* = PROCEDURE (VAR [nil] lpelf: ENUMLOGFONTA; VAR [nil] lpntm: NEWTEXTMETRICA; FontType, lParam: INTEGER): INTEGER;
		NEWFONTENUMPROCW* = PROCEDURE (VAR [nil] lpelf: ENUMLOGFONTW; VAR [nil] lpntm: NEWTEXTMETRICW; FontType, lParam: INTEGER): INTEGER;
		NEWFONTENUMPROC* = PROCEDURE (VAR [nil] lpelf: ENUMLOGFONTA; VAR [nil] lpntm: NEWTEXTMETRICA; FontType, lParam: INTEGER): INTEGER;
		GOBJENUMPROC* = PROCEDURE (): INTEGER;
		LINEDDAPROC* = PROCEDURE (): INTEGER;
		FNDEVMODE* = PROCEDURE (p0: HWND; p1: HMODULE; VAR [nil] p2: DEVMODEA; p3: PtrSTR; p4: PtrSTR; VAR [nil] p5: DEVMODEA; p6: PtrSTR; p7: INTEGER): INTEGER;
		FNDEVCAPS* = PROCEDURE (p0: PtrSTR; p1: PtrSTR; p2: INTEGER; p3: PtrSTR; VAR [nil] p4: DEVMODEA): INTEGER;
		MFENUMPROC* = PROCEDURE (p0: HDC; VAR [nil] p1: HANDLETABLE; VAR [nil] p2: METARECORD; p3: INTEGER; p4: LPARAM): INTEGER;
		ENHMFENUMPROC* = PROCEDURE (p0: HDC; VAR [nil] p1: HANDLETABLE; VAR [nil] p2: ENHMETARECORD; p3: INTEGER; p4: LPARAM): INTEGER;
		DIBSECTION* = RECORD [untagged]
			dsBm*: BITMAP;
			dsBmih*: BITMAPINFOHEADER;
			dsBitfields*: ARRAY [untagged] 3 OF INTEGER;
			dshSection*: HANDLE;
			dsOffset*: INTEGER;
		END;
		PtrDIBSECTION* = POINTER TO DIBSECTION;
		COLORADJUSTMENT* = RECORD [untagged]
			caSize*: SHORTINT;
			caFlags*: SHORTINT;
			caIlluminantIndex*: SHORTINT;
			caRedGamma*: SHORTINT;
			caGreenGamma*: SHORTINT;
			caBlueGamma*: SHORTINT;
			caReferenceBlack*: SHORTINT;
			caReferenceWhite*: SHORTINT;
			caContrast*: SHORTINT;
			caBrightness*: SHORTINT;
			caColorfulness*: SHORTINT;
			caRedGreenTint*: SHORTINT;
		END;
		PtrCOLORADJUSTMENT* = POINTER TO COLORADJUSTMENT;
		ABORTPROC* = PROCEDURE (hdc: HDC; iError: INTEGER): INTEGER;
		DOCINFOA* = RECORD [untagged]
			cbSize*: INTEGER;
			lpszDocName*: PtrSTR;
			lpszOutput*: PtrSTR;
			lpszDatatype*: PtrSTR;
			fwType*: INTEGER;
		END;
		PtrDOCINFOA* = POINTER TO DOCINFOA;
		DOCINFOW* = RECORD [untagged]
			cbSize*: INTEGER;
			lpszDocName*: PtrWSTR;
			lpszOutput*: PtrWSTR;
			lpszDatatype*: PtrWSTR;
			fwType*: INTEGER;
		END;
		PtrDOCINFOW* = POINTER TO DOCINFOW;
		DOCINFO* = DOCINFOA;
		PtrDOCINFO* = PtrDOCINFOA;
		KERNINGPAIR* = RECORD [untagged]
			wFirst*: SHORTINT;
			wSecond*: SHORTINT;
			iKernAmount*: INTEGER;
		END;
		PtrKERNINGPAIR* = POINTER TO KERNINGPAIR;
		ICMENUMPROCA* = PROCEDURE (p0: PtrSTR; p1: LPARAM): INTEGER;
		ICMENUMPROCW* = PROCEDURE (p0: PtrWSTR; p1: LPARAM): INTEGER;
		EMR* = RECORD [untagged]
			iType*: INTEGER;
			nSize*: INTEGER;
		END;
		PtrEMR* = POINTER TO EMR;
		EMRTEXT* = RECORD [untagged]
			ptlReference*: POINT;
			nChars*: INTEGER;
			offString*: INTEGER;
			fOptions*: INTEGER;
			rcl*: RECT;
			offDx*: INTEGER;
		END;
		PtrEMRTEXT* = POINTER TO EMRTEXT;
		EMRABORTPATH* = RECORD [untagged]
			emr*: EMR;
		END;
		PtrEMRABORTPATH* = POINTER TO EMRABORTPATH;
		EMRBEGINPATH* = EMRABORTPATH;
		PtrEMRBEGINPATH* = PtrEMRABORTPATH;
		EMRENDPATH* = EMRABORTPATH;
		PtrEMRENDPATH* = PtrEMRABORTPATH;
		EMRCLOSEFIGURE* = EMRABORTPATH;
		PtrEMRCLOSEFIGURE* = PtrEMRABORTPATH;
		EMRFLATTENPATH* = EMRABORTPATH;
		PtrEMRFLATTENPATH* = PtrEMRABORTPATH;
		EMRWIDENPATH* = EMRABORTPATH;
		PtrEMRWIDENPATH* = PtrEMRABORTPATH;
		EMRSETMETARGN* = EMRABORTPATH;
		PtrEMRSETMETARGN* = PtrEMRABORTPATH;
		EMRSAVEDC* = EMRABORTPATH;
		PtrEMRSAVEDC* = PtrEMRABORTPATH;
		EMRREALIZEPALETTE* = EMRABORTPATH;
		PtrEMRREALIZEPALETTE* = PtrEMRABORTPATH;
		EMRSELECTCLIPPATH* = RECORD [untagged]
			emr*: EMR;
			iMode*: INTEGER;
		END;
		PtrEMRSELECTCLIPPATH* = POINTER TO EMRSELECTCLIPPATH;
		EMRSETBKMODE* = EMRSELECTCLIPPATH;
		PtrEMRSETBKMODE* = PtrEMRSELECTCLIPPATH;
		EMRSETMAPMODE* = EMRSELECTCLIPPATH;
		PtrEMRSETMAPMODE* = PtrEMRSELECTCLIPPATH;
		EMRSETPOLYFILLMODE* = EMRSELECTCLIPPATH;
		PtrEMRSETPOLYFILLMODE* = PtrEMRSELECTCLIPPATH;
		EMRSETROP2* = EMRSELECTCLIPPATH;
		PtrEMRSETROP2* = PtrEMRSELECTCLIPPATH;
		EMRSETSTRETCHBLTMODE* = EMRSELECTCLIPPATH;
		PtrEMRSETSTRETCHBLTMODE* = PtrEMRSELECTCLIPPATH;
		EMRSETICMMODE* = EMRSELECTCLIPPATH;
		PtrEMRSETICMMODE* = PtrEMRSELECTCLIPPATH;
		EMRSETTEXTALIGN* = EMRSELECTCLIPPATH;
		PtrEMRSETTEXTALIGN* = PtrEMRSELECTCLIPPATH;
		EMRSETMITERLIMIT* = RECORD [untagged]
			emr*: EMR;
			eMiterLimit*: SHORTREAL;
		END;
		PtrEMRSETMITERLIMIT* = POINTER TO EMRSETMITERLIMIT;
		EMRRESTOREDC* = RECORD [untagged]
			emr*: EMR;
			iRelative*: INTEGER;
		END;
		PtrEMRRESTOREDC* = POINTER TO EMRRESTOREDC;
		EMRSETARCDIRECTION* = RECORD [untagged]
			emr*: EMR;
			iArcDirection*: INTEGER;
		END;
		PtrEMRSETARCDIRECTION* = POINTER TO EMRSETARCDIRECTION;
		EMRSETMAPPERFLAGS* = RECORD [untagged]
			emr*: EMR;
			dwFlags*: SET;
		END;
		PtrEMRSETMAPPERFLAGS* = POINTER TO EMRSETMAPPERFLAGS;
		EMRSETBKCOLOR* = RECORD [untagged]
			emr*: EMR;
			crColor*: COLORREF;
		END;
		PtrEMRSETBKCOLOR* = POINTER TO EMRSETBKCOLOR;
		EMRSETTEXTCOLOR* = EMRSETBKCOLOR;
		PtrEMRSETTEXTCOLOR* = PtrEMRSETBKCOLOR;
		EMRSELECTOBJECT* = RECORD [untagged]
			emr*: EMR;
			ihObject*: INTEGER;
		END;
		PtrEMRSELECTOBJECT* = POINTER TO EMRSELECTOBJECT;
		EMRDELETEOBJECT* = EMRSELECTOBJECT;
		PtrEMRDELETEOBJECT* = PtrEMRSELECTOBJECT;
		EMRSELECTCOLORSPACE* = RECORD [untagged]
			emr*: EMR;
			ihCS*: INTEGER;
		END;
		PtrEMRSELECTCOLORSPACE* = POINTER TO EMRSELECTCOLORSPACE;
		EMRDELETECOLORSPACE* = EMRSELECTCOLORSPACE;
		PtrEMRDELETECOLORSPACE* = PtrEMRSELECTCOLORSPACE;
		EMRSELECTPALETTE* = RECORD [untagged]
			emr*: EMR;
			ihPal*: INTEGER;
		END;
		PtrEMRSELECTPALETTE* = POINTER TO EMRSELECTPALETTE;
		EMRRESIZEPALETTE* = RECORD [untagged]
			emr*: EMR;
			ihPal*: INTEGER;
			cEntries*: INTEGER;
		END;
		PtrEMRRESIZEPALETTE* = POINTER TO EMRRESIZEPALETTE;
		EMRSETPALETTEENTRIES* = RECORD [untagged]
			emr*: EMR;
			ihPal*: INTEGER;
			iStart*: INTEGER;
			cEntries*: INTEGER;
			aPalEntries*: ARRAY [untagged] 1 OF PALETTEENTRY;
		END;
		PtrEMRSETPALETTEENTRIES* = POINTER TO EMRSETPALETTEENTRIES;
		EMRSETCOLORADJUSTMENT* = RECORD [untagged]
			emr*: EMR;
			ColorAdjustment*: COLORADJUSTMENT;
		END;
		PtrEMRSETCOLORADJUSTMENT* = POINTER TO EMRSETCOLORADJUSTMENT;
		EMRGDICOMMENT* = RECORD [untagged]
			emr*: EMR;
			cbData*: INTEGER;
			Data*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRGDICOMMENT* = POINTER TO EMRGDICOMMENT;
		EMREOF* = RECORD [untagged]
			emr*: EMR;
			nPalEntries*: INTEGER;
			offPalEntries*: INTEGER;
			nSizeLast*: INTEGER;
		END;
		PtrEMREOF* = POINTER TO EMREOF;
		EMRLINETO* = RECORD [untagged]
			emr*: EMR;
			ptl*: POINT;
		END;
		PtrEMRLINETO* = POINTER TO EMRLINETO;
		EMRMOVETOEX* = EMRLINETO;
		PtrEMRMOVETOEX* = PtrEMRLINETO;
		EMROFFSETCLIPRGN* = RECORD [untagged]
			emr*: EMR;
			ptlOffset*: POINT;
		END;
		PtrEMROFFSETCLIPRGN* = POINTER TO EMROFFSETCLIPRGN;
		EMRFILLPATH* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
		END;
		PtrEMRFILLPATH* = POINTER TO EMRFILLPATH;
		EMRSTROKEANDFILLPATH* = EMRFILLPATH;
		PtrEMRSTROKEANDFILLPATH* = PtrEMRFILLPATH;
		EMRSTROKEPATH* = EMRFILLPATH;
		PtrEMRSTROKEPATH* = PtrEMRFILLPATH;
		EMREXCLUDECLIPRECT* = RECORD [untagged]
			emr*: EMR;
			rclClip*: RECT;
		END;
		PtrEMREXCLUDECLIPRECT* = POINTER TO EMREXCLUDECLIPRECT;
		EMRINTERSECTCLIPRECT* = EMREXCLUDECLIPRECT;
		PtrEMRINTERSECTCLIPRECT* = PtrEMREXCLUDECLIPRECT;
		EMRSETVIEWPORTORGEX* = RECORD [untagged]
			emr*: EMR;
			ptlOrigin*: POINT;
		END;
		PtrEMRSETVIEWPORTORGEX* = POINTER TO EMRSETVIEWPORTORGEX;
		EMRSETWINDOWORGEX* = EMRSETVIEWPORTORGEX;
		PtrEMRSETWINDOWORGEX* = PtrEMRSETVIEWPORTORGEX;
		EMRSETBRUSHORGEX* = EMRSETVIEWPORTORGEX;
		PtrEMRSETBRUSHORGEX* = PtrEMRSETVIEWPORTORGEX;
		EMRSETVIEWPORTEXTEX* = RECORD [untagged]
			emr*: EMR;
			szlExtent*: SIZE;
		END;
		PtrEMRSETVIEWPORTEXTEX* = POINTER TO EMRSETVIEWPORTEXTEX;
		EMRSETWINDOWEXTEX* = EMRSETVIEWPORTEXTEX;
		PtrEMRSETWINDOWEXTEX* = PtrEMRSETVIEWPORTEXTEX;
		EMRSCALEVIEWPORTEXTEX* = RECORD [untagged]
			emr*: EMR;
			xNum*: INTEGER;
			xDenom*: INTEGER;
			yNum*: INTEGER;
			yDenom*: INTEGER;
		END;
		PtrEMRSCALEVIEWPORTEXTEX* = POINTER TO EMRSCALEVIEWPORTEXTEX;
		EMRSCALEWINDOWEXTEX* = EMRSCALEVIEWPORTEXTEX;
		PtrEMRSCALEWINDOWEXTEX* = PtrEMRSCALEVIEWPORTEXTEX;
		EMRSETWORLDTRANSFORM* = RECORD [untagged]
			emr*: EMR;
			xform*: XFORM;
		END;
		PtrEMRSETWORLDTRANSFORM* = POINTER TO EMRSETWORLDTRANSFORM;
		EMRMODIFYWORLDTRANSFORM* = RECORD [untagged]
			emr*: EMR;
			xform*: XFORM;
			iMode*: INTEGER;
		END;
		PtrEMRMODIFYWORLDTRANSFORM* = POINTER TO EMRMODIFYWORLDTRANSFORM;
		EMRSETPIXELV* = RECORD [untagged]
			emr*: EMR;
			ptlPixel*: POINT;
			crColor*: COLORREF;
		END;
		PtrEMRSETPIXELV* = POINTER TO EMRSETPIXELV;
		EMREXTFLOODFILL* = RECORD [untagged]
			emr*: EMR;
			ptlStart*: POINT;
			crColor*: COLORREF;
			iMode*: INTEGER;
		END;
		PtrEMREXTFLOODFILL* = POINTER TO EMREXTFLOODFILL;
		EMRELLIPSE* = RECORD [untagged]
			emr*: EMR;
			rclBox*: RECT;
		END;
		PtrEMRELLIPSE* = POINTER TO EMRELLIPSE;
		EMRRECTANGLE* = EMRELLIPSE;
		PtrEMRRECTANGLE* = PtrEMRELLIPSE;
		EMRROUNDRECT* = RECORD [untagged]
			emr*: EMR;
			rclBox*: RECT;
			szlCorner*: SIZE;
		END;
		PtrEMRROUNDRECT* = POINTER TO EMRROUNDRECT;
		EMRARC* = RECORD [untagged]
			emr*: EMR;
			rclBox*: RECT;
			ptlStart*: POINT;
			ptlEnd*: POINT;
		END;
		PtrEMRARC* = POINTER TO EMRARC;
		EMRARCTO* = EMRARC;
		PtrEMRARCTO* = PtrEMRARC;
		EMRCHORD* = EMRARC;
		PtrEMRCHORD* = PtrEMRARC;
		EMRPIE* = EMRARC;
		PtrEMRPIE* = PtrEMRARC;
		EMRANGLEARC* = RECORD [untagged]
			emr*: EMR;
			ptlCenter*: POINT;
			nRadius*: INTEGER;
			eStartAngle*: SHORTREAL;
			eSweepAngle*: SHORTREAL;
		END;
		PtrEMRANGLEARC* = POINTER TO EMRANGLEARC;
		EMRPOLYLINE* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cptl*: INTEGER;
			aptl*: ARRAY [untagged] 1 OF POINT;
		END;
		PtrEMRPOLYLINE* = POINTER TO EMRPOLYLINE;
		EMRPOLYBEZIER* = EMRPOLYLINE;
		PtrEMRPOLYBEZIER* = PtrEMRPOLYLINE;
		EMRPOLYGON* = EMRPOLYLINE;
		PtrEMRPOLYGON* = PtrEMRPOLYLINE;
		EMRPOLYBEZIERTO* = EMRPOLYLINE;
		PtrEMRPOLYBEZIERTO* = PtrEMRPOLYLINE;
		EMRPOLYLINETO* = EMRPOLYLINE;
		PtrEMRPOLYLINETO* = PtrEMRPOLYLINE;
		EMRPOLYLINE16* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cpts*: INTEGER;
			apts*: ARRAY [untagged] 1 OF POINTS;
		END;
		PtrEMRPOLYLINE16* = POINTER TO EMRPOLYLINE16;
		EMRPOLYBEZIER16* = EMRPOLYLINE16;
		PtrEMRPOLYBEZIER16* = PtrEMRPOLYLINE16;
		EMRPOLYGON16* = EMRPOLYLINE16;
		PtrEMRPOLYGON16* = PtrEMRPOLYLINE16;
		EMRPOLYBEZIERTO16* = EMRPOLYLINE16;
		PtrEMRPOLYBEZIERTO16* = PtrEMRPOLYLINE16;
		EMRPOLYLINETO16* = EMRPOLYLINE16;
		PtrEMRPOLYLINETO16* = PtrEMRPOLYLINE16;
		EMRPOLYDRAW* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cptl*: INTEGER;
			aptl*: ARRAY [untagged] 1 OF POINT;
			abTypes*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRPOLYDRAW* = POINTER TO EMRPOLYDRAW;
		EMRPOLYDRAW16* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cpts*: INTEGER;
			apts*: ARRAY [untagged] 1 OF POINTS;
			abTypes*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRPOLYDRAW16* = POINTER TO EMRPOLYDRAW16;
		EMRPOLYPOLYLINE* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			nPolys*: INTEGER;
			cptl*: INTEGER;
			aPolyCounts*: ARRAY [untagged] 1 OF INTEGER;
			aptl*: ARRAY [untagged] 1 OF POINT;
		END;
		PtrEMRPOLYPOLYLINE* = POINTER TO EMRPOLYPOLYLINE;
		EMRPOLYPOLYGON* = EMRPOLYPOLYLINE;
		PtrEMRPOLYPOLYGON* = PtrEMRPOLYPOLYLINE;
		EMRPOLYPOLYLINE16* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			nPolys*: INTEGER;
			cpts*: INTEGER;
			aPolyCounts*: ARRAY [untagged] 1 OF INTEGER;
			apts*: ARRAY [untagged] 1 OF POINTS;
		END;
		PtrEMRPOLYPOLYLINE16* = POINTER TO EMRPOLYPOLYLINE16;
		EMRPOLYPOLYGON16* = EMRPOLYPOLYLINE16;
		PtrEMRPOLYPOLYGON16* = PtrEMRPOLYPOLYLINE16;
		EMRINVERTRGN* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cbRgnData*: INTEGER;
			RgnData*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRINVERTRGN* = POINTER TO EMRINVERTRGN;
		EMRPAINTRGN* = EMRINVERTRGN;
		PtrEMRPAINTRGN* = PtrEMRINVERTRGN;
		EMRFILLRGN* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cbRgnData*: INTEGER;
			ihBrush*: INTEGER;
			RgnData*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRFILLRGN* = POINTER TO EMRFILLRGN;
		EMRFRAMERGN* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cbRgnData*: INTEGER;
			ihBrush*: INTEGER;
			szlStroke*: SIZE;
			RgnData*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRFRAMERGN* = POINTER TO EMRFRAMERGN;
		EMREXTSELECTCLIPRGN* = RECORD [untagged]
			emr*: EMR;
			cbRgnData*: INTEGER;
			iMode*: INTEGER;
			RgnData*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMREXTSELECTCLIPRGN* = POINTER TO EMREXTSELECTCLIPRGN;
		EMREXTTEXTOUTA* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			iGraphicsMode*: INTEGER;
			exScale*: SHORTREAL;
			eyScale*: SHORTREAL;
			emrtext*: EMRTEXT;
		END;
		PtrEMREXTTEXTOUTA* = POINTER TO EMREXTTEXTOUTA;
		EMREXTTEXTOUTW* = EMREXTTEXTOUTA;
		PtrEMREXTTEXTOUTW* = PtrEMREXTTEXTOUTA;
		EMRPOLYTEXTOUTA* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			iGraphicsMode*: INTEGER;
			exScale*: SHORTREAL;
			eyScale*: SHORTREAL;
			cStrings*: INTEGER;
			aemrtext*: ARRAY [untagged] 1 OF EMRTEXT;
		END;
		PtrEMRPOLYTEXTOUTA* = POINTER TO EMRPOLYTEXTOUTA;
		EMRPOLYTEXTOUTW* = EMRPOLYTEXTOUTA;
		PtrEMRPOLYTEXTOUTW* = PtrEMRPOLYTEXTOUTA;
		EMRBITBLT* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			xDest*: INTEGER;
			yDest*: INTEGER;
			cxDest*: INTEGER;
			cyDest*: INTEGER;
			dwRop*: INTEGER;
			xSrc*: INTEGER;
			ySrc*: INTEGER;
			xformSrc*: XFORM;
			crBkColorSrc*: COLORREF;
			iUsageSrc*: INTEGER;
			offBmiSrc*: INTEGER;
			cbBmiSrc*: INTEGER;
			offBitsSrc*: INTEGER;
			cbBitsSrc*: INTEGER;
		END;
		PtrEMRBITBLT* = POINTER TO EMRBITBLT;
		EMRSTRETCHBLT* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			xDest*: INTEGER;
			yDest*: INTEGER;
			cxDest*: INTEGER;
			cyDest*: INTEGER;
			dwRop*: INTEGER;
			xSrc*: INTEGER;
			ySrc*: INTEGER;
			xformSrc*: XFORM;
			crBkColorSrc*: COLORREF;
			iUsageSrc*: INTEGER;
			offBmiSrc*: INTEGER;
			cbBmiSrc*: INTEGER;
			offBitsSrc*: INTEGER;
			cbBitsSrc*: INTEGER;
			cxSrc*: INTEGER;
			cySrc*: INTEGER;
		END;
		PtrEMRSTRETCHBLT* = POINTER TO EMRSTRETCHBLT;
		EMRMASKBLT* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			xDest*: INTEGER;
			yDest*: INTEGER;
			cxDest*: INTEGER;
			cyDest*: INTEGER;
			dwRop*: INTEGER;
			xSrc*: INTEGER;
			ySrc*: INTEGER;
			xformSrc*: XFORM;
			crBkColorSrc*: COLORREF;
			iUsageSrc*: INTEGER;
			offBmiSrc*: INTEGER;
			cbBmiSrc*: INTEGER;
			offBitsSrc*: INTEGER;
			cbBitsSrc*: INTEGER;
			xMask*: INTEGER;
			yMask*: INTEGER;
			iUsageMask*: INTEGER;
			offBmiMask*: INTEGER;
			cbBmiMask*: INTEGER;
			offBitsMask*: INTEGER;
			cbBitsMask*: INTEGER;
		END;
		PtrEMRMASKBLT* = POINTER TO EMRMASKBLT;
		EMRPLGBLT* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			aptlDest*: ARRAY [untagged] 3 OF POINT;
			xSrc*: INTEGER;
			ySrc*: INTEGER;
			cxSrc*: INTEGER;
			cySrc*: INTEGER;
			xformSrc*: XFORM;
			crBkColorSrc*: COLORREF;
			iUsageSrc*: INTEGER;
			offBmiSrc*: INTEGER;
			cbBmiSrc*: INTEGER;
			offBitsSrc*: INTEGER;
			cbBitsSrc*: INTEGER;
			xMask*: INTEGER;
			yMask*: INTEGER;
			iUsageMask*: INTEGER;
			offBmiMask*: INTEGER;
			cbBmiMask*: INTEGER;
			offBitsMask*: INTEGER;
			cbBitsMask*: INTEGER;
		END;
		PtrEMRPLGBLT* = POINTER TO EMRPLGBLT;
		EMRSETDIBITSTODEVICE* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			xDest*: INTEGER;
			yDest*: INTEGER;
			xSrc*: INTEGER;
			ySrc*: INTEGER;
			cxSrc*: INTEGER;
			cySrc*: INTEGER;
			offBmiSrc*: INTEGER;
			cbBmiSrc*: INTEGER;
			offBitsSrc*: INTEGER;
			cbBitsSrc*: INTEGER;
			iUsageSrc*: INTEGER;
			iStartScan*: INTEGER;
			cScans*: INTEGER;
		END;
		PtrEMRSETDIBITSTODEVICE* = POINTER TO EMRSETDIBITSTODEVICE;
		EMRSTRETCHDIBITS* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			xDest*: INTEGER;
			yDest*: INTEGER;
			xSrc*: INTEGER;
			ySrc*: INTEGER;
			cxSrc*: INTEGER;
			cySrc*: INTEGER;
			offBmiSrc*: INTEGER;
			cbBmiSrc*: INTEGER;
			offBitsSrc*: INTEGER;
			cbBitsSrc*: INTEGER;
			iUsageSrc*: INTEGER;
			dwRop*: INTEGER;
			cxDest*: INTEGER;
			cyDest*: INTEGER;
		END;
		PtrEMRSTRETCHDIBITS* = POINTER TO EMRSTRETCHDIBITS;
		EMREXTCREATEFONTINDIRECTW* = RECORD [untagged]
			emr*: EMR;
			ihFont*: INTEGER;
			elfw*: EXTLOGFONTW;
		END;
		PtrEMREXTCREATEFONTINDIRECTW* = POINTER TO EMREXTCREATEFONTINDIRECTW;
		EMRCREATEPALETTE* = RECORD [untagged]
			emr*: EMR;
			ihPal*: INTEGER;
			lgpl*: LOGPALETTE;
		END;
		PtrEMRCREATEPALETTE* = POINTER TO EMRCREATEPALETTE;
		EMRCREATECOLORSPACE* = RECORD [untagged]
			emr*: EMR;
			ihCS*: INTEGER;
			lcs*: LOGCOLORSPACEW;
		END;
		PtrEMRCREATECOLORSPACE* = POINTER TO EMRCREATECOLORSPACE;
		EMRCREATEPEN* = RECORD [untagged]
			emr*: EMR;
			ihPen*: INTEGER;
			lopn*: LOGPEN;
		END;
		PtrEMRCREATEPEN* = POINTER TO EMRCREATEPEN;
		EMREXTCREATEPEN* = RECORD [untagged]
			emr*: EMR;
			ihPen*: INTEGER;
			offBmi*: INTEGER;
			cbBmi*: INTEGER;
			offBits*: INTEGER;
			cbBits*: INTEGER;
			elp*: EXTLOGPEN;
		END;
		PtrEMREXTCREATEPEN* = POINTER TO EMREXTCREATEPEN;
		EMRCREATEBRUSHINDIRECT* = RECORD [untagged]
			emr*: EMR;
			ihBrush*: INTEGER;
			lb*: LOGBRUSH;
		END;
		PtrEMRCREATEBRUSHINDIRECT* = POINTER TO EMRCREATEBRUSHINDIRECT;
		EMRCREATEMONOBRUSH* = RECORD [untagged]
			emr*: EMR;
			ihBrush*: INTEGER;
			iUsage*: INTEGER;
			offBmi*: INTEGER;
			cbBmi*: INTEGER;
			offBits*: INTEGER;
			cbBits*: INTEGER;
		END;
		PtrEMRCREATEMONOBRUSH* = POINTER TO EMRCREATEMONOBRUSH;
		EMRCREATEDIBPATTERNBRUSHPT* = RECORD [untagged]
			emr*: EMR;
			ihBrush*: INTEGER;
			iUsage*: INTEGER;
			offBmi*: INTEGER;
			cbBmi*: INTEGER;
			offBits*: INTEGER;
			cbBits*: INTEGER;
		END;
		PtrEMRCREATEDIBPATTERNBRUSHPT* = POINTER TO EMRCREATEDIBPATTERNBRUSHPT;
		EMRFORMAT* = RECORD [untagged]
			dSignature*: INTEGER;
			nVersion*: INTEGER;
			cbData*: INTEGER;
			offData*: INTEGER;
		END;
		PtrEMRFORMAT* = POINTER TO EMRFORMAT;
		EMRGLSRECORD* = RECORD [untagged]
			emr*: EMR;
			cbData*: INTEGER;
			Data*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRGLSRECORD* = POINTER TO EMRGLSRECORD;
		EMRGLSBOUNDEDRECORD* = RECORD [untagged]
			emr*: EMR;
			rclBounds*: RECT;
			cbData*: INTEGER;
			Data*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrEMRGLSBOUNDEDRECORD* = POINTER TO EMRGLSBOUNDEDRECORD;
		EMRPIXELFORMAT* = RECORD [untagged]
			emr*: EMR;
			pfd*: PIXELFORMATDESCRIPTOR;
		END;
		PtrEMRPIXELFORMAT* = POINTER TO EMRPIXELFORMAT;
		POINTFLOAT* = RECORD [untagged]
			x*: SHORTREAL;
			y*: SHORTREAL;
		END;
		PtrPOINTFLOAT* = POINTER TO POINTFLOAT;
		GLYPHMETRICSFLOAT* = RECORD [untagged]
			gmfBlackBoxX*: SHORTREAL;
			gmfBlackBoxY*: SHORTREAL;
			gmfptGlyphOrigin*: POINTFLOAT;
			gmfCellIncX*: SHORTREAL;
			gmfCellIncY*: SHORTREAL;
		END;
		PtrGLYPHMETRICSFLOAT* = POINTER TO GLYPHMETRICSFLOAT;
		LAYERPLANEDESCRIPTOR* = RECORD [untagged]
			nSize*: SHORTINT;
			nVersion*: SHORTINT;
			dwFlags*: SET;
			iPixelType*: SHORTCHAR;
			cColorBits*: SHORTCHAR;
			cRedBits*: SHORTCHAR;
			cRedShift*: SHORTCHAR;
			cGreenBits*: SHORTCHAR;
			cGreenShift*: SHORTCHAR;
			cBlueBits*: SHORTCHAR;
			cBlueShift*: SHORTCHAR;
			cAlphaBits*: SHORTCHAR;
			cAlphaShift*: SHORTCHAR;
			cAccumBits*: SHORTCHAR;
			cAccumRedBits*: SHORTCHAR;
			cAccumGreenBits*: SHORTCHAR;
			cAccumBlueBits*: SHORTCHAR;
			cAccumAlphaBits*: SHORTCHAR;
			cDepthBits*: SHORTCHAR;
			cStencilBits*: SHORTCHAR;
			cAuxBuffers*: SHORTCHAR;
			iLayerPlane*: SHORTCHAR;
			bReserved*: SHORTCHAR;
			crTransparent*: COLORREF;
		END;
		PtrLAYERPLANEDESCRIPTOR* = POINTER TO LAYERPLANEDESCRIPTOR;
		HDWP* = HANDLE;
		MENUTEMPLATEA* = RECORD [untagged] END;
		PtrMENUTEMPLATEA* = POINTER TO MENUTEMPLATEA;
		MENUTEMPLATEW* = RECORD [untagged] END;
		PtrMENUTEMPLATEW* = POINTER TO MENUTEMPLATEW;
		MENUTEMPLATE* = RECORD [untagged] END;
		PtrMENUTEMPLATE* = POINTER TO MENUTEMPLATE;
		LPMENUTEMPLATEA* = PtrVoid;
		LPMENUTEMPLATEW* = PtrVoid;
		LPMENUTEMPLATE* = LPMENUTEMPLATEA;
		WNDPROC* = PROCEDURE (p0: HWND; p1: INTEGER; p2: WPARAM; p3: LPARAM): LRESULT;
		DLGPROC* = PROCEDURE (): INTEGER;
		TIMERPROC* = PROCEDURE (): INTEGER;
		GRAYSTRINGPROC* = PROCEDURE (): INTEGER;
		WNDENUMPROC* = PROCEDURE (): INTEGER;
		HOOKPROC* = PROCEDURE (): INTEGER;
		SENDASYNCPROC* = PROCEDURE (): INTEGER;
		EDITWORDBREAKPROCA* = PROCEDURE (): INTEGER;
		EDITWORDBREAKPROCW* = PROCEDURE (): INTEGER;
		ROPENUMPROCA* = PROCEDURE (): INTEGER;
		ROPENUMPROCW* = PROCEDURE (): INTEGER;
		ROPENUMPROCEXA* = PROCEDURE (): INTEGER;
		ROPENUMPROCEXW* = PROCEDURE (): INTEGER;
		DRAWSTATEPROC* = PROCEDURE (): INTEGER;
		ROPENUMPROC* = PROCEDURE (): INTEGER;
		ROPENUMPROCEX* = PROCEDURE (): INTEGER;
		EDITWORDBREAKPROC* = PROCEDURE (): INTEGER;
		NAMEENUMPROCA* = PROCEDURE (): INTEGER;
		NAMEENUMPROCW* = PROCEDURE (): INTEGER;
		WINSTAENUMPROCA* = PROCEDURE (): INTEGER;
		DESKTOPENUMPROCA* = PROCEDURE (): INTEGER;
		WINSTAENUMPROCW* = PROCEDURE (): INTEGER;
		DESKTOPENUMPROCW* = PROCEDURE (): INTEGER;
		WINSTAENUMPROC* = PROCEDURE (): INTEGER;
		DESKTOPENUMPROC* = PROCEDURE (): INTEGER;
		PtrCREATESTRUCTA* = POINTER TO CREATESTRUCTA;
		CBT_CREATEWNDA* = RECORD [untagged]
			lpcs*: PtrCREATESTRUCTA;
			hwndInsertAfter*: HWND;
		END;
		PtrCBT_CREATEWNDA* = POINTER TO CBT_CREATEWNDA;
		PtrCREATESTRUCTW* = POINTER TO CREATESTRUCTW;
		CBT_CREATEWNDW* = RECORD [untagged]
			lpcs*: PtrCREATESTRUCTW;
			hwndInsertAfter*: HWND;
		END;
		PtrCBT_CREATEWNDW* = POINTER TO CBT_CREATEWNDW;
		CBT_CREATEWND* = CBT_CREATEWNDA;
		PtrCBT_CREATEWND* = PtrCBT_CREATEWNDA;
		CBTACTIVATESTRUCT* = RECORD [untagged]
			fMouse*: BOOL;
			hWndActive*: HWND;
		END;
		PtrCBTACTIVATESTRUCT* = POINTER TO CBTACTIVATESTRUCT;
		EVENTMSG* = RECORD [untagged]
			message*: INTEGER;
			paramL*: INTEGER;
			paramH*: INTEGER;
			time*: INTEGER;
			hwnd*: HWND;
		END;
		PtrEVENTMSG* = POINTER TO EVENTMSG;
		CWPSTRUCT* = RECORD [untagged]
			lParam*: LPARAM;
			wParam*: WPARAM;
			message*: INTEGER;
			hwnd*: HWND;
		END;
		PtrCWPSTRUCT* = POINTER TO CWPSTRUCT;
		CWPRETSTRUCT* = RECORD [untagged]
			lResult*: LRESULT;
			lParam*: LPARAM;
			wParam*: WPARAM;
			message*: INTEGER;
			hwnd*: HWND;
		END;
		PtrCWPRETSTRUCT* = POINTER TO CWPRETSTRUCT;
		DEBUGHOOKINFO* = RECORD [untagged]
			idThread*: INTEGER;
			idThreadInstaller*: INTEGER;
			lParam*: LPARAM;
			wParam*: WPARAM;
			code*: INTEGER;
		END;
		PtrDEBUGHOOKINFO* = POINTER TO DEBUGHOOKINFO;
		MOUSEHOOKSTRUCT* = RECORD [untagged]
			pt*: POINT;
			hwnd*: HWND;
			wHitTestCode*: INTEGER;
			dwExtraInfo*: INTEGER;
		END;
		PtrMOUSEHOOKSTRUCT* = POINTER TO MOUSEHOOKSTRUCT;
		HARDWAREHOOKSTRUCT* = RECORD [untagged]
			hwnd*: HWND;
			message*: INTEGER;
			wParam*: WPARAM;
			lParam*: LPARAM;
		END;
		PtrHARDWAREHOOKSTRUCT* = POINTER TO HARDWAREHOOKSTRUCT;
		USEROBJECTFLAGS* = RECORD [untagged]
			fInherit*: BOOL;
			fReserved*: BOOL;
			dwFlags*: SET;
		END;
		PtrUSEROBJECTFLAGS* = POINTER TO USEROBJECTFLAGS;
		WNDCLASSEXA* = RECORD [untagged]
			cbSize*: INTEGER;
			style*: SET;
			lpfnWndProc*: WNDPROC;
			cbClsExtra*: INTEGER;
			cbWndExtra*: INTEGER;
			hInstance*: HINSTANCE;
			hIcon*: HICON;
			hCursor*: HCURSOR;
			hbrBackground*: HBRUSH;
			lpszMenuName*: PtrSTR;
			lpszClassName*: PtrSTR;
			hIconSm*: HICON;
		END;
		PtrWNDCLASSEXA* = POINTER TO WNDCLASSEXA;
		WNDCLASSEXW* = RECORD [untagged]
			cbSize*: INTEGER;
			style*: SET;
			lpfnWndProc*: WNDPROC;
			cbClsExtra*: INTEGER;
			cbWndExtra*: INTEGER;
			hInstance*: HINSTANCE;
			hIcon*: HICON;
			hCursor*: HCURSOR;
			hbrBackground*: HBRUSH;
			lpszMenuName*: PtrWSTR;
			lpszClassName*: PtrWSTR;
			hIconSm*: HICON;
		END;
		PtrWNDCLASSEXW* = POINTER TO WNDCLASSEXW;
		WNDCLASSEX* = WNDCLASSEXA;
		PtrWNDCLASSEX* = PtrWNDCLASSEXA;
		WNDCLASSA* = RECORD [untagged]
			style*: SET;
			lpfnWndProc*: WNDPROC;
			cbClsExtra*: INTEGER;
			cbWndExtra*: INTEGER;
			hInstance*: HINSTANCE;
			hIcon*: HICON;
			hCursor*: HCURSOR;
			hbrBackground*: HBRUSH;
			lpszMenuName*: PtrSTR;
			lpszClassName*: PtrSTR;
		END;
		PtrWNDCLASSA* = POINTER TO WNDCLASSA;
		WNDCLASSW* = RECORD [untagged]
			style*: SET;
			lpfnWndProc*: WNDPROC;
			cbClsExtra*: INTEGER;
			cbWndExtra*: INTEGER;
			hInstance*: HINSTANCE;
			hIcon*: HICON;
			hCursor*: HCURSOR;
			hbrBackground*: HBRUSH;
			lpszMenuName*: PtrWSTR;
			lpszClassName*: PtrWSTR;
		END;
		PtrWNDCLASSW* = POINTER TO WNDCLASSW;
		WNDCLASS* = WNDCLASSA;
		PtrWNDCLASS* = PtrWNDCLASSA;
		MSG* = RECORD [untagged]
			hwnd*: HWND;
			message*: INTEGER;
			wParam*: WPARAM;
			lParam*: LPARAM;
			time*: INTEGER;
			pt*: POINT;
		END;
		PtrMSG* = POINTER TO MSG;
		MINMAXINFO* = RECORD [untagged]
			ptReserved*: POINT;
			ptMaxSize*: POINT;
			ptMaxPosition*: POINT;
			ptMinTrackSize*: POINT;
			ptMaxTrackSize*: POINT;
		END;
		PtrMINMAXINFO* = POINTER TO MINMAXINFO;
		COPYDATASTRUCT* = RECORD [untagged]
			dwData*: INTEGER;
			cbData*: INTEGER;
			lpData*: PtrVoid;
		END;
		PtrCOPYDATASTRUCT* = POINTER TO COPYDATASTRUCT;
		MDINEXTMENU* = RECORD [untagged]
			hmenuIn*: HMENU;
			hmenuNext*: HMENU;
			hwndNext*: HWND;
		END;
		PtrMDINEXTMENU* = POINTER TO MDINEXTMENU;
		WINDOWPOS* = RECORD [untagged]
			hwnd*: HWND;
			hwndInsertAfter*: HWND;
			x*: INTEGER;
			y*: INTEGER;
			cx*: INTEGER;
			cy*: INTEGER;
			flags*: SET;
		END;
		PtrWINDOWPOS* = POINTER TO WINDOWPOS;
		NCCALCSIZE_PARAMS* = RECORD [untagged]
			rgrc*: ARRAY [untagged] 3 OF RECT;
			lppos*: PtrWINDOWPOS;
		END;
		PtrNCCALCSIZE_PARAMS* = POINTER TO NCCALCSIZE_PARAMS;
		ACCEL* = RECORD [untagged]
			fVirt*: SHORTCHAR;
			key*: SHORTINT;
			cmd*: SHORTINT;
		END;
		PtrACCEL* = POINTER TO ACCEL;
		PAINTSTRUCT* = RECORD [untagged]
			hdc*: HDC;
			fErase*: BOOL;
			rcPaint*: RECT;
			fRestore*: BOOL;
			fIncUpdate*: BOOL;
			rgbReserved*: ARRAY [untagged] 32 OF SHORTCHAR;
		END;
		PtrPAINTSTRUCT* = POINTER TO PAINTSTRUCT;
		CREATESTRUCTA* = RECORD [untagged]
			lpCreateParams*: PtrVoid;
			hInstance*: HINSTANCE;
			hMenu*: HMENU;
			hwndParent*: HWND;
			cy*: INTEGER;
			cx*: INTEGER;
			y*: INTEGER;
			x*: INTEGER;
			style*: SET;
			lpszName*: PtrSTR;
			lpszClass*: PtrSTR;
			dwExStyle*: SET;
		END;
		CREATESTRUCTW* = RECORD [untagged]
			lpCreateParams*: PtrVoid;
			hInstance*: HINSTANCE;
			hMenu*: HMENU;
			hwndParent*: HWND;
			cy*: INTEGER;
			cx*: INTEGER;
			y*: INTEGER;
			x*: INTEGER;
			style*: SET;
			lpszName*: PtrWSTR;
			lpszClass*: PtrWSTR;
			dwExStyle*: SET;
		END;
		CREATESTRUCT* = CREATESTRUCTA;
		PtrCREATESTRUCT* = PtrCREATESTRUCTA;
		WINDOWPLACEMENT* = RECORD [untagged]
			length*: INTEGER;
			flags*: SET;
			showCmd*: INTEGER;
			ptMinPosition*: POINT;
			ptMaxPosition*: POINT;
			rcNormalPosition*: RECT;
		END;
		PtrWINDOWPLACEMENT* = POINTER TO WINDOWPLACEMENT;
		NMHDR* = RECORD [untagged]
			hwndFrom*: HWND;
			idFrom*: INTEGER;
			code*: INTEGER;
		END;
		PtrNMHDR* = POINTER TO NMHDR;
		STYLESTRUCT* = RECORD [untagged]
			styleOld*: SET;
			styleNew*: SET;
		END;
		PtrSTYLESTRUCT* = POINTER TO STYLESTRUCT;
		MEASUREITEMSTRUCT* = RECORD [untagged]
			CtlType*: SET;
			CtlID*: INTEGER;
			itemID*: INTEGER;
			itemWidth*: INTEGER;
			itemHeight*: INTEGER;
			itemData*: INTEGER;
		END;
		PtrMEASUREITEMSTRUCT* = POINTER TO MEASUREITEMSTRUCT;
		DRAWITEMSTRUCT* = RECORD [untagged]
			CtlType*: SET;
			CtlID*: INTEGER;
			itemID*: INTEGER;
			itemAction*: SET;
			itemState*: SET;
			hwndItem*: HWND;
			hDC*: HDC;
			rcItem*: RECT;
			itemData*: INTEGER;
		END;
		PtrDRAWITEMSTRUCT* = POINTER TO DRAWITEMSTRUCT;
		DELETEITEMSTRUCT* = RECORD [untagged]
			CtlType*: SET;
			CtlID*: INTEGER;
			itemID*: INTEGER;
			hwndItem*: HWND;
			itemData*: INTEGER;
		END;
		PtrDELETEITEMSTRUCT* = POINTER TO DELETEITEMSTRUCT;
		COMPAREITEMSTRUCT* = RECORD [untagged]
			CtlType*: SET;
			CtlID*: INTEGER;
			hwndItem*: HWND;
			itemID1*: INTEGER;
			itemData1*: INTEGER;
			itemID2*: INTEGER;
			itemData2*: INTEGER;
			dwLocaleId*: INTEGER;
		END;
		PtrCOMPAREITEMSTRUCT* = POINTER TO COMPAREITEMSTRUCT;
		BROADCASTSYSMSG* = RECORD [untagged]
			uiMessage*: INTEGER;
			wParam*: WPARAM;
			lParam*: LPARAM;
		END;
		PtrBROADCASTSYSMSG* = POINTER TO BROADCASTSYSMSG;
		DLGTEMPLATE* = RECORD [align2]
			style*: SET;
			dwExtendedStyle*: SET;
			cdit*: SHORTINT;
			x*: SHORTINT;
			y*: SHORTINT;
			cx*: SHORTINT;
			cy*: SHORTINT;
		END;
		PtrDLGTEMPLATE* = POINTER TO DLGTEMPLATE;
		DLGITEMTEMPLATE* = RECORD [align2]
			style*: SET;
			dwExtendedStyle*: SET;
			x*: SHORTINT;
			y*: SHORTINT;
			cx*: SHORTINT;
			cy*: SHORTINT;
			id*: SHORTINT;
		END;
		PtrDLGITEMTEMPLATE* = POINTER TO DLGITEMTEMPLATE;
		TPMPARAMS* = RECORD [untagged]
			cbSize*: INTEGER;
			rcExclude*: RECT;
		END;
		PtrTPMPARAMS* = POINTER TO TPMPARAMS;
		MENUITEMINFOA* = RECORD [untagged]
			cbSize*: INTEGER;
			fMask*: SET;
			fType*: SET;
			fState*: SET;
			wID*: INTEGER;
			hSubMenu*: HMENU;
			hbmpChecked*: HBITMAP;
			hbmpUnchecked*: HBITMAP;
			dwItemData*: INTEGER;
			dwTypeData*: PtrSTR;
			cch*: INTEGER;
		END;
		PtrMENUITEMINFOA* = POINTER TO MENUITEMINFOA;
		MENUITEMINFOW* = RECORD [untagged]
			cbSize*: INTEGER;
			fMask*: SET;
			fType*: SET;
			fState*: SET;
			wID*: INTEGER;
			hSubMenu*: HMENU;
			hbmpChecked*: HBITMAP;
			hbmpUnchecked*: HBITMAP;
			dwItemData*: INTEGER;
			dwTypeData*: PtrWSTR;
			cch*: INTEGER;
		END;
		PtrMENUITEMINFOW* = POINTER TO MENUITEMINFOW;
		MENUITEMINFO* = MENUITEMINFOA;
		PtrMENUITEMINFO* = PtrMENUITEMINFOA;
		DROPSTRUCT* = RECORD [untagged]
			hwndSource*: HWND;
			hwndSink*: HWND;
			wFmt*: INTEGER;
			dwData*: INTEGER;
			ptDrop*: POINT;
			dwControlData*: INTEGER;
		END;
		PtrDROPSTRUCT* = POINTER TO DROPSTRUCT;
		DRAWTEXTPARAMS* = RECORD [untagged]
			cbSize*: INTEGER;
			iTabLength*: INTEGER;
			iLeftMargin*: INTEGER;
			iRightMargin*: INTEGER;
			uiLengthDrawn*: INTEGER;
		END;
		PtrDRAWTEXTPARAMS* = POINTER TO DRAWTEXTPARAMS;
		HELPINFO* = RECORD [untagged]
			cbSize*: INTEGER;
			iContextType*: INTEGER;
			iCtrlId*: INTEGER;
			hItemHandle*: HANDLE;
			dwContextId*: INTEGER;
			MousePos*: POINT;
		END;
		PtrHELPINFO* = POINTER TO HELPINFO;
		MSGBOXCALLBACK* = PROCEDURE (VAR [nil] lpHelpInfo: HELPINFO);
		MSGBOXPARAMSA* = RECORD [untagged]
			cbSize*: INTEGER;
			hwndOwner*: HWND;
			hInstance*: HINSTANCE;
			lpszText*: PtrSTR;
			lpszCaption*: PtrSTR;
			dwStyle*: SET;
			lpszIcon*: PtrSTR;
			dwContextHelpId*: INTEGER;
			lpfnMsgBoxCallback*: MSGBOXCALLBACK;
			dwLanguageId*: INTEGER;
		END;
		PtrMSGBOXPARAMSA* = POINTER TO MSGBOXPARAMSA;
		MSGBOXPARAMSW* = RECORD [untagged]
			cbSize*: INTEGER;
			hwndOwner*: HWND;
			hInstance*: HINSTANCE;
			lpszText*: PtrWSTR;
			lpszCaption*: PtrWSTR;
			dwStyle*: SET;
			lpszIcon*: PtrWSTR;
			dwContextHelpId*: INTEGER;
			lpfnMsgBoxCallback*: MSGBOXCALLBACK;
			dwLanguageId*: INTEGER;
		END;
		PtrMSGBOXPARAMSW* = POINTER TO MSGBOXPARAMSW;
		MSGBOXPARAMS* = MSGBOXPARAMSA;
		PtrMSGBOXPARAMS* = PtrMSGBOXPARAMSA;
		MENUITEMTEMPLATEHEADER* = RECORD [untagged]
			versionNumber*: SHORTINT;
			offset*: SHORTINT;
		END;
		PtrMENUITEMTEMPLATEHEADER* = POINTER TO MENUITEMTEMPLATEHEADER;
		MENUITEMTEMPLATE* = RECORD [untagged]
			mtOption*: SHORTINT;
			mtID*: SHORTINT;
			mtString*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrMENUITEMTEMPLATE* = POINTER TO MENUITEMTEMPLATE;
		ICONINFO* = RECORD [untagged]
			fIcon*: BOOL;
			xHotspot*: INTEGER;
			yHotspot*: INTEGER;
			hbmMask*: HBITMAP;
			hbmColor*: HBITMAP;
		END;
		PtrICONINFO* = POINTER TO ICONINFO;
		CURSORSHAPE* = RECORD [untagged]
			xHotSpot*: INTEGER;
			yHotSpot*: INTEGER;
			cx*: INTEGER;
			cy*: INTEGER;
			cbWidth*: INTEGER;
			Planes*: SHORTCHAR;
			BitsPixel*: SHORTCHAR;
		END;
		PtrCURSORSHAPE* = POINTER TO CURSORSHAPE;
		SCROLLINFO* = RECORD [untagged]
			cbSize*: INTEGER;
			fMask*: SET;
			nMin*: INTEGER;
			nMax*: INTEGER;
			nPage*: INTEGER;
			nPos*: INTEGER;
			nTrackPos*: INTEGER;
		END;
		PtrSCROLLINFO* = POINTER TO SCROLLINFO;
		MDICREATESTRUCTA* = RECORD [untagged]
			szClass*: PtrSTR;
			szTitle*: PtrSTR;
			hOwner*: HANDLE;
			x*: INTEGER;
			y*: INTEGER;
			cx*: INTEGER;
			cy*: INTEGER;
			style*: SET;
			lParam*: LPARAM;
		END;
		PtrMDICREATESTRUCTA* = POINTER TO MDICREATESTRUCTA;
		MDICREATESTRUCTW* = RECORD [untagged]
			szClass*: PtrWSTR;
			szTitle*: PtrWSTR;
			hOwner*: HANDLE;
			x*: INTEGER;
			y*: INTEGER;
			cx*: INTEGER;
			cy*: INTEGER;
			style*: SET;
			lParam*: LPARAM;
		END;
		PtrMDICREATESTRUCTW* = POINTER TO MDICREATESTRUCTW;
		MDICREATESTRUCT* = MDICREATESTRUCTA;
		PtrMDICREATESTRUCT* = PtrMDICREATESTRUCTA;
		CLIENTCREATESTRUCT* = RECORD [untagged]
			hWindowMenu*: HANDLE;
			idFirstChild*: INTEGER;
		END;
		PtrCLIENTCREATESTRUCT* = POINTER TO CLIENTCREATESTRUCT;
		HELPPOLY* = INTEGER;
		MULTIKEYHELPA* = RECORD [untagged]
			mkSize*: INTEGER;
			mkKeylist*: SHORTCHAR;
			szKeyphrase*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrMULTIKEYHELPA* = POINTER TO MULTIKEYHELPA;
		MULTIKEYHELPW* = RECORD [untagged]
			mkSize*: INTEGER;
			mkKeylist*: CHAR;
			szKeyphrase*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrMULTIKEYHELPW* = POINTER TO MULTIKEYHELPW;
		MULTIKEYHELP* = MULTIKEYHELPA;
		PtrMULTIKEYHELP* = PtrMULTIKEYHELPA;
		HELPWININFOA* = RECORD [untagged]
			wStructSize*: INTEGER;
			x*: INTEGER;
			y*: INTEGER;
			dx*: INTEGER;
			dy*: INTEGER;
			wMax*: INTEGER;
			rgchMember*: ARRAY [untagged] 2 OF SHORTCHAR;
		END;
		PtrHELPWININFOA* = POINTER TO HELPWININFOA;
		HELPWININFOW* = RECORD [untagged]
			wStructSize*: INTEGER;
			x*: INTEGER;
			y*: INTEGER;
			dx*: INTEGER;
			dy*: INTEGER;
			wMax*: INTEGER;
			rgchMember*: ARRAY [untagged] 2 OF CHAR;
		END;
		PtrHELPWININFOW* = POINTER TO HELPWININFOW;
		HELPWININFO* = HELPWININFOA;
		PtrHELPWININFO* = PtrHELPWININFOA;
		NONCLIENTMETRICSA* = RECORD [untagged]
			cbSize*: INTEGER;
			iBorderWidth*: INTEGER;
			iScrollWidth*: INTEGER;
			iScrollHeight*: INTEGER;
			iCaptionWidth*: INTEGER;
			iCaptionHeight*: INTEGER;
			lfCaptionFont*: LOGFONTA;
			iSmCaptionWidth*: INTEGER;
			iSmCaptionHeight*: INTEGER;
			lfSmCaptionFont*: LOGFONTA;
			iMenuWidth*: INTEGER;
			iMenuHeight*: INTEGER;
			lfMenuFont*: LOGFONTA;
			lfStatusFont*: LOGFONTA;
			lfMessageFont*: LOGFONTA;
		END;
		PtrNONCLIENTMETRICSA* = POINTER TO NONCLIENTMETRICSA;
		NONCLIENTMETRICSW* = RECORD [untagged]
			cbSize*: INTEGER;
			iBorderWidth*: INTEGER;
			iScrollWidth*: INTEGER;
			iScrollHeight*: INTEGER;
			iCaptionWidth*: INTEGER;
			iCaptionHeight*: INTEGER;
			lfCaptionFont*: LOGFONTW;
			iSmCaptionWidth*: INTEGER;
			iSmCaptionHeight*: INTEGER;
			lfSmCaptionFont*: LOGFONTW;
			iMenuWidth*: INTEGER;
			iMenuHeight*: INTEGER;
			lfMenuFont*: LOGFONTW;
			lfStatusFont*: LOGFONTW;
			lfMessageFont*: LOGFONTW;
		END;
		PtrNONCLIENTMETRICSW* = POINTER TO NONCLIENTMETRICSW;
		NONCLIENTMETRICS* = NONCLIENTMETRICSA;
		PtrNONCLIENTMETRICS* = PtrNONCLIENTMETRICSA;
		MINIMIZEDMETRICS* = RECORD [untagged]
			cbSize*: INTEGER;
			iWidth*: INTEGER;
			iHorzGap*: INTEGER;
			iVertGap*: INTEGER;
			iArrange*: INTEGER;
		END;
		PtrMINIMIZEDMETRICS* = POINTER TO MINIMIZEDMETRICS;
		ICONMETRICSA* = RECORD [untagged]
			cbSize*: INTEGER;
			iHorzSpacing*: INTEGER;
			iVertSpacing*: INTEGER;
			iTitleWrap*: INTEGER;
			lfFont*: LOGFONTA;
		END;
		PtrICONMETRICSA* = POINTER TO ICONMETRICSA;
		ICONMETRICSW* = RECORD [untagged]
			cbSize*: INTEGER;
			iHorzSpacing*: INTEGER;
			iVertSpacing*: INTEGER;
			iTitleWrap*: INTEGER;
			lfFont*: LOGFONTW;
		END;
		PtrICONMETRICSW* = POINTER TO ICONMETRICSW;
		ICONMETRICS* = ICONMETRICSA;
		PtrICONMETRICS* = PtrICONMETRICSA;
		ANIMATIONINFO* = RECORD [untagged]
			cbSize*: INTEGER;
			iMinAnimate*: INTEGER;
		END;
		PtrANIMATIONINFO* = POINTER TO ANIMATIONINFO;
		SERIALKEYSA* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			lpszActivePort*: PtrSTR;
			lpszPort*: PtrSTR;
			iBaudRate*: INTEGER;
			iPortState*: INTEGER;
			iActive*: INTEGER;
		END;
		PtrSERIALKEYSA* = POINTER TO SERIALKEYSA;
		SERIALKEYSW* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			lpszActivePort*: PtrWSTR;
			lpszPort*: PtrWSTR;
			iBaudRate*: INTEGER;
			iPortState*: INTEGER;
			iActive*: INTEGER;
		END;
		PtrSERIALKEYSW* = POINTER TO SERIALKEYSW;
		SERIALKEYS* = SERIALKEYSA;
		PtrSERIALKEYS* = PtrSERIALKEYSA;
		HIGHCONTRASTA* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			lpszDefaultScheme*: PtrSTR;
		END;
		PtrHIGHCONTRASTA* = POINTER TO HIGHCONTRASTA;
		HIGHCONTRASTW* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			lpszDefaultScheme*: PtrWSTR;
		END;
		PtrHIGHCONTRASTW* = POINTER TO HIGHCONTRASTW;
		HIGHCONTRAST* = HIGHCONTRASTA;
		PtrHIGHCONTRAST* = PtrHIGHCONTRASTA;
		FILTERKEYS* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			iWaitMSec*: INTEGER;
			iDelayMSec*: INTEGER;
			iRepeatMSec*: INTEGER;
			iBounceMSec*: INTEGER;
		END;
		PtrFILTERKEYS* = POINTER TO FILTERKEYS;
		STICKYKEYS* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
		END;
		PtrSTICKYKEYS* = POINTER TO STICKYKEYS;
		MOUSEKEYS* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			iMaxSpeed*: INTEGER;
			iTimeToMaxSpeed*: INTEGER;
			iCtrlSpeed*: INTEGER;
			dwReserved1*: INTEGER;
			dwReserved2*: INTEGER;
		END;
		PtrMOUSEKEYS* = POINTER TO MOUSEKEYS;
		ACCESSTIMEOUT* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			iTimeOutMSec*: INTEGER;
		END;
		PtrACCESSTIMEOUT* = POINTER TO ACCESSTIMEOUT;
		SOUNDSENTRYA* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			iFSTextEffect*: INTEGER;
			iFSTextEffectMSec*: INTEGER;
			iFSTextEffectColorBits*: INTEGER;
			iFSGrafEffect*: INTEGER;
			iFSGrafEffectMSec*: INTEGER;
			iFSGrafEffectColor*: INTEGER;
			iWindowsEffect*: INTEGER;
			iWindowsEffectMSec*: INTEGER;
			lpszWindowsEffectDLL*: PtrSTR;
			iWindowsEffectOrdinal*: INTEGER;
		END;
		PtrSOUNDSENTRYA* = POINTER TO SOUNDSENTRYA;
		SOUNDSENTRYW* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
			iFSTextEffect*: INTEGER;
			iFSTextEffectMSec*: INTEGER;
			iFSTextEffectColorBits*: INTEGER;
			iFSGrafEffect*: INTEGER;
			iFSGrafEffectMSec*: INTEGER;
			iFSGrafEffectColor*: INTEGER;
			iWindowsEffect*: INTEGER;
			iWindowsEffectMSec*: INTEGER;
			lpszWindowsEffectDLL*: PtrWSTR;
			iWindowsEffectOrdinal*: INTEGER;
		END;
		PtrSOUNDSENTRYW* = POINTER TO SOUNDSENTRYW;
		SOUNDSENTRY* = SOUNDSENTRYA;
		PtrSOUNDSENTRY* = PtrSOUNDSENTRYA;
		TOGGLEKEYS* = RECORD [untagged]
			cbSize*: INTEGER;
			dwFlags*: SET;
		END;
		PtrTOGGLEKEYS* = POINTER TO TOGGLEKEYS;
		LCTYPE* = INTEGER;
		CALTYPE* = INTEGER;
		CALID* = INTEGER;
		CPINFO* = RECORD [untagged]
			MaxCharSize*: INTEGER;
			DefaultChar*: ARRAY [untagged] 2 OF SHORTCHAR;
			LeadByte*: ARRAY [untagged] 12 OF SHORTCHAR;
		END;
		PtrCPINFO* = POINTER TO CPINFO;
		NUMBERFMTA* = RECORD [untagged]
			NumDigits*: INTEGER;
			LeadingZero*: INTEGER;
			Grouping*: INTEGER;
			lpDecimalSep*: PtrSTR;
			lpThousandSep*: PtrSTR;
			NegativeOrder*: INTEGER;
		END;
		PtrNUMBERFMTA* = POINTER TO NUMBERFMTA;
		NUMBERFMTW* = RECORD [untagged]
			NumDigits*: INTEGER;
			LeadingZero*: INTEGER;
			Grouping*: INTEGER;
			lpDecimalSep*: PtrWSTR;
			lpThousandSep*: PtrWSTR;
			NegativeOrder*: INTEGER;
		END;
		PtrNUMBERFMTW* = POINTER TO NUMBERFMTW;
		NUMBERFMT* = NUMBERFMTA;
		PtrNUMBERFMT* = PtrNUMBERFMTA;
		CURRENCYFMTA* = RECORD [untagged]
			NumDigits*: INTEGER;
			LeadingZero*: INTEGER;
			Grouping*: INTEGER;
			lpDecimalSep*: PtrSTR;
			lpThousandSep*: PtrSTR;
			NegativeOrder*: INTEGER;
			PositiveOrder*: INTEGER;
			lpCurrencySymbol*: PtrSTR;
		END;
		PtrCURRENCYFMTA* = POINTER TO CURRENCYFMTA;
		CURRENCYFMTW* = RECORD [untagged]
			NumDigits*: INTEGER;
			LeadingZero*: INTEGER;
			Grouping*: INTEGER;
			lpDecimalSep*: PtrWSTR;
			lpThousandSep*: PtrWSTR;
			NegativeOrder*: INTEGER;
			PositiveOrder*: INTEGER;
			lpCurrencySymbol*: PtrWSTR;
		END;
		PtrCURRENCYFMTW* = POINTER TO CURRENCYFMTW;
		CURRENCYFMT* = CURRENCYFMTA;
		PtrCURRENCYFMT* = PtrCURRENCYFMTA;
		LOCALE_ENUMPROCA* = PROCEDURE (): INTEGER;
		CODEPAGE_ENUMPROCA* = PROCEDURE (): INTEGER;
		DATEFMT_ENUMPROCA* = PROCEDURE (): INTEGER;
		TIMEFMT_ENUMPROCA* = PROCEDURE (): INTEGER;
		CALINFO_ENUMPROCA* = PROCEDURE (): INTEGER;
		LOCALE_ENUMPROCW* = PROCEDURE (): INTEGER;
		CODEPAGE_ENUMPROCW* = PROCEDURE (): INTEGER;
		DATEFMT_ENUMPROCW* = PROCEDURE (): INTEGER;
		TIMEFMT_ENUMPROCW* = PROCEDURE (): INTEGER;
		CALINFO_ENUMPROCW* = PROCEDURE (): INTEGER;
		COORD* = RECORD [untagged]
			X*: SHORTINT;
			Y*: SHORTINT;
		END;
		PtrCOORD* = POINTER TO COORD;
		SMALL_RECT* = RECORD [untagged]
			Left*: SHORTINT;
			Top*: SHORTINT;
			Right*: SHORTINT;
			Bottom*: SHORTINT;
		END;
		PtrSMALL_RECT* = POINTER TO SMALL_RECT;
		KEY_EVENT_RECORD* = RECORD [untagged]
			bKeyDown*: BOOL;
			wRepeatCount*: SHORTINT;
			wVirtualKeyCode*: SHORTINT;
			wVirtualScanCode*: SHORTINT;
			uChar*: RECORD [union]
				UnicodeChar*: CHAR;
				AsciiChar*: SHORTCHAR;
			END;
			dwControlKeyState*: SET;
		END;
		PtrKEY_EVENT_RECORD* = POINTER TO KEY_EVENT_RECORD;
		MOUSE_EVENT_RECORD* = RECORD [untagged]
			dwMousePosition*: COORD;
			dwButtonState*: SET;
			dwControlKeyState*: SET;
			dwEventFlags*: SET;
		END;
		PtrMOUSE_EVENT_RECORD* = POINTER TO MOUSE_EVENT_RECORD;
		WINDOW_BUFFER_SIZE_RECORD* = RECORD [untagged]
			dwSize*: COORD;
		END;
		PtrWINDOW_BUFFER_SIZE_RECORD* = POINTER TO WINDOW_BUFFER_SIZE_RECORD;
		MENU_EVENT_RECORD* = RECORD [untagged]
			dwCommandId*: INTEGER;
		END;
		PtrMENU_EVENT_RECORD* = POINTER TO MENU_EVENT_RECORD;
		FOCUS_EVENT_RECORD* = RECORD [untagged]
			bSetFocus*: BOOL;
		END;
		PtrFOCUS_EVENT_RECORD* = POINTER TO FOCUS_EVENT_RECORD;
		INPUT_RECORD* = RECORD [untagged]
			EventType*: SHORTINT;
			Event*: RECORD [union]
				KeyEvent*: KEY_EVENT_RECORD;
				MouseEvent*: MOUSE_EVENT_RECORD;
				WindowBufferSizeEvent*: WINDOW_BUFFER_SIZE_RECORD;
				MenuEvent*: MENU_EVENT_RECORD;
				FocusEvent*: FOCUS_EVENT_RECORD;
			END;
		END;
		PtrINPUT_RECORD* = POINTER TO INPUT_RECORD;
		CHAR_INFO* = RECORD [untagged]
			Char*: RECORD [union]
				UnicodeChar*: CHAR;
				AsciiChar*: SHORTCHAR;
			END;
			Attributes*: SHORTINT;
		END;
		PtrCHAR_INFO* = POINTER TO CHAR_INFO;
		CONSOLE_SCREEN_BUFFER_INFO* = RECORD [untagged]
			dwSize*: COORD;
			dwCursorPosition*: COORD;
			wAttributes*: SHORTINT;
			srWindow*: SMALL_RECT;
			dwMaximumWindowSize*: COORD;
		END;
		PtrCONSOLE_SCREEN_BUFFER_INFO* = POINTER TO CONSOLE_SCREEN_BUFFER_INFO;
		CONSOLE_CURSOR_INFO* = RECORD [untagged]
			dwSize*: INTEGER;
			bVisible*: BOOL;
		END;
		PtrCONSOLE_CURSOR_INFO* = POINTER TO CONSOLE_CURSOR_INFO;
		HANDLER_ROUTINE* = PROCEDURE (CtrlType: INTEGER): BOOL;
		VS_FIXEDFILEINFO* = RECORD [untagged]
			dwSignature*: INTEGER;
			dwStrucVersion*: INTEGER;
			dwFileVersionMS*: INTEGER;
			dwFileVersionLS*: INTEGER;
			dwProductVersionMS*: INTEGER;
			dwProductVersionLS*: INTEGER;
			dwFileFlagsMask*: SET;
			dwFileFlags*: SET;
			dwFileOS*: SET;
			dwFileType*: INTEGER;
			dwFileSubtype*: INTEGER;
			dwFileDateMS*: INTEGER;
			dwFileDateLS*: INTEGER;
		END;
		REGSAM* = ACCESS_MASK;
		HKEY* = HANDLE;
		val_context* = RECORD [untagged]
			valuelen*: INTEGER;
			value_context*: PtrVoid;
			val_buff_ptr*: PtrVoid;
		END;
		Ptrval_context* = POINTER TO val_context;
		PVALUEA* = RECORD [untagged]
			pv_valuename*: PtrSTR;
			pv_valuelen*: INTEGER;
			pv_value_context*: PtrVoid;
			pv_type*: INTEGER;
		END;
		PtrPVALUEA* = POINTER TO PVALUEA;
		PVALUEW* = RECORD [untagged]
			pv_valuename*: PtrWSTR;
			pv_valuelen*: INTEGER;
			pv_value_context*: PtrVoid;
			pv_type*: INTEGER;
		END;
		PtrPVALUEW* = POINTER TO PVALUEW;
		PVALUE* = PVALUEA;
		PtrPVALUE* = PtrPVALUEA;
		QUERYHANDLER* = PROCEDURE(keycontext: PtrVoid; VAR [nil] val_list: val_context; num_vals: INTEGER; outputbuffer: PtrVoid; VAR [nil] total_outlen: INTEGER; input_blen: INTEGER): INTEGER;
		REG_PROVIDER* = RECORD [untagged]
			pi_R0_1val*: QUERYHANDLER;
			pi_R0_allvals*: QUERYHANDLER;
			pi_R3_1val*: QUERYHANDLER;
			pi_R3_allvals*: QUERYHANDLER;
			pi_flags*: INTEGER;
			pi_key_context*: PtrVoid;
		END;
		PtrREG_PROVIDER* = POINTER TO REG_PROVIDER;
		VALENTA* = RECORD [untagged]
			ve_valuename*: PtrSTR;
			ve_valuelen*: INTEGER;
			ve_valueptr*: INTEGER;
			ve_type*: INTEGER;
		END;
		PtrVALENTA* = POINTER TO VALENTA;
		VALENTW* = RECORD [untagged]
			ve_valuename*: PtrWSTR;
			ve_valuelen*: INTEGER;
			ve_valueptr*: INTEGER;
			ve_type*: INTEGER;
		END;
		PtrVALENTW* = POINTER TO VALENTW;
		VALENT* = VALENTA;
		PtrVALENT* = PtrVALENTA;
		DDEACK* = RECORD [untagged]
			fBits0*: SHORTINT;
			(* bAppReturnCode*: INTEGER; (8 bits) *)
			(* reserved*: INTEGER; (6 bits) *)
			(* fBusy*: INTEGER; (1 bits) *)
			(* fAck*: INTEGER; (1 bits) *)
		END;
		DDEADVISE* = RECORD [untagged]
			fBits0*: SHORTINT;
			(* reserved*: INTEGER; (14 bits) *)
			(* fDeferUpd*: INTEGER; (1 bits) *)
			(* fAckReq*: INTEGER; (1 bits) *)
			cfFormat*: SHORTINT;
		END;
		DDEDATA* = RECORD [untagged]
			fBits0*: SHORTINT;
			(* unused*: INTEGER; (12 bits) *)
			(* fResponse*: INTEGER; (1 bits) *)
			(* fRelease*: INTEGER; (1 bits) *)
			(* reserved*: INTEGER; (1 bits) *)
			(* fAckReq*: INTEGER; (1 bits) *)
			cfFormat*: SHORTINT;
			Value*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		DDEPOKE* = RECORD [untagged]
			fBits0*: SHORTINT;
			(* unused*: INTEGER; (13 bits) *)
			(* fRelease*: INTEGER; (1 bits) *)
			(* fReserved*: INTEGER; (2 bits) *)
			cfFormat*: SHORTINT;
			Value*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		DDELN* = RECORD [untagged]
			fBits0*: SHORTINT;
			(* unused*: INTEGER; (13 bits) *)
			(* fRelease*: INTEGER; (1 bits) *)
			(* fDeferUpd*: INTEGER; (1 bits) *)
			(* fAckReq*: INTEGER; (1 bits) *)
			cfFormat*: SHORTINT;
		END;
		DDEUP* = RECORD [untagged]
			fBits0*: SHORTINT;
			(* unused*: INTEGER; (12 bits) *)
			(* fAck*: INTEGER; (1 bits) *)
			(* fRelease*: INTEGER; (1 bits) *)
			(* fReserved*: INTEGER; (1 bits) *)
			(* fAckReq*: INTEGER; (1 bits) *)
			cfFormat*: SHORTINT;
			rgb*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		HCONVLIST* = HANDLE;
		HCONV* = HANDLE;
		HSZ* = HANDLE;
		HDDEDATA* = HANDLE;
		HSZPAIR* = RECORD [untagged]
			hszSvc*: HSZ;
			hszTopic*: HSZ;
		END;
		PtrHSZPAIR* = POINTER TO HSZPAIR;
		CONVCONTEXT* = RECORD [untagged]
			cb*: INTEGER;
			wFlags*: INTEGER;
			wCountryID*: INTEGER;
			iCodePage*: INTEGER;
			dwLangID*: INTEGER;
			dwSecurity*: INTEGER;
			qos*: SECURITY_QUALITY_OF_SERVICE;
		END;
		PtrCONVCONTEXT* = POINTER TO CONVCONTEXT;
		CONVINFO* = RECORD [untagged]
			cb*: INTEGER;
			hUser*: INTEGER;
			hConvPartner*: HCONV;
			hszSvcPartner*: HSZ;
			hszServiceReq*: HSZ;
			hszTopic*: HSZ;
			hszItem*: HSZ;
			wFmt*: INTEGER;
			wType*: INTEGER;
			wStatus*: SET;
			wConvst*: INTEGER;
			wLastError*: INTEGER;
			hConvList*: HCONVLIST;
			ConvCtxt*: CONVCONTEXT;
			hwnd*: HWND;
			hwndPartner*: HWND;
		END;
		PtrCONVINFO* = POINTER TO CONVINFO;
		FNCALLBACK* = PROCEDURE (wType: INTEGER; wFmt: INTEGER; hConv: HCONV; hsz1: HSZ; hsz2: HSZ; hData: HDDEDATA; dwData1: INTEGER; dwData2: INTEGER): HDDEDATA;
		DDEML_MSG_HOOK_DATA* = RECORD [untagged]
			uiLo*: INTEGER;
			uiHi*: INTEGER;
			cbData*: INTEGER;
			Data*: ARRAY [untagged] 8 OF INTEGER;
		END;
		PtrDDEML_MSG_HOOK_DATA* = POINTER TO DDEML_MSG_HOOK_DATA;
		MONMSGSTRUCT* = RECORD [untagged]
			cb*: INTEGER;
			hwndTo*: HWND;
			dwTime*: INTEGER;
			hTask*: HANDLE;
			wMsg*: INTEGER;
			wParam*: WPARAM;
			lParam*: LPARAM;
			dmhd*: DDEML_MSG_HOOK_DATA;
		END;
		PtrMONMSGSTRUCT* = POINTER TO MONMSGSTRUCT;
		MONCBSTRUCT* = RECORD [untagged]
			cb*: INTEGER;
			dwTime*: INTEGER;
			hTask*: HANDLE;
			dwRet*: INTEGER;
			wType*: INTEGER;
			wFmt*: INTEGER;
			hConv*: HCONV;
			hsz1*: HSZ;
			hsz2*: HSZ;
			hData*: HDDEDATA;
			dwData1*: INTEGER;
			dwData2*: INTEGER;
			cc*: CONVCONTEXT;
			cbData*: INTEGER;
			Data*: ARRAY [untagged] 8 OF INTEGER;
		END;
		PtrMONCBSTRUCT* = POINTER TO MONCBSTRUCT;
		MONHSZSTRUCTA* = RECORD [untagged]
			cb*: INTEGER;
			fsAction*: BOOL;
			dwTime*: INTEGER;
			hsz*: HSZ;
			hTask*: HANDLE;
			str*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrMONHSZSTRUCTA* = POINTER TO MONHSZSTRUCTA;
		MONHSZSTRUCTW* = RECORD [untagged]
			cb*: INTEGER;
			fsAction*: BOOL;
			dwTime*: INTEGER;
			hsz*: HSZ;
			hTask*: HANDLE;
			str*: ARRAY [untagged] 1 OF CHAR;
		END;
		PtrMONHSZSTRUCTW* = POINTER TO MONHSZSTRUCTW;
		MONHSZSTRUCT* = MONHSZSTRUCTA;
		PtrMONHSZSTRUCT* = PtrMONHSZSTRUCTA;
		MONERRSTRUCT* = RECORD [untagged]
			cb*: INTEGER;
			wLastError*: INTEGER;
			dwTime*: INTEGER;
			hTask*: HANDLE;
		END;
		PtrMONERRSTRUCT* = POINTER TO MONERRSTRUCT;
		MONLINKSTRUCT* = RECORD [untagged]
			cb*: INTEGER;
			dwTime*: INTEGER;
			hTask*: HANDLE;
			fEstablished*: BOOL;
			fNoData*: BOOL;
			hszSvc*: HSZ;
			hszTopic*: HSZ;
			hszItem*: HSZ;
			wFmt*: INTEGER;
			fServer*: BOOL;
			hConvServer*: HCONV;
			hConvClient*: HCONV;
		END;
		PtrMONLINKSTRUCT* = POINTER TO MONLINKSTRUCT;
		MONCONVSTRUCT* = RECORD [untagged]
			cb*: INTEGER;
			fConnect*: BOOL;
			dwTime*: INTEGER;
			hTask*: HANDLE;
			hszSvc*: HSZ;
			hszTopic*: HSZ;
			hConvClient*: HCONV;
			hConvServer*: HCONV;
		END;
		PtrMONCONVSTRUCT* = POINTER TO MONCONVSTRUCT;
		HDROP* = HANDLE;
		DRAGINFOA* = RECORD [noalign]
			uSize*: INTEGER;
			pt*: POINT;
			fNC*: BOOL;
			lpFileList*: PtrSTR;
			grfKeyState*: SET;
		END;
		PtrDRAGINFOA* = POINTER TO DRAGINFOA;
		DRAGINFOW* = RECORD [noalign]
			uSize*: INTEGER;
			pt*: POINT;
			fNC*: BOOL;
			lpFileList*: PtrWSTR;
			grfKeyState*: SET;
		END;
		PtrDRAGINFOW* = POINTER TO DRAGINFOW;
		DRAGINFO* = DRAGINFOA;
		PtrDRAGINFO* = PtrDRAGINFOA;
		APPBARDATA* = RECORD [noalign]
			cbSize*: INTEGER;
			hWnd*: HWND;
			uCallbackMessage*: INTEGER;
			uEdge*: INTEGER;
			rc*: RECT;
			lParam*: LPARAM;
		END;
		PtrAPPBARDATA* = POINTER TO APPBARDATA;
		FILEOP_FLAGS* = SHORTINT;
		PRINTEROP_FLAGS* = SHORTINT;
		SHFILEOPSTRUCTA* = RECORD [noalign]
			hwnd*: HWND;
			wFunc*: INTEGER;
			pFrom*: PtrSTR;
			pTo*: PtrSTR;
			fFlags*: FILEOP_FLAGS;
			fAnyOperationsAborted*: BOOL;
			hNameMappings*: PtrVoid;
			lpszProgressTitle*: PtrSTR;
		END;
		PtrSHFILEOPSTRUCTA* = POINTER TO SHFILEOPSTRUCTA;
		SHFILEOPSTRUCTW* = RECORD [noalign]
			hwnd*: HWND;
			wFunc*: INTEGER;
			pFrom*: PtrWSTR;
			pTo*: PtrWSTR;
			fFlags*: FILEOP_FLAGS;
			fAnyOperationsAborted*: BOOL;
			hNameMappings*: PtrVoid;
			lpszProgressTitle*: PtrWSTR;
		END;
		PtrSHFILEOPSTRUCTW* = POINTER TO SHFILEOPSTRUCTW;
		SHFILEOPSTRUCT* = SHFILEOPSTRUCTA;
		PtrSHFILEOPSTRUCT* = PtrSHFILEOPSTRUCTA;
		SHNAMEMAPPINGA* = RECORD [noalign]
			pszOldPath*: PtrSTR;
			pszNewPath*: PtrSTR;
			cchOldPath*: INTEGER;
			cchNewPath*: INTEGER;
		END;
		PtrSHNAMEMAPPINGA* = POINTER TO SHNAMEMAPPINGA;
		SHNAMEMAPPINGW* = RECORD [noalign]
			pszOldPath*: PtrWSTR;
			pszNewPath*: PtrWSTR;
			cchOldPath*: INTEGER;
			cchNewPath*: INTEGER;
		END;
		PtrSHNAMEMAPPINGW* = POINTER TO SHNAMEMAPPINGW;
		SHNAMEMAPPING* = SHNAMEMAPPINGA;
		PtrSHNAMEMAPPING* = PtrSHNAMEMAPPINGA;
		SHELLEXECUTEINFOA* = RECORD [noalign]
			cbSize*: INTEGER;
			fMask*: SET;
			hwnd*: HWND;
			lpVerb*: PtrSTR;
			lpFile*: PtrSTR;
			lpParameters*: PtrSTR;
			lpDirectory*: PtrSTR;
			nShow*: INTEGER;
			hInstApp*: HINSTANCE;
			lpIDList*: PtrVoid;
			lpClass*: PtrSTR;
			hkeyClass*: HKEY;
			dwHotKey*: INTEGER;
			hIcon*: HANDLE;
			hProcess*: HANDLE;
		END;
		PtrSHELLEXECUTEINFOA* = POINTER TO SHELLEXECUTEINFOA;
		SHELLEXECUTEINFOW* = RECORD [noalign]
			cbSize*: INTEGER;
			fMask*: SET;
			hwnd*: HWND;
			lpVerb*: PtrWSTR;
			lpFile*: PtrWSTR;
			lpParameters*: PtrWSTR;
			lpDirectory*: PtrWSTR;
			nShow*: INTEGER;
			hInstApp*: HINSTANCE;
			lpIDList*: PtrVoid;
			lpClass*: PtrWSTR;
			hkeyClass*: HKEY;
			dwHotKey*: INTEGER;
			hIcon*: HANDLE;
			hProcess*: HANDLE;
		END;
		PtrSHELLEXECUTEINFOW* = POINTER TO SHELLEXECUTEINFOW;
		SHELLEXECUTEINFO* = SHELLEXECUTEINFOA;
		PtrSHELLEXECUTEINFO* = PtrSHELLEXECUTEINFOA;
		NOTIFYICONDATAA* = RECORD [noalign]
			cbSize*: INTEGER;
			hWnd*: HWND;
			uID*: INTEGER;
			uFlags*: SET;
			uCallbackMessage*: INTEGER;
			hIcon*: HICON;
			szTip*: ARRAY [untagged] 64 OF SHORTCHAR;
		END;
		PtrNOTIFYICONDATAA* = POINTER TO NOTIFYICONDATAA;
		NOTIFYICONDATAW* = RECORD [noalign]
			cbSize*: INTEGER;
			hWnd*: HWND;
			uID*: INTEGER;
			uFlags*: SET;
			uCallbackMessage*: INTEGER;
			hIcon*: HICON;
			szTip*: ARRAY [untagged] 64 OF CHAR;
		END;
		PtrNOTIFYICONDATAW* = POINTER TO NOTIFYICONDATAW;
		NOTIFYICONDATA* = NOTIFYICONDATAA;
		PtrNOTIFYICONDATA* = PtrNOTIFYICONDATAA;
		SHFILEINFOA* = RECORD [noalign]
			hIcon*: HICON;
			iIcon*: INTEGER;
			dwAttributes*: SET;
			szDisplayName*: ARRAY [untagged] 260 OF SHORTCHAR;
			szTypeName*: ARRAY [untagged] 80 OF SHORTCHAR;
		END;
		PtrSHFILEINFOA* = POINTER TO SHFILEINFOA;
		SHFILEINFOW* = RECORD [noalign]
			hIcon*: HICON;
			iIcon*: INTEGER;
			dwAttributes*: SET;
			szDisplayName*: ARRAY [untagged] 260 OF CHAR;
			szTypeName*: ARRAY [untagged] 80 OF CHAR;
		END;
		PtrSHFILEINFOW* = POINTER TO SHFILEINFOW;
		SHFILEINFO* = SHFILEINFOA;
		PtrSHFILEINFO* = PtrSHFILEINFOA;
		PtrPROPSHEETPAGEA* = POINTER TO PROPSHEETPAGEA;
		FNPSPCALLBACKA* = PROCEDURE (hwnd: HWND; uMsg: INTEGER; ppsp: PtrPROPSHEETPAGEA): INTEGER;
		PtrPROPSHEETPAGEW* = POINTER TO PROPSHEETPAGEW;
		FNPSPCALLBACKW* = PROCEDURE (hwnd: HWND; uMsg: INTEGER; ppsp: PtrPROPSHEETPAGEW): INTEGER;
		PROPSHEETPAGEA* = RECORD [untagged]
			dwSize*: INTEGER;
			dwFlags*: SET;
			hInstance*: HINSTANCE;
			u*: RECORD [union]
				pszTemplate*: PtrSTR;
				pResource*: PtrDLGTEMPLATE;
			END;
			u1*: RECORD [union]
				hIcon*: HICON;
				pszIcon*: PtrSTR;
			END;
			pszTitle*: PtrSTR;
			pfnDlgProc*: DLGPROC;
			lParam*: LPARAM;
			pfnCallback*: FNPSPCALLBACKA;
			pcRefParent*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
		END;
		PROPSHEETPAGEW* = RECORD [untagged]
			dwSize*: INTEGER;
			dwFlags*: SET;
			hInstance*: HINSTANCE;
			u*: RECORD [union]
				pszTemplate*: PtrWSTR;
				pResource*: PtrDLGTEMPLATE;
			END;
			u1*: RECORD [union]
				hIcon*: HICON;
				pszIcon*: PtrWSTR;
			END;
			pszTitle*: PtrWSTR;
			pfnDlgProc*: DLGPROC;
			lParam*: LPARAM;
			pfnCallback*: FNPSPCALLBACKW;
			pcRefParent*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
		END;
		PROPSHEETPAGE* = PROPSHEETPAGEA; (*m*)
		PtrPROPSHEETPAGE* = PtrPROPSHEETPAGEA;
		FNPROPSHEETCALLBACK* = PROCEDURE (p0: HWND; p1: INTEGER; p2: LPARAM): INTEGER;
		_PSP* = RECORD [untagged] (*i*) END; 
		Ptr_PSP* = POINTER TO _PSP;
		PROPSHEETHEADERA* = RECORD [untagged]
			dwSize*: INTEGER;
			dwFlags*: SET;
			hwndParent*: HWND;
			hInstance*: HINSTANCE;
			u*: RECORD [union]
				hIcon*: HICON;
				pszIcon*: PtrSTR;
			END;
			pszCaption*: PtrSTR;
			nPages*: INTEGER;
			u1*: RECORD [union]
				nStartPage*: INTEGER;
				pStartPage*: PtrSTR;
			END;
			u2*: RECORD [union]
				ppsp*: PtrPROPSHEETPAGEA;
				phpage*: POINTER TO (*?*) ARRAY [untagged] OF Ptr_PSP;
			END;
			pfnCallback*: FNPROPSHEETCALLBACK;
		END;
		PtrPROPSHEETHEADERA* = POINTER TO PROPSHEETHEADERA;
		PROPSHEETHEADERW* = RECORD [untagged]
			dwSize*: INTEGER;
			dwFlags*: SET;
			hwndParent*: HWND;
			hInstance*: HINSTANCE;
			u*: RECORD [union]
				hIcon*: HICON;
				pszIcon*: PtrWSTR;
			END;
			pszCaption*: PtrWSTR;
			nPages*: INTEGER;
			u1*: RECORD [union]
				nStartPage*: INTEGER;
				pStartPage*: PtrWSTR;
			END;
			u2*: RECORD [union]
				ppsp*: PtrPROPSHEETPAGEW;
				phpage*: POINTER TO (*?*) ARRAY [untagged] OF Ptr_PSP;
			END;
			pfnCallback*: FNPROPSHEETCALLBACK;
		END;
		PtrPROPSHEETHEADERW* = POINTER TO PROPSHEETHEADERW;
		PROPSHEETHEADER* = PROPSHEETHEADERA; (*m*)
		PtrPROPSHEETHEADER* = PtrPROPSHEETHEADERA;
		FNADDPROPSHEETPAGE* = PROCEDURE (p0: Ptr_PSP; p1: LPARAM): BOOL;
		FNADDPROPSHEETPAGES* = PROCEDURE (p0: PtrVoid; p1: FNADDPROPSHEETPAGE; p2: LPARAM): BOOL;
		PSHNOTIFY* = RECORD [untagged]
			hdr*: NMHDR;
			lParam*: LPARAM;
		END;
		PtrPSHNOTIFY* = POINTER TO PSHNOTIFY;
		PRINTER_INFO_1A* = RECORD [untagged]
			Flags*: SET;
			pDescription*: PtrSTR;
			pName*: PtrSTR;
			pComment*: PtrSTR;
		END;
		PtrPRINTER_INFO_1A* = POINTER TO PRINTER_INFO_1A;
		PRINTER_INFO_1W* = RECORD [untagged]
			Flags*: SET;
			pDescription*: PtrWSTR;
			pName*: PtrWSTR;
			pComment*: PtrWSTR;
		END;
		PtrPRINTER_INFO_1W* = POINTER TO PRINTER_INFO_1W;
		PRINTER_INFO_1* = PRINTER_INFO_1A;
		PtrPRINTER_INFO_1* = PtrPRINTER_INFO_1A;
		PRINTER_INFO_2A* = RECORD [untagged]
			pServerName*: PtrSTR;
			pPrinterName*: PtrSTR;
			pShareName*: PtrSTR;
			pPortName*: PtrSTR;
			pDriverName*: PtrSTR;
			pComment*: PtrSTR;
			pLocation*: PtrSTR;
			pDevMode*: PtrDEVMODEA;
			pSepFile*: PtrSTR;
			pPrintProcessor*: PtrSTR;
			pDatatype*: PtrSTR;
			pParameters*: PtrSTR;
			pSecurityDescriptor*: PSECURITY_DESCRIPTOR;
			Attributes*: SET;
			Priority*: INTEGER;
			DefaultPriority*: INTEGER;
			StartTime*: INTEGER;
			UntilTime*: INTEGER;
			Status*: SET;
			cJobs*: INTEGER;
			AveragePPM*: INTEGER;
		END;
		PtrPRINTER_INFO_2A* = POINTER TO PRINTER_INFO_2A;
		PRINTER_INFO_2W* = RECORD [untagged]
			pServerName*: PtrWSTR;
			pPrinterName*: PtrWSTR;
			pShareName*: PtrWSTR;
			pPortName*: PtrWSTR;
			pDriverName*: PtrWSTR;
			pComment*: PtrWSTR;
			pLocation*: PtrWSTR;
			pDevMode*: PtrDEVMODEW;
			pSepFile*: PtrWSTR;
			pPrintProcessor*: PtrWSTR;
			pDatatype*: PtrWSTR;
			pParameters*: PtrWSTR;
			pSecurityDescriptor*: PSECURITY_DESCRIPTOR;
			Attributes*: SET;
			Priority*: INTEGER;
			DefaultPriority*: INTEGER;
			StartTime*: INTEGER;
			UntilTime*: INTEGER;
			Status*: SET;
			cJobs*: INTEGER;
			AveragePPM*: INTEGER;
		END;
		PtrPRINTER_INFO_2W* = POINTER TO PRINTER_INFO_2W;
		PRINTER_INFO_2* = PRINTER_INFO_2A;
		PtrPRINTER_INFO_2* = PtrPRINTER_INFO_2A;
		PRINTER_INFO_3* = RECORD [untagged]
			pSecurityDescriptor*: PSECURITY_DESCRIPTOR;
		END;
		PtrPRINTER_INFO_3* = POINTER TO PRINTER_INFO_3;
		PRINTER_INFO_4A* = RECORD [untagged]
			pPrinterName*: PtrSTR;
			pServerName*: PtrSTR;
			Attributes*: SET;
		END;
		PtrPRINTER_INFO_4A* = POINTER TO PRINTER_INFO_4A;
		PRINTER_INFO_4W* = RECORD [untagged]
			pPrinterName*: PtrWSTR;
			pServerName*: PtrWSTR;
			Attributes*: SET;
		END;
		PtrPRINTER_INFO_4W* = POINTER TO PRINTER_INFO_4W;
		PRINTER_INFO_4* = PRINTER_INFO_4A;
		PtrPRINTER_INFO_4* = PtrPRINTER_INFO_4A;
		PRINTER_INFO_5A* = RECORD [untagged]
			pPrinterName*: PtrSTR;
			pPortName*: PtrSTR;
			Attributes*: SET;
			DeviceNotSelectedTimeout*: INTEGER;
			TransmissionRetryTimeout*: INTEGER;
		END;
		PtrPRINTER_INFO_5A* = POINTER TO PRINTER_INFO_5A;
		PRINTER_INFO_5W* = RECORD [untagged]
			pPrinterName*: PtrWSTR;
			pPortName*: PtrWSTR;
			Attributes*: SET;
			DeviceNotSelectedTimeout*: INTEGER;
			TransmissionRetryTimeout*: INTEGER;
		END;
		PtrPRINTER_INFO_5W* = POINTER TO PRINTER_INFO_5W;
		PRINTER_INFO_5* = PRINTER_INFO_5A;
		PtrPRINTER_INFO_5* = PtrPRINTER_INFO_5A;
		PRINTER_INFO_6* = RECORD [untagged]
			dwStatus*: SET;
		END;
		PtrPRINTER_INFO_6* = POINTER TO PRINTER_INFO_6;
		JOB_INFO_1A* = RECORD [untagged]
			JobId*: INTEGER;
			pPrinterName*: PtrSTR;
			pMachineName*: PtrSTR;
			pUserName*: PtrSTR;
			pDocument*: PtrSTR;
			pDatatype*: PtrSTR;
			pStatus*: PtrSTR;
			Status*: SET;
			Priority*: INTEGER;
			Position*: INTEGER;
			TotalPages*: INTEGER;
			PagesPrinted*: INTEGER;
			Submitted*: SYSTEMTIME;
		END;
		PtrJOB_INFO_1A* = POINTER TO JOB_INFO_1A;
		JOB_INFO_1W* = RECORD [untagged]
			JobId*: INTEGER;
			pPrinterName*: PtrWSTR;
			pMachineName*: PtrWSTR;
			pUserName*: PtrWSTR;
			pDocument*: PtrWSTR;
			pDatatype*: PtrWSTR;
			pStatus*: PtrWSTR;
			Status*: SET;
			Priority*: INTEGER;
			Position*: INTEGER;
			TotalPages*: INTEGER;
			PagesPrinted*: INTEGER;
			Submitted*: SYSTEMTIME;
		END;
		PtrJOB_INFO_1W* = POINTER TO JOB_INFO_1W;
		JOB_INFO_1* = JOB_INFO_1A;
		PtrJOB_INFO_1* = PtrJOB_INFO_1A;
		JOB_INFO_2A* = RECORD [untagged]
			JobId*: INTEGER;
			pPrinterName*: PtrSTR;
			pMachineName*: PtrSTR;
			pUserName*: PtrSTR;
			pDocument*: PtrSTR;
			pNotifyName*: PtrSTR;
			pDatatype*: PtrSTR;
			pPrintProcessor*: PtrSTR;
			pParameters*: PtrSTR;
			pDriverName*: PtrSTR;
			pDevMode*: PtrDEVMODEA;
			pStatus*: PtrSTR;
			pSecurityDescriptor*: PSECURITY_DESCRIPTOR;
			Status*: SET;
			Priority*: INTEGER;
			Position*: INTEGER;
			StartTime*: INTEGER;
			UntilTime*: INTEGER;
			TotalPages*: INTEGER;
			Size*: INTEGER;
			Submitted*: SYSTEMTIME;
			Time*: INTEGER;
			PagesPrinted*: INTEGER;
		END;
		PtrJOB_INFO_2A* = POINTER TO JOB_INFO_2A;
		JOB_INFO_2W* = RECORD [untagged]
			JobId*: INTEGER;
			pPrinterName*: PtrWSTR;
			pMachineName*: PtrWSTR;
			pUserName*: PtrWSTR;
			pDocument*: PtrWSTR;
			pNotifyName*: PtrWSTR;
			pDatatype*: PtrWSTR;
			pPrintProcessor*: PtrWSTR;
			pParameters*: PtrWSTR;
			pDriverName*: PtrWSTR;
			pDevMode*: PtrDEVMODEW;
			pStatus*: PtrWSTR;
			pSecurityDescriptor*: PSECURITY_DESCRIPTOR;
			Status*: SET;
			Priority*: INTEGER;
			Position*: INTEGER;
			StartTime*: INTEGER;
			UntilTime*: INTEGER;
			TotalPages*: INTEGER;
			Size*: INTEGER;
			Submitted*: SYSTEMTIME;
			Time*: INTEGER;
			PagesPrinted*: INTEGER;
		END;
		PtrJOB_INFO_2W* = POINTER TO JOB_INFO_2W;
		JOB_INFO_2* = JOB_INFO_2A;
		PtrJOB_INFO_2* = PtrJOB_INFO_2A;
		ADDJOB_INFO_1A* = RECORD [untagged]
			Path*: PtrSTR;
			JobId*: INTEGER;
		END;
		PtrADDJOB_INFO_1A* = POINTER TO ADDJOB_INFO_1A;
		ADDJOB_INFO_1W* = RECORD [untagged]
			Path*: PtrWSTR;
			JobId*: INTEGER;
		END;
		PtrADDJOB_INFO_1W* = POINTER TO ADDJOB_INFO_1W;
		ADDJOB_INFO_1* = ADDJOB_INFO_1A;
		PtrADDJOB_INFO_1* = PtrADDJOB_INFO_1A;
		DRIVER_INFO_1A* = RECORD [untagged]
			pName*: PtrSTR;
		END;
		PtrDRIVER_INFO_1A* = POINTER TO DRIVER_INFO_1A;
		DRIVER_INFO_1W* = RECORD [untagged]
			pName*: PtrWSTR;
		END;
		PtrDRIVER_INFO_1W* = POINTER TO DRIVER_INFO_1W;
		DRIVER_INFO_1* = DRIVER_INFO_1A;
		PtrDRIVER_INFO_1* = PtrDRIVER_INFO_1A;
		DRIVER_INFO_2A* = RECORD [untagged]
			cVersion*: INTEGER;
			pName*: PtrSTR;
			pEnvironment*: PtrSTR;
			pDriverPath*: PtrSTR;
			pDataFile*: PtrSTR;
			pConfigFile*: PtrSTR;
		END;
		PtrDRIVER_INFO_2A* = POINTER TO DRIVER_INFO_2A;
		DRIVER_INFO_2W* = RECORD [untagged]
			cVersion*: INTEGER;
			pName*: PtrWSTR;
			pEnvironment*: PtrWSTR;
			pDriverPath*: PtrWSTR;
			pDataFile*: PtrWSTR;
			pConfigFile*: PtrWSTR;
		END;
		PtrDRIVER_INFO_2W* = POINTER TO DRIVER_INFO_2W;
		DRIVER_INFO_2* = DRIVER_INFO_2A;
		PtrDRIVER_INFO_2* = PtrDRIVER_INFO_2A;
		DRIVER_INFO_3A* = RECORD [untagged]
			cVersion*: INTEGER;
			pName*: PtrSTR;
			pEnvironment*: PtrSTR;
			pDriverPath*: PtrSTR;
			pDataFile*: PtrSTR;
			pConfigFile*: PtrSTR;
			pHelpFile*: PtrSTR;
			pDependentFiles*: PtrSTR;
			pMonitorName*: PtrSTR;
			pDefaultDataType*: PtrSTR;
		END;
		PtrDRIVER_INFO_3A* = POINTER TO DRIVER_INFO_3A;
		DRIVER_INFO_3W* = RECORD [untagged]
			cVersion*: INTEGER;
			pName*: PtrWSTR;
			pEnvironment*: PtrWSTR;
			pDriverPath*: PtrWSTR;
			pDataFile*: PtrWSTR;
			pConfigFile*: PtrWSTR;
			pHelpFile*: PtrWSTR;
			pDependentFiles*: PtrWSTR;
			pMonitorName*: PtrWSTR;
			pDefaultDataType*: PtrWSTR;
		END;
		PtrDRIVER_INFO_3W* = POINTER TO DRIVER_INFO_3W;
		DRIVER_INFO_3* = DRIVER_INFO_3A;
		PtrDRIVER_INFO_3* = PtrDRIVER_INFO_3A;
		DOC_INFO_1A* = RECORD [untagged]
			pDocName*: PtrSTR;
			pOutputFile*: PtrSTR;
			pDatatype*: PtrSTR;
		END;
		PtrDOC_INFO_1A* = POINTER TO DOC_INFO_1A;
		DOC_INFO_1W* = RECORD [untagged]
			pDocName*: PtrWSTR;
			pOutputFile*: PtrWSTR;
			pDatatype*: PtrWSTR;
		END;
		PtrDOC_INFO_1W* = POINTER TO DOC_INFO_1W;
		DOC_INFO_1* = DOC_INFO_1A;
		PtrDOC_INFO_1* = PtrDOC_INFO_1A;
		FORM_INFO_1A* = RECORD [untagged]
			Flags*: SET;
			pName*: PtrSTR;
			Size*: SIZE;
			ImageableArea*: RECT;
		END;
		PtrFORM_INFO_1A* = POINTER TO FORM_INFO_1A;
		FORM_INFO_1W* = RECORD [untagged]
			Flags*: SET;
			pName*: PtrWSTR;
			Size*: SIZE;
			ImageableArea*: RECT;
		END;
		PtrFORM_INFO_1W* = POINTER TO FORM_INFO_1W;
		FORM_INFO_1* = FORM_INFO_1A;
		PtrFORM_INFO_1* = PtrFORM_INFO_1A;
		DOC_INFO_2A* = RECORD [untagged]
			pDocName*: PtrSTR;
			pOutputFile*: PtrSTR;
			pDatatype*: PtrSTR;
			dwMode*: SET;
			JobId*: INTEGER;
		END;
		PtrDOC_INFO_2A* = POINTER TO DOC_INFO_2A;
		DOC_INFO_2W* = RECORD [untagged]
			pDocName*: PtrWSTR;
			pOutputFile*: PtrWSTR;
			pDatatype*: PtrWSTR;
			dwMode*: SET;
			JobId*: INTEGER;
		END;
		PtrDOC_INFO_2W* = POINTER TO DOC_INFO_2W;
		DOC_INFO_2* = DOC_INFO_2A;
		PtrDOC_INFO_2* = PtrDOC_INFO_2A;
		PRINTPROCESSOR_INFO_1A* = RECORD [untagged]
			pName*: PtrSTR;
		END;
		PtrPRINTPROCESSOR_INFO_1A* = POINTER TO PRINTPROCESSOR_INFO_1A;
		PRINTPROCESSOR_INFO_1W* = RECORD [untagged]
			pName*: PtrWSTR;
		END;
		PtrPRINTPROCESSOR_INFO_1W* = POINTER TO PRINTPROCESSOR_INFO_1W;
		PRINTPROCESSOR_INFO_1* = PRINTPROCESSOR_INFO_1A;
		PtrPRINTPROCESSOR_INFO_1* = PtrPRINTPROCESSOR_INFO_1A;
		PORT_INFO_1A* = RECORD [untagged]
			pName*: PtrSTR;
		END;
		PtrPORT_INFO_1A* = POINTER TO PORT_INFO_1A;
		PORT_INFO_1W* = RECORD [untagged]
			pName*: PtrWSTR;
		END;
		PtrPORT_INFO_1W* = POINTER TO PORT_INFO_1W;
		PORT_INFO_1* = PORT_INFO_1A;
		PtrPORT_INFO_1* = PtrPORT_INFO_1A;
		PORT_INFO_2A* = RECORD [untagged]
			pPortName*: PtrSTR;
			pMonitorName*: PtrSTR;
			pDescription*: PtrSTR;
			fPortType*: INTEGER;
			Reserved*: INTEGER;
		END;
		PtrPORT_INFO_2A* = POINTER TO PORT_INFO_2A;
		PORT_INFO_2W* = RECORD [untagged]
			pPortName*: PtrWSTR;
			pMonitorName*: PtrWSTR;
			pDescription*: PtrWSTR;
			fPortType*: INTEGER;
			Reserved*: INTEGER;
		END;
		PtrPORT_INFO_2W* = POINTER TO PORT_INFO_2W;
		PORT_INFO_2* = PORT_INFO_2A;
		PtrPORT_INFO_2* = PtrPORT_INFO_2A;
		MONITOR_INFO_1A* = RECORD [untagged]
			pName*: PtrSTR;
		END;
		PtrMONITOR_INFO_1A* = POINTER TO MONITOR_INFO_1A;
		MONITOR_INFO_1W* = RECORD [untagged]
			pName*: PtrWSTR;
		END;
		PtrMONITOR_INFO_1W* = POINTER TO MONITOR_INFO_1W;
		MONITOR_INFO_1* = MONITOR_INFO_1A;
		PtrMONITOR_INFO_1* = PtrMONITOR_INFO_1A;
		MONITOR_INFO_2A* = RECORD [untagged]
			pName*: PtrSTR;
			pEnvironment*: PtrSTR;
			pDLLName*: PtrSTR;
		END;
		PtrMONITOR_INFO_2A* = POINTER TO MONITOR_INFO_2A;
		MONITOR_INFO_2W* = RECORD [untagged]
			pName*: PtrWSTR;
			pEnvironment*: PtrWSTR;
			pDLLName*: PtrWSTR;
		END;
		PtrMONITOR_INFO_2W* = POINTER TO MONITOR_INFO_2W;
		MONITOR_INFO_2* = MONITOR_INFO_2A;
		PtrMONITOR_INFO_2* = PtrMONITOR_INFO_2A;
		DATATYPES_INFO_1A* = RECORD [untagged]
			pName*: PtrSTR;
		END;
		PtrDATATYPES_INFO_1A* = POINTER TO DATATYPES_INFO_1A;
		DATATYPES_INFO_1W* = RECORD [untagged]
			pName*: PtrWSTR;
		END;
		PtrDATATYPES_INFO_1W* = POINTER TO DATATYPES_INFO_1W;
		DATATYPES_INFO_1* = DATATYPES_INFO_1A;
		PtrDATATYPES_INFO_1* = PtrDATATYPES_INFO_1A;
		PRINTER_DEFAULTSA* = RECORD [untagged]
			pDatatype*: PtrSTR;
			pDevMode*: PtrDEVMODEA;
			DesiredAccess*: ACCESS_MASK;
		END;
		PtrPRINTER_DEFAULTSA* = POINTER TO PRINTER_DEFAULTSA;
		PRINTER_DEFAULTSW* = RECORD [untagged]
			pDatatype*: PtrWSTR;
			pDevMode*: PtrDEVMODEW;
			DesiredAccess*: ACCESS_MASK;
		END;
		PtrPRINTER_DEFAULTSW* = POINTER TO PRINTER_DEFAULTSW;
		PRINTER_DEFAULTS* = PRINTER_DEFAULTSA;
		PtrPRINTER_DEFAULTS* = PtrPRINTER_DEFAULTSA;
		PRINTER_NOTIFY_OPTIONS_TYPE* = RECORD [untagged]
			Type*: SHORTINT;
			Reserved0*: SHORTINT;
			Reserved1*: INTEGER;
			Reserved2*: INTEGER;
			Count*: INTEGER;
			pFields*: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
		END;
		PtrPRINTER_NOTIFY_OPTIONS_TYPE* = POINTER TO PRINTER_NOTIFY_OPTIONS_TYPE;
		PRINTER_NOTIFY_OPTIONS* = RECORD [untagged]
			Version*: INTEGER;
			Flags*: SET;
			Count*: INTEGER;
			pTypes*: PtrPRINTER_NOTIFY_OPTIONS_TYPE;
		END;
		PtrPRINTER_NOTIFY_OPTIONS* = POINTER TO PRINTER_NOTIFY_OPTIONS;
		PRINTER_NOTIFY_INFO_DATA* = RECORD [untagged]
			Type*: SHORTINT;
			Field*: SHORTINT;
			Reserved*: INTEGER;
			Id*: INTEGER;
			NotifyData*: RECORD [union]
				adwData*: ARRAY [untagged] 2 OF INTEGER;
				Data*: RECORD [untagged]
					cbBuf*: INTEGER;
					pBuf*: PtrVoid;
				END;
			END;
		END;
		PtrPRINTER_NOTIFY_INFO_DATA* = POINTER TO PRINTER_NOTIFY_INFO_DATA;
		PRINTER_NOTIFY_INFO* = RECORD [untagged]
			Version*: INTEGER;
			Flags*: SET;
			Count*: INTEGER;
			aData*: ARRAY [untagged] 1 OF PRINTER_NOTIFY_INFO_DATA;
		END;
		PtrPRINTER_NOTIFY_INFO* = POINTER TO PRINTER_NOTIFY_INFO;
		PROVIDOR_INFO_1A* = RECORD [untagged]
			pName*: PtrSTR;
			pEnvironment*: PtrSTR;
			pDLLName*: PtrSTR;
		END;
		PtrPROVIDOR_INFO_1A* = POINTER TO PROVIDOR_INFO_1A;
		PROVIDOR_INFO_1W* = RECORD [untagged]
			pName*: PtrWSTR;
			pEnvironment*: PtrWSTR;
			pDLLName*: PtrWSTR;
		END;
		PtrPROVIDOR_INFO_1W* = POINTER TO PROVIDOR_INFO_1W;
		PROVIDOR_INFO_1* = PROVIDOR_INFO_1A;
		PtrPROVIDOR_INFO_1* = PtrPROVIDOR_INFO_1A;
		SC_HANDLE* = HANDLE;
		SERVICE_STATUS_HANDLE* = INTEGER;
		SERVICE_STATUS* = RECORD [untagged]
			dwServiceType*: SET;
			dwCurrentState*: INTEGER;
			dwControlsAccepted*: INTEGER;
			dwWin32ExitCode*: INTEGER;
			dwServiceSpecificExitCode*: INTEGER;
			dwCheckPoint*: INTEGER;
			dwWaitHint*: INTEGER;
		END;
		PtrSERVICE_STATUS* = POINTER TO SERVICE_STATUS;
		ENUM_SERVICE_STATUSA* = RECORD [untagged]
			lpServiceName*: PtrSTR;
			lpDisplayName*: PtrSTR;
			ServiceStatus*: SERVICE_STATUS;
		END;
		PtrENUM_SERVICE_STATUSA* = POINTER TO ENUM_SERVICE_STATUSA;
		ENUM_SERVICE_STATUSW* = RECORD [untagged]
			lpServiceName*: PtrWSTR;
			lpDisplayName*: PtrWSTR;
			ServiceStatus*: SERVICE_STATUS;
		END;
		PtrENUM_SERVICE_STATUSW* = POINTER TO ENUM_SERVICE_STATUSW;
		ENUM_SERVICE_STATUS* = ENUM_SERVICE_STATUSA;
		PtrENUM_SERVICE_STATUS* = PtrENUM_SERVICE_STATUSA;
		SC_LOCK* = PtrVoid;
		QUERY_SERVICE_LOCK_STATUSA* = RECORD [untagged]
			fIsLocked*: INTEGER;
			lpLockOwner*: PtrSTR;
			dwLockDuration*: INTEGER;
		END;
		PtrQUERY_SERVICE_LOCK_STATUSA* = POINTER TO QUERY_SERVICE_LOCK_STATUSA;
		QUERY_SERVICE_LOCK_STATUSW* = RECORD [untagged]
			fIsLocked*: INTEGER;
			lpLockOwner*: PtrWSTR;
			dwLockDuration*: INTEGER;
		END;
		PtrQUERY_SERVICE_LOCK_STATUSW* = POINTER TO QUERY_SERVICE_LOCK_STATUSW;
		QUERY_SERVICE_LOCK_STATUS* = QUERY_SERVICE_LOCK_STATUSA;
		PtrQUERY_SERVICE_LOCK_STATUS* = PtrQUERY_SERVICE_LOCK_STATUSA;
		QUERY_SERVICE_CONFIGA* = RECORD [untagged]
			dwServiceType*: SET;
			dwStartType*: INTEGER;
			dwErrorControl*: INTEGER;
			lpBinaryPathName*: PtrSTR;
			lpLoadOrderGroup*: PtrSTR;
			dwTagId*: INTEGER;
			lpDependencies*: PtrSTR;
			lpServiceStartName*: PtrSTR;
			lpDisplayName*: PtrSTR;
		END;
		PtrQUERY_SERVICE_CONFIGA* = POINTER TO QUERY_SERVICE_CONFIGA;
		QUERY_SERVICE_CONFIGW* = RECORD [untagged]
			dwServiceType*: SET;
			dwStartType*: INTEGER;
			dwErrorControl*: INTEGER;
			lpBinaryPathName*: PtrWSTR;
			lpLoadOrderGroup*: PtrWSTR;
			dwTagId*: INTEGER;
			lpDependencies*: PtrWSTR;
			lpServiceStartName*: PtrWSTR;
			lpDisplayName*: PtrWSTR;
		END;
		PtrQUERY_SERVICE_CONFIGW* = POINTER TO QUERY_SERVICE_CONFIGW;
		QUERY_SERVICE_CONFIG* = QUERY_SERVICE_CONFIGA;
		PtrQUERY_SERVICE_CONFIG* = PtrQUERY_SERVICE_CONFIGA;
		SERVICE_MAIN_FUNCTIONW* = PROCEDURE (dwNumServicesArgs: INTEGER; lpServiceArgVectors: POINTER TO (*?*) ARRAY [untagged] OF PtrWSTR);
		SERVICE_MAIN_FUNCTIONA* = PROCEDURE (dwNumServicesArgs: INTEGER; lpServiceArgVectors: POINTER TO (*?*) ARRAY [untagged] OF PtrSTR);
		SERVICE_TABLE_ENTRYA* = RECORD [untagged]
			lpServiceName*: PtrSTR;
			lpServiceProc*: SERVICE_MAIN_FUNCTIONA;
		END;
		PtrSERVICE_TABLE_ENTRYA* = POINTER TO SERVICE_TABLE_ENTRYA;
		SERVICE_TABLE_ENTRYW* = RECORD [untagged]
			lpServiceName*: PtrWSTR;
			lpServiceProc*: SERVICE_MAIN_FUNCTIONW;
		END;
		PtrSERVICE_TABLE_ENTRYW* = POINTER TO SERVICE_TABLE_ENTRYW;
		SERVICE_TABLE_ENTRY* = SERVICE_TABLE_ENTRYA;
		PtrSERVICE_TABLE_ENTRY* = PtrSERVICE_TABLE_ENTRYA;
		HANDLER_FUNCTION* = PROCEDURE (dwControl: INTEGER);
		MODEMDEVCAPS* = RECORD [untagged]
			dwActualSize*: INTEGER;
			dwRequiredSize*: INTEGER;
			dwDevSpecificOffset*: INTEGER;
			dwDevSpecificSize*: INTEGER;
			dwModemProviderVersion*: INTEGER;
			dwModemManufacturerOffset*: INTEGER;
			dwModemManufacturerSize*: INTEGER;
			dwModemModelOffset*: INTEGER;
			dwModemModelSize*: INTEGER;
			dwModemVersionOffset*: INTEGER;
			dwModemVersionSize*: INTEGER;
			dwDialOptions*: INTEGER;
			dwCallSetupFailTimer*: INTEGER;
			dwInactivityTimeout*: INTEGER;
			dwSpeakerVolume*: SET;
			dwSpeakerMode*: SET;
			dwModemOptions*: SET;
			dwMaxDTERate*: INTEGER;
			dwMaxDCERate*: INTEGER;
			abVariablePortion*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrMODEMDEVCAPS* = POINTER TO MODEMDEVCAPS;
		MODEMSETTINGS* = RECORD [untagged]
			dwActualSize*: INTEGER;
			dwRequiredSize*: INTEGER;
			dwDevSpecificOffset*: INTEGER;
			dwDevSpecificSize*: INTEGER;
			dwCallSetupFailTimer*: INTEGER;
			dwInactivityTimeout*: INTEGER;
			dwSpeakerVolume*: SET;
			dwSpeakerMode*: SET;
			dwPreferredModemOptions*: INTEGER;
			dwNegotiatedModemOptions*: INTEGER;
			dwNegotiatedDCERate*: INTEGER;
			abVariablePortion*: ARRAY [untagged] 1 OF SHORTCHAR;
		END;
		PtrMODEMSETTINGS* = POINTER TO MODEMSETTINGS;
		RetGetSidSubAuthority* = POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
		RetDdeAccessData* = POINTER TO (*?*) ARRAY [untagged] OF SHORTCHAR;
		RetCommandLineToArgvW* = POINTER TO (*?*) ARRAY [untagged] OF PtrWSTR;
		PtrMOUSEINPUT* = POINTER TO MOUSEINPUT;
		MOUSEINPUT* = RECORD [untagged]
			dx*: INTEGER;
			dy*: INTEGER;
			mouseData*: INTEGER;
			dwFlags*: SET;
			time*: INTEGER;
			dwExtraInfo*: INTEGER;
		END;
		PtrKEYBDINPUT* = POINTER TO KEYBDINPUT;
		KEYBDINPUT* = RECORD [untagged]
			wVk*: SHORTINT;
			wScan*: SHORTINT;
			dwFlags*: SET;
			time*: INTEGER;
			dwExtraInfo*: INTEGER;
		END;
		PtrHARDWAREINPUT* = POINTER TO HARDWAREINPUT;
		HARDWAREINPUT* = RECORD [untagged]
			uMsg*: INTEGER ;
			wParamL*: SHORTINT;
			wParamH*: SHORTINT;
		END;
		PtrINPUT* = POINTER TO INPUT;
		INPUT* = RECORD [untagged]
			type*: INTEGER; (* INPUT_XXX *)
			u*: RECORD [union]
				mi*: MOUSEINPUT;
				ki*: KEYBDINPUT;
				hi*: HARDWAREINPUT;
			END;
		END;
		BLENDFUNCTION* = RECORD [untagged]
			BlendOp*: BYTE;
			BlendFlags*: BYTE;
			SourceConstantAlpha*: BYTE;
			AlphaFormat*: BYTE
		END;

	PROCEDURE InterlockedIncrement* (VAR [nil] lpAddend: INTEGER): INTEGER;
	(*END InterlockedIncrement;*)

	PROCEDURE InterlockedDecrement* (VAR [nil] lpAddend: INTEGER): INTEGER;
	(*END InterlockedDecrement;*)

	PROCEDURE InterlockedExchange* (VAR [nil] Target: INTEGER; Value: INTEGER): INTEGER;
	(*END InterlockedExchange;*)

	PROCEDURE InterlockedExchangeAdd* (VAR [nil] Addend: INTEGER; Value: INTEGER): INTEGER;
	(*END InterlockedExchangeAdd;*)

	PROCEDURE InterlockedCompareExchange* (Destination: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid; Exchange: PtrVoid; Comperand: PtrVoid): PtrVoid;
	(*END InterlockedCompareExchange;*)

	PROCEDURE FreeResource* (hResData: HGLOBAL): BOOL;
	(*END FreeResource;*)

	PROCEDURE LockResource* (hResData: HGLOBAL): PtrVoid;
	(*END LockResource;*)

	PROCEDURE FreeLibrary* (hLibModule: HMODULE): BOOL;
	(*END FreeLibrary;*)

	PROCEDURE FreeLibraryAndExitThread* (hLibModule: HMODULE; dwExitCode: INTEGER);
	(*END FreeLibraryAndExitThread;*)

	PROCEDURE DisableThreadLibraryCalls* (hLibModule: HMODULE): BOOL;
	(*END DisableThreadLibraryCalls;*)

	PROCEDURE GetProcAddress* (hModule: HMODULE; lpProcName: PtrSTR): FARPROC;
	(*END GetProcAddress;*)

	PROCEDURE GetVersion* (): INTEGER;
	(*END GetVersion;*)

	PROCEDURE GlobalAlloc* (uFlags: SET; dwBytes: INTEGER): HGLOBAL;
	(*END GlobalAlloc;*)

	PROCEDURE GlobalReAlloc* (hMem: HGLOBAL; dwBytes: INTEGER; uFlags: SET): HGLOBAL;
	(*END GlobalReAlloc;*)

	PROCEDURE GlobalSize* (hMem: HGLOBAL): INTEGER;
	(*END GlobalSize;*)

	PROCEDURE GlobalFlags* (hMem: HGLOBAL): INTEGER;
	(*END GlobalFlags;*)

	PROCEDURE GlobalLock* (hMem: HGLOBAL): PtrVoid;
	(*END GlobalLock;*)

	PROCEDURE GlobalHandle* (pMem: PtrVoid): HGLOBAL;
	(*END GlobalHandle;*)

	PROCEDURE GlobalUnlock* (hMem: HGLOBAL): BOOL;
	(*END GlobalUnlock;*)

	PROCEDURE GlobalFree* (hMem: HGLOBAL): HGLOBAL;
	(*END GlobalFree;*)

	PROCEDURE GlobalCompact* (dwMinFree: INTEGER): INTEGER;
	(*END GlobalCompact;*)

	PROCEDURE GlobalFix* (hMem: HGLOBAL);
	(*END GlobalFix;*)

	PROCEDURE GlobalUnfix* (hMem: HGLOBAL);
	(*END GlobalUnfix;*)

	PROCEDURE GlobalWire* (hMem: HGLOBAL): PtrVoid;
	(*END GlobalWire;*)

	PROCEDURE GlobalUnWire* (hMem: HGLOBAL): BOOL;
	(*END GlobalUnWire;*)

	PROCEDURE GlobalMemoryStatus* (VAR [nil] lpBuffer: MEMORYSTATUS);
	(*END GlobalMemoryStatus;*)

	PROCEDURE LocalAlloc* (uFlags: SET; uBytes: INTEGER): HLOCAL;
	(*END LocalAlloc;*)

	PROCEDURE LocalReAlloc* (hMem: HLOCAL; uBytes: INTEGER; uFlags: SET): HLOCAL;
	(*END LocalReAlloc;*)

	PROCEDURE LocalLock* (hMem: HLOCAL): PtrVoid;
	(*END LocalLock;*)

	PROCEDURE LocalHandle* (pMem: PtrVoid): HLOCAL;
	(*END LocalHandle;*)

	PROCEDURE LocalUnlock* (hMem: HLOCAL): BOOL;
	(*END LocalUnlock;*)

	PROCEDURE LocalSize* (hMem: HLOCAL): INTEGER;
	(*END LocalSize;*)

	PROCEDURE LocalFlags* (hMem: HLOCAL): INTEGER;
	(*END LocalFlags;*)

	PROCEDURE LocalFree* (hMem: HLOCAL): HLOCAL;
	(*END LocalFree;*)

	PROCEDURE LocalShrink* (hMem: HLOCAL; cbNewSize: INTEGER): INTEGER;
	(*END LocalShrink;*)

	PROCEDURE LocalCompact* (uMinFree: INTEGER): INTEGER;
	(*END LocalCompact;*)

	PROCEDURE FlushInstructionCache* (hProcess: HANDLE; lpBaseAddress: PtrVoid; dwSize: INTEGER): BOOL;
	(*END FlushInstructionCache;*)

	PROCEDURE VirtualAlloc* (lpAddress: PtrVoid; dwSize: INTEGER; flAllocationType: SET; flProtect: SET): PtrVoid;
	(*END VirtualAlloc;*)

	PROCEDURE VirtualFree* (lpAddress: PtrVoid; dwSize: INTEGER; dwFreeType: SET): BOOL;
	(*END VirtualFree;*)

	PROCEDURE VirtualProtect* (lpAddress: PtrVoid; dwSize: INTEGER; flNewProtect: SET; VAR [nil] lpflOldProtect: INTEGER): BOOL;
	(*END VirtualProtect;*)

	PROCEDURE VirtualQuery* (lpAddress: PtrVoid; VAR [nil] lpBuffer: MEMORY_BASIC_INFORMATION; dwLength: INTEGER): INTEGER;
	(*END VirtualQuery;*)

	PROCEDURE VirtualProtectEx* (hProcess: HANDLE; lpAddress: PtrVoid; dwSize: INTEGER; flNewProtect: SET; VAR [nil] lpflOldProtect: INTEGER): BOOL;
	(*END VirtualProtectEx;*)

	PROCEDURE VirtualQueryEx* (hProcess: HANDLE; lpAddress: PtrVoid; VAR [nil] lpBuffer: MEMORY_BASIC_INFORMATION; dwLength: INTEGER): INTEGER;
	(*END VirtualQueryEx;*)

	PROCEDURE HeapCreate* (flOptions: SET; dwInitialSize: INTEGER; dwMaximumSize: INTEGER): HANDLE;
	(*END HeapCreate;*)

	PROCEDURE HeapDestroy* (hHeap: HANDLE): BOOL;
	(*END HeapDestroy;*)

	PROCEDURE HeapAlloc* (hHeap: HANDLE; dwFlags: SET; dwBytes: INTEGER): PtrVoid;
	(*END HeapAlloc;*)

	PROCEDURE HeapReAlloc* (hHeap: HANDLE; dwFlags: SET; lpMem: PtrVoid; dwBytes: INTEGER): PtrVoid;
	(*END HeapReAlloc;*)

	PROCEDURE HeapFree* (hHeap: HANDLE; dwFlags: SET; lpMem: PtrVoid): BOOL;
	(*END HeapFree;*)

	PROCEDURE HeapSize* (hHeap: HANDLE; dwFlags: SET; lpMem: PtrVoid): INTEGER;
	(*END HeapSize;*)

	PROCEDURE HeapValidate* (hHeap: HANDLE; dwFlags: SET; lpMem: PtrVoid): BOOL;
	(*END HeapValidate;*)

	PROCEDURE HeapCompact* (hHeap: HANDLE; dwFlags: SET): INTEGER;
	(*END HeapCompact;*)

	PROCEDURE GetProcessHeap* (): HANDLE;
	(*END GetProcessHeap;*)

	PROCEDURE GetProcessHeaps* (NumberOfHeaps: INTEGER; VAR [nil] ProcessHeaps: HANDLE): INTEGER;
	(*END GetProcessHeaps;*)

	PROCEDURE HeapLock* (hHeap: HANDLE): BOOL;
	(*END HeapLock;*)

	PROCEDURE HeapUnlock* (hHeap: HANDLE): BOOL;
	(*END HeapUnlock;*)

	PROCEDURE HeapWalk* (hHeap: HANDLE; VAR [nil] lpEntry: PROCESS_HEAP_ENTRY): BOOL;
	(*END HeapWalk;*)

	PROCEDURE GetBinaryTypeA* (lpApplicationName: PtrSTR; VAR [nil] lpBinaryType: INTEGER): BOOL;
	(*END GetBinaryTypeA;*)

	PROCEDURE GetBinaryTypeW* (lpApplicationName: PtrWSTR; VAR [nil] lpBinaryType: INTEGER): BOOL;
	(*END GetBinaryTypeW;*)

	PROCEDURE GetBinaryType* ["GetBinaryTypeA"] (lpApplicationName: PtrSTR; VAR [nil] lpBinaryType: INTEGER): BOOL;
	(*END GetBinaryType;*)

	PROCEDURE GetShortPathNameA* (lpszLongPath: PtrSTR; lpszShortPath: PtrSTR; cchBuffer: INTEGER): INTEGER;
	(*END GetShortPathNameA;*)

	PROCEDURE GetShortPathNameW* (lpszLongPath: PtrWSTR; lpszShortPath: PtrWSTR; cchBuffer: INTEGER): INTEGER;
	(*END GetShortPathNameW;*)

	PROCEDURE GetShortPathName* ["GetShortPathNameA"] (lpszLongPath: PtrSTR; lpszShortPath: PtrSTR; cchBuffer: INTEGER): INTEGER;
	(*END GetShortPathName;*)

	PROCEDURE GetProcessAffinityMask* (hProcess: HANDLE; VAR [nil] lpProcessAffinityMask: INTEGER; VAR [nil] lpSystemAffinityMask: INTEGER): BOOL;
	(*END GetProcessAffinityMask;*)

	PROCEDURE SetProcessAffinityMask* (hProcess: HANDLE; dwProcessAffinityMask: INTEGER): BOOL;
	(*END SetProcessAffinityMask;*)

	PROCEDURE GetProcessTimes* (hProcess: HANDLE; VAR [nil] lpCreationTime: FILETIME; VAR [nil] lpExitTime: FILETIME; VAR [nil] lpKernelTime: FILETIME; VAR [nil] lpUserTime: FILETIME): BOOL;
	(*END GetProcessTimes;*)

	PROCEDURE GetProcessWorkingSetSize* (hProcess: HANDLE; VAR [nil] lpMinimumWorkingSetSize: INTEGER; VAR [nil] lpMaximumWorkingSetSize: INTEGER): BOOL;
	(*END GetProcessWorkingSetSize;*)

	PROCEDURE SetProcessWorkingSetSize* (hProcess: HANDLE; dwMinimumWorkingSetSize: INTEGER; dwMaximumWorkingSetSize: INTEGER): BOOL;
	(*END SetProcessWorkingSetSize;*)

	PROCEDURE OpenProcess* (dwDesiredAccess: SET; bInheritHandle: BOOL; dwProcessId: INTEGER): HANDLE;
	(*END OpenProcess;*)

	PROCEDURE GetCurrentProcess* (): HANDLE;
	(*END GetCurrentProcess;*)

	PROCEDURE GetCurrentProcessId* (): INTEGER;
	(*END GetCurrentProcessId;*)

	PROCEDURE ExitProcess* (uExitCode: INTEGER);
	(*END ExitProcess;*)

	PROCEDURE TerminateProcess* (hProcess: HANDLE; uExitCode: INTEGER): BOOL;
	(*END TerminateProcess;*)

	PROCEDURE GetExitCodeProcess* (hProcess: HANDLE; VAR [nil] lpExitCode: INTEGER): BOOL;
	(*END GetExitCodeProcess;*)

	PROCEDURE FatalExit* (ExitCode: INTEGER);
	(*END FatalExit;*)

	PROCEDURE GetEnvironmentStrings* (): PtrSTR;
	(*END GetEnvironmentStrings;*)

	PROCEDURE GetEnvironmentStringsW* (): PtrWSTR;
	(*END GetEnvironmentStringsW;*)

	PROCEDURE GetEnvironmentStringsA* ["GetEnvironmentStrings"] (): PtrSTR;
	(*END GetEnvironmentStringsA;*)

	PROCEDURE FreeEnvironmentStringsA* (p0: PtrSTR): BOOL;
	(*END FreeEnvironmentStringsA;*)

	PROCEDURE FreeEnvironmentStringsW* (p0: PtrWSTR): BOOL;
	(*END FreeEnvironmentStringsW;*)

	PROCEDURE FreeEnvironmentStrings* ["FreeEnvironmentStringsA"] (p0: PtrSTR): BOOL;
	(*END FreeEnvironmentStrings;*)


	PROCEDURE RaiseException* (dwExceptionCode: INTEGER; dwExceptionFlags: INTEGER; nNumberOfArguments: INTEGER; VAR [nil] lpArguments: INTEGER);
	(*END RaiseException;*)

	PROCEDURE UnhandledExceptionFilter* (VAR [nil] ExceptionInfo: EXCEPTION_POINTERS): INTEGER;
	(*END UnhandledExceptionFilter;*)

	PROCEDURE SetUnhandledExceptionFilter* (lpTopLevelExceptionFilter: TOP_LEVEL_EXCEPTION_FILTER): TOP_LEVEL_EXCEPTION_FILTER;
	(*END SetUnhandledExceptionFilter;*)

	PROCEDURE CreateFiber* (dwStackSize: INTEGER; lpStartAddress: FIBER_START_ROUTINE; lpParameter: PtrVoid): PtrVoid;
	(*END CreateFiber;*)

	PROCEDURE CreateFiberEx* (dwStackCommitSize, dwStackReserveSize: INTEGER; dwFlags: SET; lpStartAddress: FIBER_START_ROUTINE; lpParameter: PtrVoid): PtrVoid;
	(*END CreateFiberEx;*)

	PROCEDURE DeleteFiber* (lpFiber: PtrVoid);
	(*END DeleteFiber;*)

	PROCEDURE ConvertThreadToFiber* (lpParameter: PtrVoid): PtrVoid;
	(*END ConvertThreadToFiber;*)

	PROCEDURE ConvertFiberToThread* (): BOOL;
	(*END ConvertFiberToThread;*)

	PROCEDURE SwitchToFiber* (lpFiber: PtrVoid);
	(*END SwitchToFiber;*)

	PROCEDURE CreateThread* (VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; dwStackSize: INTEGER; lpStartAddress: THREAD_START_ROUTINE; lpParameter: PtrVoid; dwCreationFlags: SET; VAR [nil] lpThreadId: INTEGER): HANDLE;
	(*END CreateThread;*)

	PROCEDURE CreateRemoteThread* (hProcess: HANDLE; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; dwStackSize: INTEGER; lpStartAddress: THREAD_START_ROUTINE; lpParameter: PtrVoid; dwCreationFlags: SET; VAR [nil] lpThreadId: INTEGER): HANDLE;
	(*END CreateRemoteThread;*)

	PROCEDURE GetCurrentThread* (): HANDLE;
	(*END GetCurrentThread;*)

	PROCEDURE GetCurrentThreadId* (): INTEGER;
	(*END GetCurrentThreadId;*)

	PROCEDURE SetThreadAffinityMask* (hThread: HANDLE; dwThreadAffinityMask: INTEGER): INTEGER;
	(*END SetThreadAffinityMask;*)

	PROCEDURE SetThreadIdealProcessor* (hThread: HANDLE; dwIdealProcessor: INTEGER): INTEGER;
	(*END SetThreadIdealProcessor;*)

	PROCEDURE SetThreadPriority* (hThread: HANDLE; nPriority: INTEGER): BOOL;
	(*END SetThreadPriority;*)

	PROCEDURE SetThreadPriorityBoost* (hThread: HANDLE; bDisablePriorityBoost: BOOL): BOOL;
	(*END SetThreadPriorityBoost;*)

	PROCEDURE GetThreadPriorityBoost* (hThread: HANDLE; VAR [nil] pDisablePriorityBoost: BOOL): BOOL;
	(*END GetThreadPriorityBoost;*)

	PROCEDURE GetThreadPriority* (hThread: HANDLE): INTEGER;
	(*END GetThreadPriority;*)

	PROCEDURE GetThreadTimes* (hThread: HANDLE; VAR [nil] lpCreationTime: FILETIME; VAR [nil] lpExitTime: FILETIME; VAR [nil] lpKernelTime: FILETIME; VAR [nil] lpUserTime: FILETIME): BOOL;
	(*END GetThreadTimes;*)

	PROCEDURE ExitThread* (dwExitCode: INTEGER);
	(*END ExitThread;*)

	PROCEDURE TerminateThread* (hThread: HANDLE; dwExitCode: INTEGER): BOOL;
	(*END TerminateThread;*)

	PROCEDURE GetExitCodeThread* (hThread: HANDLE; VAR [nil] lpExitCode: INTEGER): BOOL;
	(*END GetExitCodeThread;*)

	PROCEDURE GetThreadSelectorEntry* (hThread: HANDLE; dwSelector: INTEGER; VAR [nil] lpSelectorEntry: LDT_ENTRY): BOOL;
	(*END GetThreadSelectorEntry;*)

	PROCEDURE GetLastError* (): INTEGER;
	(*END GetLastError;*)

	PROCEDURE SetLastError* (dwErrCode: INTEGER);
	(*END SetLastError;*)

	PROCEDURE GetOverlappedResult* (hFile: HANDLE; VAR [nil] lpOverlapped: OVERLAPPED; VAR [nil] lpNumberOfBytesTransferred: INTEGER; bWait: BOOL): BOOL;
	(*END GetOverlappedResult;*)

	PROCEDURE CreateIoCompletionPort* (FileHandle: HANDLE; ExistingCompletionPort: HANDLE; CompletionKey: INTEGER; NumberOfConcurrentThreads: INTEGER): HANDLE;
	(*END CreateIoCompletionPort;*)

	PROCEDURE GetQueuedCompletionStatus* (CompletionPort: HANDLE; VAR [nil] lpNumberOfBytesTransferred: INTEGER; VAR [nil] lpCompletionKey: INTEGER; VAR [nil] lpOverlapped: PtrOVERLAPPED; dwMilliseconds: INTEGER): BOOL;
	(*END GetQueuedCompletionStatus;*)

	PROCEDURE PostQueuedCompletionStatus* (CompletionPort: HANDLE; dwNumberOfBytesTransferred: INTEGER; dwCompletionKey: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END PostQueuedCompletionStatus;*)

	PROCEDURE SetErrorMode* (uMode: SET): INTEGER;
	(*END SetErrorMode;*)

	PROCEDURE ReadProcessMemory* (hProcess: HANDLE; lpBaseAddress: PtrVoid; lpBuffer: PtrVoid; nSize: INTEGER; VAR [nil] lpNumberOfBytesRead: INTEGER): BOOL;
	(*END ReadProcessMemory;*)

	PROCEDURE WriteProcessMemory* (hProcess: HANDLE; lpBaseAddress: PtrVoid; lpBuffer: PtrVoid; nSize: INTEGER; VAR [nil] lpNumberOfBytesWritten: INTEGER): BOOL;
	(*END WriteProcessMemory;*)

	PROCEDURE GetThreadContext* (hThread: HANDLE; VAR [nil] lpContext: CONTEXT): BOOL;
	(*END GetThreadContext;*)

	PROCEDURE SetThreadContext* (hThread: HANDLE; VAR [nil] lpContext: CONTEXT): BOOL;
	(*END SetThreadContext;*)

	PROCEDURE SuspendThread* (hThread: HANDLE): INTEGER;
	(*END SuspendThread;*)

	PROCEDURE ResumeThread* (hThread: HANDLE): INTEGER;
	(*END ResumeThread;*)

	PROCEDURE QueueUserAPC* (pfnAPC: APCFUNC; hThread: HANDLE; dwData: INTEGER): INTEGER;
	(*END QueueUserAPC;*)

	PROCEDURE DebugBreak* ();
	(*END DebugBreak;*)

	PROCEDURE DebugBreakProcess* (hProcess: HANDLE): BOOL;
	(*END DebugBreakProcess;*)

	PROCEDURE WaitForDebugEvent* (VAR [nil] lpDebugEvent: DEBUG_EVENT; dwMilliseconds: INTEGER): BOOL;
	(*END WaitForDebugEvent;*)

	PROCEDURE ContinueDebugEvent* (dwProcessId: INTEGER; dwThreadId: INTEGER; dwContinueStatus: SET): BOOL;
	(*END ContinueDebugEvent;*)

	PROCEDURE DebugActiveProcess* (dwProcessId: INTEGER): BOOL;
	(*END DebugActiveProcess;*)

	PROCEDURE DebugActiveProcessStop* (dwProcessId: INTEGER): BOOL;
	(*END DebugActiveProcessStop;*)

	PROCEDURE DebugSetProcessKillOnExit* (killOnExit: BOOL): BOOL;
	(*END DebugSetProcessKillOnExit;*)

	PROCEDURE IsDebuggerPresent* (): BOOL;
	(*END IsDebuggerPresent;*)

	PROCEDURE InitializeCriticalSection* (VAR [nil] lpCriticalSection: RTL_CRITICAL_SECTION);
	(*END InitializeCriticalSection;*)

	PROCEDURE EnterCriticalSection* (VAR [nil] lpCriticalSection: RTL_CRITICAL_SECTION);
	(*END EnterCriticalSection;*)

	PROCEDURE LeaveCriticalSection* (VAR [nil] lpCriticalSection: RTL_CRITICAL_SECTION);
	(*END LeaveCriticalSection;*)

	PROCEDURE TryEnterCriticalSection* (VAR [nil] lpCriticalSection: RTL_CRITICAL_SECTION): BOOL;
	(*END TryEnterCriticalSection;*)

	PROCEDURE DeleteCriticalSection* (VAR [nil] lpCriticalSection: RTL_CRITICAL_SECTION);
	(*END DeleteCriticalSection;*)

	PROCEDURE SetEvent* (hEvent: HANDLE): BOOL;
	(*END SetEvent;*)

	PROCEDURE ResetEvent* (hEvent: HANDLE): BOOL;
	(*END ResetEvent;*)

	PROCEDURE PulseEvent* (hEvent: HANDLE): BOOL;
	(*END PulseEvent;*)

	PROCEDURE ReleaseSemaphore* (hSemaphore: HANDLE; lReleaseCount: INTEGER; VAR [nil] lpPreviousCount: INTEGER): BOOL;
	(*END ReleaseSemaphore;*)

	PROCEDURE ReleaseMutex* (hMutex: HANDLE): BOOL;
	(*END ReleaseMutex;*)

	PROCEDURE WaitForSingleObject* (hHandle: HANDLE; dwMilliseconds: INTEGER): INTEGER;
	(*END WaitForSingleObject;*)

	PROCEDURE WaitForMultipleObjects* (nCount: INTEGER; VAR [nil] lpHandles: HANDLE; bWaitAll: BOOL; dwMilliseconds: INTEGER): INTEGER;
	(*END WaitForMultipleObjects;*)

	PROCEDURE Sleep* (dwMilliseconds: INTEGER);
	(*END Sleep;*)

	PROCEDURE LoadResource* (hModule: HMODULE; hResInfo: HRSRC): HGLOBAL;
	(*END LoadResource;*)

	PROCEDURE SizeofResource* (hModule: HMODULE; hResInfo: HRSRC): INTEGER;
	(*END SizeofResource;*)

	PROCEDURE GlobalDeleteAtom* (nAtom: ATOM): ATOM;
	(*END GlobalDeleteAtom;*)

	PROCEDURE InitAtomTable* (nSize: INTEGER): BOOL;
	(*END InitAtomTable;*)

	PROCEDURE DeleteAtom* (nAtom: ATOM): ATOM;
	(*END DeleteAtom;*)

	PROCEDURE SetHandleCount* (uNumber: INTEGER): INTEGER;
	(*END SetHandleCount;*)

	PROCEDURE GetLogicalDrives* (): INTEGER;
	(*END GetLogicalDrives;*)

	PROCEDURE LockFile* (hFile: HANDLE; dwFileOffsetLow: INTEGER; dwFileOffsetHigh: INTEGER; nNumberOfBytesToLockLow: INTEGER; nNumberOfBytesToLockHigh: INTEGER): BOOL;
	(*END LockFile;*)

	PROCEDURE UnlockFile* (hFile: HANDLE; dwFileOffsetLow: INTEGER; dwFileOffsetHigh: INTEGER; nNumberOfBytesToUnlockLow: INTEGER; nNumberOfBytesToUnlockHigh: INTEGER): BOOL;
	(*END UnlockFile;*)

	PROCEDURE LockFileEx* (hFile: HANDLE; dwFlags: SET; dwReserved: INTEGER; nNumberOfBytesToLockLow: INTEGER; nNumberOfBytesToLockHigh: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END LockFileEx;*)

	PROCEDURE UnlockFileEx* (hFile: HANDLE; dwReserved: INTEGER; nNumberOfBytesToUnlockLow: INTEGER; nNumberOfBytesToUnlockHigh: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END UnlockFileEx;*)

	PROCEDURE GetFileInformationByHandle* (hFile: HANDLE; VAR [nil] lpFileInformation: BY_HANDLE_FILE_INFORMATION): BOOL;
	(*END GetFileInformationByHandle;*)

	PROCEDURE GetFileType* (hFile: HANDLE): INTEGER;
	(*END GetFileType;*)

	PROCEDURE GetFileSize* (hFile: HANDLE; VAR [nil] lpFileSizeHigh: INTEGER): INTEGER;
	(*END GetFileSize;*)

	PROCEDURE GetFileSizeEx* (hFile: HANDLE; VAR [nil] lpFileSizeHigh: LONGINT): INTEGER;
	(*END GetFileSize;*)

	PROCEDURE GetStdHandle* (nStdHandle: INTEGER): HANDLE;
	(*END GetStdHandle;*)

	PROCEDURE SetStdHandle* (nStdHandle: INTEGER; hHandle: HANDLE): BOOL;
	(*END SetStdHandle;*)

	PROCEDURE WriteFile* (hFile: HANDLE; lpBuffer: PtrVoid; nNumberOfBytesToWrite: INTEGER; VAR [nil] lpNumberOfBytesWritten: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END WriteFile;*)

	PROCEDURE ReadFile* (hFile: HANDLE; lpBuffer: PtrVoid; nNumberOfBytesToRead: INTEGER; VAR [nil] lpNumberOfBytesRead: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END ReadFile;*)

	PROCEDURE FlushFileBuffers* (hFile: HANDLE): BOOL;
	(*END FlushFileBuffers;*)

	PROCEDURE DeviceIoControl* (hDevice: HANDLE; dwIoControlCode: INTEGER; lpInBuffer: PtrVoid; nInBufferSize: INTEGER; lpOutBuffer: PtrVoid; nOutBufferSize: INTEGER; VAR [nil] lpBytesReturned: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END DeviceIoControl;*)

	PROCEDURE SetEndOfFile* (hFile: HANDLE): BOOL;
	(*END SetEndOfFile;*)

	PROCEDURE SetFilePointer* (hFile: HANDLE; lDistanceToMove: INTEGER; VAR [nil] lpDistanceToMoveHigh: INTEGER; dwMoveMethod: INTEGER): INTEGER;
	(*END SetFilePointer;*)

	PROCEDURE SetFilePointerEx* (hFile: HANDLE; liDistanceToMove: LONGINT; VAR [nil] lpNewFilePointer: LONGINT; dwMoveMethod: INTEGER): BOOL;
	(*END SetFilePointerEx;*)

	PROCEDURE FindClose* (hFindFile: HANDLE): BOOL;
	(*END FindClose;*)

	PROCEDURE GetFileTime* (hFile: HANDLE; VAR [nil] lpCreationTime: FILETIME; VAR [nil] lpLastAccessTime: FILETIME; VAR [nil] lpLastWriteTime: FILETIME): BOOL;
	(*END GetFileTime;*)

	PROCEDURE SetFileTime* (hFile: HANDLE; VAR [nil] lpCreationTime: FILETIME; VAR [nil] lpLastAccessTime: FILETIME; VAR [nil] lpLastWriteTime: FILETIME): BOOL;
	(*END SetFileTime;*)

	PROCEDURE CloseHandle* (hObject: HANDLE): BOOL;
	(*END CloseHandle;*)

	PROCEDURE DuplicateHandle* (hSourceProcessHandle: HANDLE; hSourceHandle: HANDLE; hTargetProcessHandle: HANDLE; VAR [nil] lpTargetHandle: HANDLE; dwDesiredAccess: SET; bInheritHandle: BOOL; dwOptions: SET): BOOL;
	(*END DuplicateHandle;*)

	PROCEDURE GetHandleInformation* (hObject: HANDLE; VAR [nil] lpdwFlags: SET): BOOL;
	(*END GetHandleInformation;*)

	PROCEDURE SetHandleInformation* (hObject: HANDLE; dwMask: INTEGER; dwFlags: SET): BOOL;
	(*END SetHandleInformation;*)

	PROCEDURE LoadModule* (lpModuleName: PtrSTR; lpParameterBlock: PtrVoid): INTEGER;
	(*END LoadModule;*)

	PROCEDURE WinExec* (lpCmdLine: PtrSTR; uCmdShow: INTEGER): INTEGER;
	(*END WinExec;*)

	PROCEDURE ClearCommBreak* (hFile: HANDLE): BOOL;
	(*END ClearCommBreak;*)

	PROCEDURE ClearCommError* (hFile: HANDLE; VAR [nil] lpErrors: SET; VAR [nil] lpStat: COMSTAT): BOOL;
	(*END ClearCommError;*)

	PROCEDURE SetupComm* (hFile: HANDLE; dwInQueue: INTEGER; dwOutQueue: INTEGER): BOOL;
	(*END SetupComm;*)

	PROCEDURE EscapeCommFunction* (hFile: HANDLE; dwFunc: INTEGER): BOOL;
	(*END EscapeCommFunction;*)

	PROCEDURE GetCommConfig* (hCommDev: HANDLE; VAR [nil] lpCC: COMMCONFIG; VAR [nil] lpdwSize: INTEGER): BOOL;
	(*END GetCommConfig;*)

	PROCEDURE GetCommMask* (hFile: HANDLE; VAR [nil] lpEvtMask: SET): BOOL;
	(*END GetCommMask;*)

	PROCEDURE GetCommProperties* (hFile: HANDLE; VAR [nil] lpCommProp: COMMPROP): BOOL;
	(*END GetCommProperties;*)

	PROCEDURE GetCommModemStatus* (hFile: HANDLE; VAR [nil] lpModemStat: SET): BOOL;
	(*END GetCommModemStatus;*)

	PROCEDURE GetCommState* (hFile: HANDLE; VAR [nil] lpDCB: DCB): BOOL;
	(*END GetCommState;*)

	PROCEDURE GetCommTimeouts* (hFile: HANDLE; VAR [nil] lpCommTimeouts: COMMTIMEOUTS): BOOL;
	(*END GetCommTimeouts;*)

	PROCEDURE PurgeComm* (hFile: HANDLE; dwFlags: SET): BOOL;
	(*END PurgeComm;*)

	PROCEDURE SetCommBreak* (hFile: HANDLE): BOOL;
	(*END SetCommBreak;*)

	PROCEDURE SetCommConfig* (hCommDev: HANDLE; VAR [nil] lpCC: COMMCONFIG; dwSize: INTEGER): BOOL;
	(*END SetCommConfig;*)

	PROCEDURE SetCommMask* (hFile: HANDLE; dwEvtMask: SET): BOOL;
	(*END SetCommMask;*)

	PROCEDURE SetCommState* (hFile: HANDLE; VAR [nil] lpDCB: DCB): BOOL;
	(*END SetCommState;*)

	PROCEDURE SetCommTimeouts* (hFile: HANDLE; VAR [nil] lpCommTimeouts: COMMTIMEOUTS): BOOL;
	(*END SetCommTimeouts;*)

	PROCEDURE TransmitCommChar* (hFile: HANDLE; cChar: SHORTCHAR): BOOL;
	(*END TransmitCommChar;*)

	PROCEDURE WaitCommEvent* (hFile: HANDLE; VAR [nil] lpEvtMask: SET; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END WaitCommEvent;*)

	PROCEDURE SetTapePosition* (hDevice: HANDLE; dwPositionMethod: INTEGER; dwPartition: INTEGER; dwOffsetLow: INTEGER; dwOffsetHigh: INTEGER; bImmediate: BOOL): INTEGER;
	(*END SetTapePosition;*)

	PROCEDURE GetTapePosition* (hDevice: HANDLE; dwPositionType: INTEGER; VAR [nil] lpdwPartition: INTEGER; VAR [nil] lpdwOffsetLow: INTEGER; VAR [nil] lpdwOffsetHigh: INTEGER): INTEGER;
	(*END GetTapePosition;*)

	PROCEDURE PrepareTape* (hDevice: HANDLE; dwOperation: INTEGER; bImmediate: BOOL): INTEGER;
	(*END PrepareTape;*)

	PROCEDURE EraseTape* (hDevice: HANDLE; dwEraseType: INTEGER; bImmediate: BOOL): INTEGER;
	(*END EraseTape;*)

	PROCEDURE CreateTapePartition* (hDevice: HANDLE; dwPartitionMethod: INTEGER; dwCount: INTEGER; dwSize: INTEGER): INTEGER;
	(*END CreateTapePartition;*)

	PROCEDURE WriteTapemark* (hDevice: HANDLE; dwTapemarkType: INTEGER; dwTapemarkCount: INTEGER; bImmediate: BOOL): INTEGER;
	(*END WriteTapemark;*)

	PROCEDURE GetTapeStatus* (hDevice: HANDLE): INTEGER;
	(*END GetTapeStatus;*)

	PROCEDURE GetTapeParameters* (hDevice: HANDLE; dwOperation: INTEGER; VAR [nil] lpdwSize: INTEGER; lpTapeInformation: PtrVoid): INTEGER;
	(*END GetTapeParameters;*)

	PROCEDURE SetTapeParameters* (hDevice: HANDLE; dwOperation: INTEGER; lpTapeInformation: PtrVoid): INTEGER;
	(*END SetTapeParameters;*)

	PROCEDURE Beep* (dwFreq: INTEGER; dwDuration: INTEGER): BOOL;
	(*END Beep;*)

	PROCEDURE MulDiv* (nNumber: INTEGER; nNumerator: INTEGER; nDenominator: INTEGER): INTEGER;
	(*END MulDiv;*)

	PROCEDURE GetSystemTime* (VAR [nil] lpSystemTime: SYSTEMTIME);
	(*END GetSystemTime;*)

	PROCEDURE GetSystemTimeAsFileTime* (VAR [nil] lpSystemTimeAsFileTime: FILETIME);
	(*END GetSystemTimeAsFileTime;*)

	PROCEDURE SetSystemTime* (VAR [nil] lpSystemTime: SYSTEMTIME): BOOL;
	(*END SetSystemTime;*)

	PROCEDURE GetLocalTime* (VAR [nil] lpSystemTime: SYSTEMTIME);
	(*END GetLocalTime;*)

	PROCEDURE SetLocalTime* (VAR [nil] lpSystemTime: SYSTEMTIME): BOOL;
	(*END SetLocalTime;*)

	PROCEDURE GetSystemInfo* (VAR [nil] lpSystemInfo: SYSTEM_INFO);
	(*END GetSystemInfo;*)

	PROCEDURE SystemTimeToTzSpecificLocalTime* (VAR [nil] lpTimeZoneInformation: TIME_ZONE_INFORMATION; VAR [nil] lpUniversalTime: SYSTEMTIME; VAR [nil] lpLocalTime: SYSTEMTIME): BOOL;
	(*END SystemTimeToTzSpecificLocalTime;*)

	PROCEDURE GetTimeZoneInformation* (VAR [nil] lpTimeZoneInformation: TIME_ZONE_INFORMATION): INTEGER;
	(*END GetTimeZoneInformation;*)

	PROCEDURE SetTimeZoneInformation* (VAR [nil] lpTimeZoneInformation: TIME_ZONE_INFORMATION): BOOL;
	(*END SetTimeZoneInformation;*)

	PROCEDURE SystemTimeToFileTime* (VAR [nil] lpSystemTime: SYSTEMTIME; VAR [nil] lpFileTime: FILETIME): BOOL;
	(*END SystemTimeToFileTime;*)

	PROCEDURE FileTimeToLocalFileTime* (VAR [nil] lpFileTime: FILETIME; VAR [nil] lpLocalFileTime: FILETIME): BOOL;
	(*END FileTimeToLocalFileTime;*)

	PROCEDURE LocalFileTimeToFileTime* (VAR [nil] lpLocalFileTime: FILETIME; VAR [nil] lpFileTime: FILETIME): BOOL;
	(*END LocalFileTimeToFileTime;*)

	PROCEDURE FileTimeToSystemTime* (VAR [nil] lpFileTime: FILETIME; VAR [nil] lpSystemTime: SYSTEMTIME): BOOL;
	(*END FileTimeToSystemTime;*)

	PROCEDURE CompareFileTime* (VAR [nil] lpFileTime1: FILETIME; VAR [nil] lpFileTime2: FILETIME): INTEGER;
	(*END CompareFileTime;*)

	PROCEDURE FileTimeToDosDateTime* (VAR [nil] lpFileTime: FILETIME; VAR [nil] lpFatDate: SHORTINT; VAR [nil] lpFatTime: SHORTINT): BOOL;
	(*END FileTimeToDosDateTime;*)

	PROCEDURE DosDateTimeToFileTime* (wFatDate: SHORTINT; wFatTime: SHORTINT; VAR [nil] lpFileTime: FILETIME): BOOL;
	(*END DosDateTimeToFileTime;*)

	PROCEDURE GetTickCount* (): INTEGER;
	(*END GetTickCount;*)

	PROCEDURE SetSystemTimeAdjustment* (dwTimeAdjustment: INTEGER; bTimeAdjustmentDisabled: BOOL): BOOL;
	(*END SetSystemTimeAdjustment;*)

	PROCEDURE GetSystemTimeAdjustment* (VAR [nil] lpTimeAdjustment: INTEGER; VAR [nil] lpTimeIncrement: INTEGER; VAR [nil] lpTimeAdjustmentDisabled: BOOL): BOOL;
	(*END GetSystemTimeAdjustment;*)

	PROCEDURE FormatMessageA* (dwFlags: SET; lpSource: PtrVoid; dwMessageId: INTEGER; dwLanguageId: INTEGER; lpBuffer: PtrSTR; nSize: INTEGER; VAR [nil] Arguments: PtrSTR): INTEGER;
	(*END FormatMessageA;*)

	PROCEDURE FormatMessageW* (dwFlags: SET; lpSource: PtrVoid; dwMessageId: INTEGER; dwLanguageId: INTEGER; lpBuffer: PtrWSTR; nSize: INTEGER; VAR [nil] Arguments: PtrWSTR): INTEGER;
	(*END FormatMessageW;*)

	PROCEDURE FormatMessage* ["FormatMessageA"] (dwFlags: SET; lpSource: PtrVoid; dwMessageId: INTEGER; dwLanguageId: INTEGER; lpBuffer: PtrSTR; nSize: INTEGER; VAR [nil] Arguments: PtrSTR): INTEGER;
	(*END FormatMessage;*)

	PROCEDURE CreatePipe* (VAR [nil] hReadPipe: HANDLE; VAR [nil] hWritePipe: HANDLE; VAR [nil] lpPipeAttributes: SECURITY_ATTRIBUTES; nSize: INTEGER): BOOL;
	(*END CreatePipe;*)

	PROCEDURE ConnectNamedPipe* (hNamedPipe: HANDLE; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END ConnectNamedPipe;*)

	PROCEDURE DisconnectNamedPipe* (hNamedPipe: HANDLE): BOOL;
	(*END DisconnectNamedPipe;*)

	PROCEDURE SetNamedPipeHandleState* (hNamedPipe: HANDLE; VAR [nil] lpMode: INTEGER; VAR [nil] lpMaxCollectionCount: INTEGER; VAR [nil] lpCollectDataTimeout: INTEGER): BOOL;
	(*END SetNamedPipeHandleState;*)

	PROCEDURE GetNamedPipeInfo* (hNamedPipe: HANDLE; VAR [nil] lpFlags: INTEGER; VAR [nil] lpOutBufferSize: INTEGER; VAR [nil] lpInBufferSize: INTEGER; VAR [nil] lpMaxInstances: INTEGER): BOOL;
	(*END GetNamedPipeInfo;*)

	PROCEDURE PeekNamedPipe* (hNamedPipe: HANDLE; lpBuffer: PtrVoid; nBufferSize: INTEGER; VAR [nil] lpBytesRead: INTEGER; VAR [nil] lpTotalBytesAvail: INTEGER; VAR [nil] lpBytesLeftThisMessage: INTEGER): BOOL;
	(*END PeekNamedPipe;*)

	PROCEDURE TransactNamedPipe* (hNamedPipe: HANDLE; lpInBuffer: PtrVoid; nInBufferSize: INTEGER; lpOutBuffer: PtrVoid; nOutBufferSize: INTEGER; VAR [nil] lpBytesRead: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED): BOOL;
	(*END TransactNamedPipe;*)

	PROCEDURE CreateMailslotA* (lpName: PtrSTR; nMaxMessageSize: INTEGER; lReadTimeout: INTEGER; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): HANDLE;
	(*END CreateMailslotA;*)

	PROCEDURE CreateMailslotW* (lpName: PtrWSTR; nMaxMessageSize: INTEGER; lReadTimeout: INTEGER; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): HANDLE;
	(*END CreateMailslotW;*)

	PROCEDURE CreateMailslot* ["CreateMailslotA"] (lpName: PtrSTR; nMaxMessageSize: INTEGER; lReadTimeout: INTEGER; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): HANDLE;
	(*END CreateMailslot;*)

	PROCEDURE GetMailslotInfo* (hMailslot: HANDLE; VAR [nil] lpMaxMessageSize: INTEGER; VAR [nil] lpNextSize: INTEGER; VAR [nil] lpMessageCount: INTEGER; VAR [nil] lpReadTimeout: INTEGER): BOOL;
	(*END GetMailslotInfo;*)

	PROCEDURE SetMailslotInfo* (hMailslot: HANDLE; lReadTimeout: INTEGER): BOOL;
	(*END SetMailslotInfo;*)

	PROCEDURE MapViewOfFile* (hFileMappingObject: HANDLE; dwDesiredAccess: SET; dwFileOffsetHigh: INTEGER; dwFileOffsetLow: INTEGER; dwNumberOfBytesToMap: INTEGER): PtrVoid;
	(*END MapViewOfFile;*)

	PROCEDURE FlushViewOfFile* (lpBaseAddress: PtrVoid; dwNumberOfBytesToFlush: INTEGER): BOOL;
	(*END FlushViewOfFile;*)

	PROCEDURE UnmapViewOfFile* (lpBaseAddress: PtrVoid): BOOL;
	(*END UnmapViewOfFile;*)

	PROCEDURE lstrcmpA* (lpString1: PtrSTR; lpString2: PtrSTR): INTEGER;
	(*END lstrcmpA;*)

	PROCEDURE lstrcmpW* (lpString1: PtrWSTR; lpString2: PtrWSTR): INTEGER;
	(*END lstrcmpW;*)

	PROCEDURE lstrcmp* ["lstrcmpA"] (lpString1: PtrSTR; lpString2: PtrSTR): INTEGER;
	(*END lstrcmp;*)

	PROCEDURE lstrcmpiA* (lpString1: PtrSTR; lpString2: PtrSTR): INTEGER;
	(*END lstrcmpiA;*)

	PROCEDURE lstrcmpiW* (lpString1: PtrWSTR; lpString2: PtrWSTR): INTEGER;
	(*END lstrcmpiW;*)

	PROCEDURE lstrcmpi* ["lstrcmpiA"] (lpString1: PtrSTR; lpString2: PtrSTR): INTEGER;
	(*END lstrcmpi;*)

	PROCEDURE lstrcpynA* (lpString1: PtrSTR; lpString2: PtrSTR; iMaxLength: INTEGER): PtrSTR;
	(*END lstrcpynA;*)

	PROCEDURE lstrcpynW* (lpString1: PtrWSTR; lpString2: PtrWSTR; iMaxLength: INTEGER): PtrWSTR;
	(*END lstrcpynW;*)

	PROCEDURE lstrcpyn* ["lstrcpynA"] (lpString1: PtrSTR; lpString2: PtrSTR; iMaxLength: INTEGER): PtrSTR;
	(*END lstrcpyn;*)

	PROCEDURE lstrcpyA* (lpString1: PtrSTR; lpString2: PtrSTR): PtrSTR;
	(*END lstrcpyA;*)

	PROCEDURE lstrcpyW* (lpString1: PtrWSTR; lpString2: PtrWSTR): PtrWSTR;
	(*END lstrcpyW;*)

	PROCEDURE lstrcpy* ["lstrcpyA"] (lpString1: PtrSTR; lpString2: PtrSTR): PtrSTR;
	(*END lstrcpy;*)

	PROCEDURE lstrcatA* (lpString1: PtrSTR; lpString2: PtrSTR): PtrSTR;
	(*END lstrcatA;*)

	PROCEDURE lstrcatW* (lpString1: PtrWSTR; lpString2: PtrWSTR): PtrWSTR;
	(*END lstrcatW;*)

	PROCEDURE lstrcat* ["lstrcatA"] (lpString1: PtrSTR; lpString2: PtrSTR): PtrSTR;
	(*END lstrcat;*)

	PROCEDURE lstrlenA* (lpString: PtrSTR): INTEGER;
	(*END lstrlenA;*)

	PROCEDURE lstrlenW* (lpString: PtrWSTR): INTEGER;
	(*END lstrlenW;*)

	PROCEDURE lstrlen* ["lstrlenA"] (lpString: PtrSTR): INTEGER;
	(*END lstrlen;*)

	PROCEDURE OpenFile* (lpFileName: PtrSTR; VAR [nil] lpReOpenBuff: OFSTRUCT; uStyle: SET): HFILE;
	(*END OpenFile;*)

	PROCEDURE _lopen* (lpPathName: PtrSTR; iReadWrite: INTEGER): HFILE;
	(*END _lopen;*)

	PROCEDURE _lcreat* (lpPathName: PtrSTR; iAttribute: INTEGER): HFILE;
	(*END _lcreat;*)

	PROCEDURE _lread* (hFile: HFILE; lpBuffer: PtrVoid; uBytes: INTEGER): INTEGER;
	(*END _lread;*)

	PROCEDURE _lwrite* (hFile: HFILE; lpBuffer: PtrSTR; uBytes: INTEGER): INTEGER;
	(*END _lwrite;*)

	PROCEDURE _hread* (hFile: HFILE; lpBuffer: PtrVoid; lBytes: INTEGER): INTEGER;
	(*END _hread;*)

	PROCEDURE _hwrite* (hFile: HFILE; lpBuffer: PtrSTR; lBytes: INTEGER): INTEGER;
	(*END _hwrite;*)

	PROCEDURE _lclose* (hFile: HFILE): HFILE;
	(*END _lclose;*)

	PROCEDURE _llseek* (hFile: HFILE; lOffset: INTEGER; iOrigin: INTEGER): INTEGER;
	(*END _llseek;*)

	PROCEDURE IsTextUnicode* ["ADVAPI32.dll", ""] (lpBuffer: PtrVoid; cb: INTEGER; VAR [nil] lpi: SET): BOOL;
	(*END IsTextUnicode;*)

	PROCEDURE TlsAlloc* (): INTEGER;
	(*END TlsAlloc;*)

	PROCEDURE TlsGetValue* (dwTlsIndex: INTEGER): PtrVoid;
	(*END TlsGetValue;*)

	PROCEDURE TlsSetValue* (dwTlsIndex: INTEGER; lpTlsValue: PtrVoid): BOOL;
	(*END TlsSetValue;*)

	PROCEDURE TlsFree* (dwTlsIndex: INTEGER): BOOL;
	(*END TlsFree;*)

	PROCEDURE SleepEx* (dwMilliseconds: INTEGER; bAlertable: BOOL): INTEGER;
	(*END SleepEx;*)

	PROCEDURE WaitForSingleObjectEx* (hHandle: HANDLE; dwMilliseconds: INTEGER; bAlertable: BOOL): INTEGER;
	(*END WaitForSingleObjectEx;*)

	PROCEDURE WaitForMultipleObjectsEx* (nCount: INTEGER; VAR [nil] lpHandles: HANDLE; bWaitAll: BOOL; dwMilliseconds: INTEGER; bAlertable: BOOL): INTEGER;
	(*END WaitForMultipleObjectsEx;*)

	PROCEDURE SignalObjectAndWait* (hObjectToSignal: HANDLE; hObjectToWaitOn: HANDLE; dwMilliseconds: INTEGER; bAlertable: BOOL): INTEGER;
	(*END SignalObjectAndWait;*)

	PROCEDURE ReadFileEx* (hFile: HANDLE; lpBuffer: PtrVoid; nNumberOfBytesToRead: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED; lpCompletionRoutine: OVERLAPPED_COMPLETION_ROUTINE): BOOL;
	(*END ReadFileEx;*)

	PROCEDURE WriteFileEx* (hFile: HANDLE; lpBuffer: PtrVoid; nNumberOfBytesToWrite: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED; lpCompletionRoutine: OVERLAPPED_COMPLETION_ROUTINE): BOOL;
	(*END WriteFileEx;*)

	PROCEDURE BackupRead* (hFile: HANDLE; VAR [nil] lpBuffer: SHORTCHAR; nNumberOfBytesToRead: INTEGER; VAR [nil] lpNumberOfBytesRead: INTEGER; bAbort: BOOL; bProcessSecurity: BOOL; lpContext: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid): BOOL;
	(*END BackupRead;*)

	PROCEDURE BackupSeek* (hFile: HANDLE; dwLowBytesToSeek: INTEGER; dwHighBytesToSeek: INTEGER; VAR [nil] lpdwLowByteSeeked: INTEGER; VAR [nil] lpdwHighByteSeeked: INTEGER; lpContext: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid): BOOL;
	(*END BackupSeek;*)

	PROCEDURE BackupWrite* (hFile: HANDLE; VAR [nil] lpBuffer: SHORTCHAR; nNumberOfBytesToWrite: INTEGER; VAR [nil] lpNumberOfBytesWritten: INTEGER; bAbort: BOOL; bProcessSecurity: BOOL; lpContext: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid): BOOL;
	(*END BackupWrite;*)

	PROCEDURE CreateMutexA* (VAR [nil] lpMutexAttributes: SECURITY_ATTRIBUTES; bInitialOwner: BOOL; lpName: PtrSTR): HANDLE;
	(*END CreateMutexA;*)

	PROCEDURE CreateMutexW* (VAR [nil] lpMutexAttributes: SECURITY_ATTRIBUTES; bInitialOwner: BOOL; lpName: PtrWSTR): HANDLE;
	(*END CreateMutexW;*)

	PROCEDURE CreateMutex* ["CreateMutexA"] (VAR [nil] lpMutexAttributes: SECURITY_ATTRIBUTES; bInitialOwner: BOOL; lpName: PtrSTR): HANDLE;
	(*END CreateMutex;*)

	PROCEDURE OpenMutexA* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenMutexA;*)

	PROCEDURE OpenMutexW* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrWSTR): HANDLE;
	(*END OpenMutexW;*)

	PROCEDURE OpenMutex* ["OpenMutexA"] (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenMutex;*)

	PROCEDURE CreateEventA* (VAR [nil] lpEventAttributes: SECURITY_ATTRIBUTES; bManualReset: BOOL; bInitialState: BOOL; lpName: PtrSTR): HANDLE;
	(*END CreateEventA;*)

	PROCEDURE CreateEventW* (VAR [nil] lpEventAttributes: SECURITY_ATTRIBUTES; bManualReset: BOOL; bInitialState: BOOL; lpName: PtrWSTR): HANDLE;
	(*END CreateEventW;*)

	PROCEDURE CreateEvent* ["CreateEventA"] (VAR [nil] lpEventAttributes: SECURITY_ATTRIBUTES; bManualReset: BOOL; bInitialState: BOOL; lpName: PtrSTR): HANDLE;
	(*END CreateEvent;*)

	PROCEDURE OpenEventA* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenEventA;*)

	PROCEDURE OpenEventW* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrWSTR): HANDLE;
	(*END OpenEventW;*)

	PROCEDURE OpenEvent* ["OpenEventA"] (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenEvent;*)

	PROCEDURE CreateSemaphoreA* (VAR [nil] lpSemaphoreAttributes: SECURITY_ATTRIBUTES; lInitialCount: INTEGER; lMaximumCount: INTEGER; lpName: PtrSTR): HANDLE;
	(*END CreateSemaphoreA;*)

	PROCEDURE CreateSemaphoreW* (VAR [nil] lpSemaphoreAttributes: SECURITY_ATTRIBUTES; lInitialCount: INTEGER; lMaximumCount: INTEGER; lpName: PtrWSTR): HANDLE;
	(*END CreateSemaphoreW;*)

	PROCEDURE CreateSemaphore* ["CreateSemaphoreA"] (VAR [nil] lpSemaphoreAttributes: SECURITY_ATTRIBUTES; lInitialCount: INTEGER; lMaximumCount: INTEGER; lpName: PtrSTR): HANDLE;
	(*END CreateSemaphore;*)

	PROCEDURE OpenSemaphoreA* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenSemaphoreA;*)

	PROCEDURE OpenSemaphoreW* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrWSTR): HANDLE;
	(*END OpenSemaphoreW;*)

	PROCEDURE OpenSemaphore* ["OpenSemaphoreA"] (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenSemaphore;*)

	PROCEDURE CreateWaitableTimerA* (VAR [nil] lpTimerAttributes: SECURITY_ATTRIBUTES; bManualReset: BOOL; lpTimerName: PtrSTR): HANDLE;
	(*END CreateWaitableTimerA;*)

	PROCEDURE CreateWaitableTimerW* (VAR [nil] lpTimerAttributes: SECURITY_ATTRIBUTES; bManualReset: BOOL; lpTimerName: PtrWSTR): HANDLE;
	(*END CreateWaitableTimerW;*)

	PROCEDURE CreateWaitableTimer* ["CreateWaitableTimerA"] (VAR [nil] lpTimerAttributes: SECURITY_ATTRIBUTES; bManualReset: BOOL; lpTimerName: PtrSTR): HANDLE;
	(*END CreateWaitableTimer;*)

	PROCEDURE OpenWaitableTimerA* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpTimerName: PtrSTR): HANDLE;
	(*END OpenWaitableTimerA;*)

	PROCEDURE OpenWaitableTimerW* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpTimerName: PtrWSTR): HANDLE;
	(*END OpenWaitableTimerW;*)

	PROCEDURE OpenWaitableTimer* ["OpenWaitableTimerA"] (dwDesiredAccess: SET; bInheritHandle: BOOL; lpTimerName: PtrSTR): HANDLE;
	(*END OpenWaitableTimer;*)

	PROCEDURE SetWaitableTimer* (hTimer: HANDLE; VAR [nil] lpDueTime: LONGINT; lPeriod: INTEGER; pfnCompletionRoutine: TIMERAPCROUTINE; lpArgToCompletionRoutine: PtrVoid; fResume: BOOL): BOOL;
	(*END SetWaitableTimer;*)

	PROCEDURE CancelWaitableTimer* (hTimer: HANDLE): BOOL;
	(*END CancelWaitableTimer;*)

	PROCEDURE CreateFileMappingA* (hFile: HANDLE; VAR [nil] lpFileMappingAttributes: SECURITY_ATTRIBUTES; flProtect: SET; dwMaximumSizeHigh: INTEGER; dwMaximumSizeLow: INTEGER; lpName: PtrSTR): HANDLE;
	(*END CreateFileMappingA;*)

	PROCEDURE CreateFileMappingW* (hFile: HANDLE; VAR [nil] lpFileMappingAttributes: SECURITY_ATTRIBUTES; flProtect: SET; dwMaximumSizeHigh: INTEGER; dwMaximumSizeLow: INTEGER; lpName: PtrWSTR): HANDLE;
	(*END CreateFileMappingW;*)

	PROCEDURE CreateFileMapping* ["CreateFileMappingA"] (hFile: HANDLE; VAR [nil] lpFileMappingAttributes: SECURITY_ATTRIBUTES; flProtect: SET; dwMaximumSizeHigh: INTEGER; dwMaximumSizeLow: INTEGER; lpName: PtrSTR): HANDLE;
	(*END CreateFileMapping;*)

	PROCEDURE OpenFileMappingA* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenFileMappingA;*)

	PROCEDURE OpenFileMappingW* (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrWSTR): HANDLE;
	(*END OpenFileMappingW;*)

	PROCEDURE OpenFileMapping* ["OpenFileMappingA"] (dwDesiredAccess: SET; bInheritHandle: BOOL; lpName: PtrSTR): HANDLE;
	(*END OpenFileMapping;*)

	PROCEDURE GetLogicalDriveStringsA* (nBufferLength: INTEGER; lpBuffer: PtrSTR): INTEGER;
	(*END GetLogicalDriveStringsA;*)

	PROCEDURE GetLogicalDriveStringsW* (nBufferLength: INTEGER; lpBuffer: PtrWSTR): INTEGER;
	(*END GetLogicalDriveStringsW;*)

	PROCEDURE GetLogicalDriveStrings* ["GetLogicalDriveStringsA"] (nBufferLength: INTEGER; lpBuffer: PtrSTR): INTEGER;
	(*END GetLogicalDriveStrings;*)

	PROCEDURE LoadLibraryA* (lpLibFileName: PtrSTR): HMODULE;
	(*END LoadLibraryA;*)

	PROCEDURE LoadLibraryW* (lpLibFileName: PtrWSTR): HMODULE;
	(*END LoadLibraryW;*)

	PROCEDURE LoadLibrary* ["LoadLibraryA"] (lpLibFileName: PtrSTR): HMODULE;
	(*END LoadLibrary;*)

	PROCEDURE LoadLibraryExA* (lpLibFileName: PtrSTR; hFile: HANDLE; dwFlags: SET): HMODULE;
	(*END LoadLibraryExA;*)

	PROCEDURE LoadLibraryExW* (lpLibFileName: PtrWSTR; hFile: HANDLE; dwFlags: SET): HMODULE;
	(*END LoadLibraryExW;*)

	PROCEDURE LoadLibraryEx* ["LoadLibraryExA"] (lpLibFileName: PtrSTR; hFile: HANDLE; dwFlags: SET): HMODULE;
	(*END LoadLibraryEx;*)

	PROCEDURE GetModuleFileNameA* (hModule: HMODULE; lpFilename: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetModuleFileNameA;*)

	PROCEDURE GetModuleFileNameW* (hModule: HMODULE; lpFilename: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetModuleFileNameW;*)

	PROCEDURE GetModuleFileName* ["GetModuleFileNameA"] (hModule: HMODULE; lpFilename: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetModuleFileName;*)

	PROCEDURE GetModuleHandleA* (lpModuleName: PtrSTR): HMODULE;
	(*END GetModuleHandleA;*)

	PROCEDURE GetModuleHandleW* (lpModuleName: PtrWSTR): HMODULE;
	(*END GetModuleHandleW;*)

	PROCEDURE GetModuleHandle* ["GetModuleHandleA"] (lpModuleName: PtrSTR): HMODULE;
	(*END GetModuleHandle;*)

	PROCEDURE CreateProcessA* (lpApplicationName: PtrSTR; lpCommandLine: PtrSTR; VAR [nil] lpProcessAttributes: SECURITY_ATTRIBUTES; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; bInheritHandles: BOOL; dwCreationFlags: SET; lpEnvironment: PtrVoid; lpCurrentDirectory: PtrSTR; VAR [nil] lpStartupInfo: STARTUPINFOA; VAR [nil] lpProcessInformation: PROCESS_INFORMATION): BOOL;
	(*END CreateProcessA;*)

	PROCEDURE CreateProcessW* (lpApplicationName: PtrWSTR; lpCommandLine: PtrWSTR; VAR [nil] lpProcessAttributes: SECURITY_ATTRIBUTES; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; bInheritHandles: BOOL; dwCreationFlags: SET; lpEnvironment: PtrVoid; lpCurrentDirectory: PtrWSTR; VAR [nil] lpStartupInfo: STARTUPINFOW; VAR [nil] lpProcessInformation: PROCESS_INFORMATION): BOOL;
	(*END CreateProcessW;*)

	PROCEDURE CreateProcess* ["CreateProcessA"] (lpApplicationName: PtrSTR; lpCommandLine: PtrSTR; VAR [nil] lpProcessAttributes: SECURITY_ATTRIBUTES; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; bInheritHandles: BOOL; dwCreationFlags: SET; lpEnvironment: PtrVoid; lpCurrentDirectory: PtrSTR; VAR [nil] lpStartupInfo: STARTUPINFOA; VAR [nil] lpProcessInformation: PROCESS_INFORMATION): BOOL;
	(*END CreateProcess;*)

	PROCEDURE SetProcessShutdownParameters* (dwLevel: INTEGER; dwFlags: SET): BOOL;
	(*END SetProcessShutdownParameters;*)

	PROCEDURE GetProcessShutdownParameters* (VAR [nil] lpdwLevel: INTEGER; VAR [nil] lpdwFlags: SET): BOOL;
	(*END GetProcessShutdownParameters;*)

	PROCEDURE GetProcessVersion* (ProcessId: INTEGER): INTEGER;
	(*END GetProcessVersion;*)

	PROCEDURE FatalAppExitA* (uAction: INTEGER; lpMessageText: PtrSTR);
	(*END FatalAppExitA;*)

	PROCEDURE FatalAppExitW* (uAction: INTEGER; lpMessageText: PtrWSTR);
	(*END FatalAppExitW;*)

	PROCEDURE FatalAppExit* ["FatalAppExitA"] (uAction: INTEGER; lpMessageText: PtrSTR);
	(*END FatalAppExit;*)

	PROCEDURE GetStartupInfoA* (VAR [nil] lpStartupInfo: STARTUPINFOA);
	(*END GetStartupInfoA;*)

	PROCEDURE GetStartupInfoW* (VAR [nil] lpStartupInfo: STARTUPINFOW);
	(*END GetStartupInfoW;*)

	PROCEDURE GetStartupInfo* ["GetStartupInfoA"] (VAR [nil] lpStartupInfo: STARTUPINFOA);
	(*END GetStartupInfo;*)

	PROCEDURE GetCommandLineA* (): PtrSTR;
	(*END GetCommandLineA;*)

	PROCEDURE GetCommandLineW* (): PtrWSTR;
	(*END GetCommandLineW;*)

	PROCEDURE GetCommandLine* ["GetCommandLineA"] (): PtrSTR;
	(*END GetCommandLine;*)

	PROCEDURE GetEnvironmentVariableA* (lpName: PtrSTR; lpBuffer: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetEnvironmentVariableA;*)

	PROCEDURE GetEnvironmentVariableW* (lpName: PtrWSTR; lpBuffer: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetEnvironmentVariableW;*)

	PROCEDURE GetEnvironmentVariable* ["GetEnvironmentVariableA"] (lpName: PtrSTR; lpBuffer: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetEnvironmentVariable;*)

	PROCEDURE SetEnvironmentVariableA* (lpName: PtrSTR; lpValue: PtrSTR): BOOL;
	(*END SetEnvironmentVariableA;*)

	PROCEDURE SetEnvironmentVariableW* (lpName: PtrWSTR; lpValue: PtrWSTR): BOOL;
	(*END SetEnvironmentVariableW;*)

	PROCEDURE SetEnvironmentVariable* ["SetEnvironmentVariableA"] (lpName: PtrSTR; lpValue: PtrSTR): BOOL;
	(*END SetEnvironmentVariable;*)

	PROCEDURE ExpandEnvironmentStringsA* (lpSrc: PtrSTR; lpDst: PtrSTR; nSize: INTEGER): INTEGER;
	(*END ExpandEnvironmentStringsA;*)

	PROCEDURE ExpandEnvironmentStringsW* (lpSrc: PtrWSTR; lpDst: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END ExpandEnvironmentStringsW;*)

	PROCEDURE ExpandEnvironmentStrings* ["ExpandEnvironmentStringsA"] (lpSrc: PtrSTR; lpDst: PtrSTR; nSize: INTEGER): INTEGER;
	(*END ExpandEnvironmentStrings;*)

	PROCEDURE OutputDebugStringA* (lpOutputString: PtrSTR);
	(*END OutputDebugStringA;*)

	PROCEDURE OutputDebugStringW* (lpOutputString: PtrWSTR);
	(*END OutputDebugStringW;*)

	PROCEDURE OutputDebugString* ["OutputDebugStringA"] (lpOutputString: PtrSTR);
	(*END OutputDebugString;*)

	PROCEDURE FindResourceA* (hModule: HMODULE; lpName: PtrSTR; lpType: PtrSTR): HRSRC;
	(*END FindResourceA;*)

	PROCEDURE FindResourceW* (hModule: HMODULE; lpName: PtrWSTR; lpType: PtrWSTR): HRSRC;
	(*END FindResourceW;*)

	PROCEDURE FindResource* ["FindResourceA"] (hModule: HMODULE; lpName: PtrSTR; lpType: PtrSTR): HRSRC;
	(*END FindResource;*)

	PROCEDURE FindResourceExA* (hModule: HMODULE; lpType: PtrSTR; lpName: PtrSTR; wLanguage: SHORTINT): HRSRC;
	(*END FindResourceExA;*)

	PROCEDURE FindResourceExW* (hModule: HMODULE; lpType: PtrWSTR; lpName: PtrWSTR; wLanguage: SHORTINT): HRSRC;
	(*END FindResourceExW;*)

	PROCEDURE FindResourceEx* ["FindResourceExA"] (hModule: HMODULE; lpType: PtrSTR; lpName: PtrSTR; wLanguage: SHORTINT): HRSRC;
	(*END FindResourceEx;*)

	PROCEDURE EnumResourceTypesA* (hModule: HMODULE; lpEnumFunc: ENUMRESTYPEPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceTypesA;*)

	PROCEDURE EnumResourceTypesW* (hModule: HMODULE; lpEnumFunc: ENUMRESTYPEPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceTypesW;*)

	PROCEDURE EnumResourceTypes* ["EnumResourceTypesA"] (hModule: HMODULE; lpEnumFunc: ENUMRESTYPEPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceTypes;*)

	PROCEDURE EnumResourceNamesA* (hModule: HMODULE; lpType: PtrSTR; lpEnumFunc: ENUMRESNAMEPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceNamesA;*)

	PROCEDURE EnumResourceNamesW* (hModule: HMODULE; lpType: PtrWSTR; lpEnumFunc: ENUMRESNAMEPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceNamesW;*)

	PROCEDURE EnumResourceNames* ["EnumResourceNamesA"] (hModule: HMODULE; lpType: PtrSTR; lpEnumFunc: ENUMRESNAMEPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceNames;*)

	PROCEDURE EnumResourceLanguagesA* (hModule: HMODULE; lpType: PtrSTR; lpName: PtrSTR; lpEnumFunc: ENUMRESLANGPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceLanguagesA;*)

	PROCEDURE EnumResourceLanguagesW* (hModule: HMODULE; lpType: PtrWSTR; lpName: PtrWSTR; lpEnumFunc: ENUMRESLANGPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceLanguagesW;*)

	PROCEDURE EnumResourceLanguages* ["EnumResourceLanguagesA"] (hModule: HMODULE; lpType: PtrSTR; lpName: PtrSTR; lpEnumFunc: ENUMRESLANGPROC; lParam: INTEGER): BOOL;
	(*END EnumResourceLanguages;*)

	PROCEDURE BeginUpdateResourceA* (pFileName: PtrSTR; bDeleteExistingResources: BOOL): HANDLE;
	(*END BeginUpdateResourceA;*)

	PROCEDURE BeginUpdateResourceW* (pFileName: PtrWSTR; bDeleteExistingResources: BOOL): HANDLE;
	(*END BeginUpdateResourceW;*)

	PROCEDURE BeginUpdateResource* ["BeginUpdateResourceA"] (pFileName: PtrSTR; bDeleteExistingResources: BOOL): HANDLE;
	(*END BeginUpdateResource;*)

	PROCEDURE UpdateResourceA* (hUpdate: HANDLE; lpType: PtrSTR; lpName: PtrSTR; wLanguage: SHORTINT; lpData: PtrVoid; cbData: INTEGER): BOOL;
	(*END UpdateResourceA;*)

	PROCEDURE UpdateResourceW* (hUpdate: HANDLE; lpType: PtrWSTR; lpName: PtrWSTR; wLanguage: SHORTINT; lpData: PtrVoid; cbData: INTEGER): BOOL;
	(*END UpdateResourceW;*)

	PROCEDURE UpdateResource* ["UpdateResourceA"] (hUpdate: HANDLE; lpType: PtrSTR; lpName: PtrSTR; wLanguage: SHORTINT; lpData: PtrVoid; cbData: INTEGER): BOOL;
	(*END UpdateResource;*)

	PROCEDURE EndUpdateResourceA* (hUpdate: HANDLE; fDiscard: BOOL): BOOL;
	(*END EndUpdateResourceA;*)

	PROCEDURE EndUpdateResourceW* (hUpdate: HANDLE; fDiscard: BOOL): BOOL;
	(*END EndUpdateResourceW;*)

	PROCEDURE EndUpdateResource* ["EndUpdateResourceA"] (hUpdate: HANDLE; fDiscard: BOOL): BOOL;
	(*END EndUpdateResource;*)

	PROCEDURE GlobalAddAtomA* (lpString: PtrSTR): ATOM;
	(*END GlobalAddAtomA;*)

	PROCEDURE GlobalAddAtomW* (lpString: PtrWSTR): ATOM;
	(*END GlobalAddAtomW;*)

	PROCEDURE GlobalAddAtom* ["GlobalAddAtomA"] (lpString: PtrSTR): ATOM;
	(*END GlobalAddAtom;*)

	PROCEDURE GlobalFindAtomA* (lpString: PtrSTR): ATOM;
	(*END GlobalFindAtomA;*)

	PROCEDURE GlobalFindAtomW* (lpString: PtrWSTR): ATOM;
	(*END GlobalFindAtomW;*)

	PROCEDURE GlobalFindAtom* ["GlobalFindAtomA"] (lpString: PtrSTR): ATOM;
	(*END GlobalFindAtom;*)

	PROCEDURE GlobalGetAtomNameA* (nAtom: ATOM; lpBuffer: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GlobalGetAtomNameA;*)

	PROCEDURE GlobalGetAtomNameW* (nAtom: ATOM; lpBuffer: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GlobalGetAtomNameW;*)

	PROCEDURE GlobalGetAtomName* ["GlobalGetAtomNameA"] (nAtom: ATOM; lpBuffer: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GlobalGetAtomName;*)

	PROCEDURE AddAtomA* (lpString: PtrSTR): ATOM;
	(*END AddAtomA;*)

	PROCEDURE AddAtomW* (lpString: PtrWSTR): ATOM;
	(*END AddAtomW;*)

	PROCEDURE AddAtom* ["AddAtomA"] (lpString: PtrSTR): ATOM;
	(*END AddAtom;*)

	PROCEDURE FindAtomA* (lpString: PtrSTR): ATOM;
	(*END FindAtomA;*)

	PROCEDURE FindAtomW* (lpString: PtrWSTR): ATOM;
	(*END FindAtomW;*)

	PROCEDURE FindAtom* ["FindAtomA"] (lpString: PtrSTR): ATOM;
	(*END FindAtom;*)

	PROCEDURE GetAtomNameA* (nAtom: ATOM; lpBuffer: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetAtomNameA;*)

	PROCEDURE GetAtomNameW* (nAtom: ATOM; lpBuffer: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetAtomNameW;*)

	PROCEDURE GetAtomName* ["GetAtomNameA"] (nAtom: ATOM; lpBuffer: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetAtomName;*)

	PROCEDURE GetProfileIntA* (lpAppName: PtrSTR; lpKeyName: PtrSTR; nDefault: INTEGER): INTEGER;
	(*END GetProfileIntA;*)

	PROCEDURE GetProfileIntW* (lpAppName: PtrWSTR; lpKeyName: PtrWSTR; nDefault: INTEGER): INTEGER;
	(*END GetProfileIntW;*)

	PROCEDURE GetProfileInt* ["GetProfileIntA"] (lpAppName: PtrSTR; lpKeyName: PtrSTR; nDefault: INTEGER): INTEGER;
	(*END GetProfileInt;*)

	PROCEDURE GetProfileStringA* (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpDefault: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetProfileStringA;*)

	PROCEDURE GetProfileStringW* (lpAppName: PtrWSTR; lpKeyName: PtrWSTR; lpDefault: PtrWSTR; lpReturnedString: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetProfileStringW;*)

	PROCEDURE GetProfileString* ["GetProfileStringA"] (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpDefault: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetProfileString;*)

	PROCEDURE WriteProfileStringA* (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpString: PtrSTR): BOOL;
	(*END WriteProfileStringA;*)

	PROCEDURE WriteProfileStringW* (lpAppName: PtrWSTR; lpKeyName: PtrWSTR; lpString: PtrWSTR): BOOL;
	(*END WriteProfileStringW;*)

	PROCEDURE WriteProfileString* ["WriteProfileStringA"] (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpString: PtrSTR): BOOL;
	(*END WriteProfileString;*)

	PROCEDURE GetProfileSectionA* (lpAppName: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetProfileSectionA;*)

	PROCEDURE GetProfileSectionW* (lpAppName: PtrWSTR; lpReturnedString: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetProfileSectionW;*)

	PROCEDURE GetProfileSection* ["GetProfileSectionA"] (lpAppName: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetProfileSection;*)

	PROCEDURE WriteProfileSectionA* (lpAppName: PtrSTR; lpString: PtrSTR): BOOL;
	(*END WriteProfileSectionA;*)

	PROCEDURE WriteProfileSectionW* (lpAppName: PtrWSTR; lpString: PtrWSTR): BOOL;
	(*END WriteProfileSectionW;*)

	PROCEDURE WriteProfileSection* ["WriteProfileSectionA"] (lpAppName: PtrSTR; lpString: PtrSTR): BOOL;
	(*END WriteProfileSection;*)

	PROCEDURE GetPrivateProfileIntA* (lpAppName: PtrSTR; lpKeyName: PtrSTR; nDefault: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileIntA;*)

	PROCEDURE GetPrivateProfileIntW* (lpAppName: PtrWSTR; lpKeyName: PtrWSTR; nDefault: INTEGER; lpFileName: PtrWSTR): INTEGER;
	(*END GetPrivateProfileIntW;*)

	PROCEDURE GetPrivateProfileInt* ["GetPrivateProfileIntA"] (lpAppName: PtrSTR; lpKeyName: PtrSTR; nDefault: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileInt;*)

	PROCEDURE GetPrivateProfileStringA* (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpDefault: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileStringA;*)

	PROCEDURE GetPrivateProfileStringW* (lpAppName: PtrWSTR; lpKeyName: PtrWSTR; lpDefault: PtrWSTR; lpReturnedString: PtrWSTR; nSize: INTEGER; lpFileName: PtrWSTR): INTEGER;
	(*END GetPrivateProfileStringW;*)

	PROCEDURE GetPrivateProfileString* ["GetPrivateProfileStringA"] (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpDefault: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileString;*)

	PROCEDURE WritePrivateProfileStringA* (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpString: PtrSTR; lpFileName: PtrSTR): BOOL;
	(*END WritePrivateProfileStringA;*)

	PROCEDURE WritePrivateProfileStringW* (lpAppName: PtrWSTR; lpKeyName: PtrWSTR; lpString: PtrWSTR; lpFileName: PtrWSTR): BOOL;
	(*END WritePrivateProfileStringW;*)

	PROCEDURE WritePrivateProfileString* ["WritePrivateProfileStringA"] (lpAppName: PtrSTR; lpKeyName: PtrSTR; lpString: PtrSTR; lpFileName: PtrSTR): BOOL;
	(*END WritePrivateProfileString;*)

	PROCEDURE GetPrivateProfileSectionA* (lpAppName: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileSectionA;*)

	PROCEDURE GetPrivateProfileSectionW* (lpAppName: PtrWSTR; lpReturnedString: PtrWSTR; nSize: INTEGER; lpFileName: PtrWSTR): INTEGER;
	(*END GetPrivateProfileSectionW;*)

	PROCEDURE GetPrivateProfileSection* ["GetPrivateProfileSectionA"] (lpAppName: PtrSTR; lpReturnedString: PtrSTR; nSize: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileSection;*)

	PROCEDURE WritePrivateProfileSectionA* (lpAppName: PtrSTR; lpString: PtrSTR; lpFileName: PtrSTR): BOOL;
	(*END WritePrivateProfileSectionA;*)

	PROCEDURE WritePrivateProfileSectionW* (lpAppName: PtrWSTR; lpString: PtrWSTR; lpFileName: PtrWSTR): BOOL;
	(*END WritePrivateProfileSectionW;*)

	PROCEDURE WritePrivateProfileSection* ["WritePrivateProfileSectionA"] (lpAppName: PtrSTR; lpString: PtrSTR; lpFileName: PtrSTR): BOOL;
	(*END WritePrivateProfileSection;*)

	PROCEDURE GetPrivateProfileSectionNamesA* (lpszReturnBuffer: PtrSTR; nSize: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileSectionNamesA;*)

	PROCEDURE GetPrivateProfileSectionNamesW* (lpszReturnBuffer: PtrWSTR; nSize: INTEGER; lpFileName: PtrWSTR): INTEGER;
	(*END GetPrivateProfileSectionNamesW;*)

	PROCEDURE GetPrivateProfileSectionNames* ["GetPrivateProfileSectionNamesA"] (lpszReturnBuffer: PtrSTR; nSize: INTEGER; lpFileName: PtrSTR): INTEGER;
	(*END GetPrivateProfileSectionNames;*)

	PROCEDURE GetPrivateProfileStructA* (lpszSection: PtrSTR; lpszKey: PtrSTR; lpStruct: PtrVoid; uSizeStruct: INTEGER; szFile: PtrSTR): BOOL;
	(*END GetPrivateProfileStructA;*)

	PROCEDURE GetPrivateProfileStructW* (lpszSection: PtrWSTR; lpszKey: PtrWSTR; lpStruct: PtrVoid; uSizeStruct: INTEGER; szFile: PtrWSTR): BOOL;
	(*END GetPrivateProfileStructW;*)

	PROCEDURE GetPrivateProfileStruct* ["GetPrivateProfileStructA"] (lpszSection: PtrSTR; lpszKey: PtrSTR; lpStruct: PtrVoid; uSizeStruct: INTEGER; szFile: PtrSTR): BOOL;
	(*END GetPrivateProfileStruct;*)

	PROCEDURE WritePrivateProfileStructA* (lpszSection: PtrSTR; lpszKey: PtrSTR; lpStruct: PtrVoid; uSizeStruct: INTEGER; szFile: PtrSTR): BOOL;
	(*END WritePrivateProfileStructA;*)

	PROCEDURE WritePrivateProfileStructW* (lpszSection: PtrWSTR; lpszKey: PtrWSTR; lpStruct: PtrVoid; uSizeStruct: INTEGER; szFile: PtrWSTR): BOOL;
	(*END WritePrivateProfileStructW;*)

	PROCEDURE WritePrivateProfileStruct* ["WritePrivateProfileStructA"] (lpszSection: PtrSTR; lpszKey: PtrSTR; lpStruct: PtrVoid; uSizeStruct: INTEGER; szFile: PtrSTR): BOOL;
	(*END WritePrivateProfileStruct;*)

	PROCEDURE GetDriveTypeA* (lpRootPathName: PtrSTR): INTEGER;
	(*END GetDriveTypeA;*)

	PROCEDURE GetDriveTypeW* (lpRootPathName: PtrWSTR): INTEGER;
	(*END GetDriveTypeW;*)

	PROCEDURE GetDriveType* ["GetDriveTypeA"] (lpRootPathName: PtrSTR): INTEGER;
	(*END GetDriveType;*)

	PROCEDURE GetSystemDirectoryA* (lpBuffer: PtrSTR; uSize: INTEGER): INTEGER;
	(*END GetSystemDirectoryA;*)

	PROCEDURE GetSystemDirectoryW* (lpBuffer: PtrWSTR; uSize: INTEGER): INTEGER;
	(*END GetSystemDirectoryW;*)

	PROCEDURE GetSystemDirectory* ["GetSystemDirectoryA"] (lpBuffer: PtrSTR; uSize: INTEGER): INTEGER;
	(*END GetSystemDirectory;*)

	PROCEDURE GetTempPathA* (nBufferLength: INTEGER; lpBuffer: PtrSTR): INTEGER;
	(*END GetTempPathA;*)

	PROCEDURE GetTempPathW* (nBufferLength: INTEGER; lpBuffer: PtrWSTR): INTEGER;
	(*END GetTempPathW;*)

	PROCEDURE GetTempPath* ["GetTempPathA"] (nBufferLength: INTEGER; lpBuffer: PtrSTR): INTEGER;
	(*END GetTempPath;*)

	PROCEDURE GetTempFileNameA* (lpPathName: PtrSTR; lpPrefixString: PtrSTR; uUnique: INTEGER; lpTempFileName: PtrSTR): INTEGER;
	(*END GetTempFileNameA;*)

	PROCEDURE GetTempFileNameW* (lpPathName: PtrWSTR; lpPrefixString: PtrWSTR; uUnique: INTEGER; lpTempFileName: PtrWSTR): INTEGER;
	(*END GetTempFileNameW;*)

	PROCEDURE GetTempFileName* ["GetTempFileNameA"] (lpPathName: PtrSTR; lpPrefixString: PtrSTR; uUnique: INTEGER; lpTempFileName: PtrSTR): INTEGER;
	(*END GetTempFileName;*)

	PROCEDURE GetWindowsDirectoryA* (lpBuffer: PtrSTR; uSize: INTEGER): INTEGER;
	(*END GetWindowsDirectoryA;*)

	PROCEDURE GetWindowsDirectoryW* (lpBuffer: PtrWSTR; uSize: INTEGER): INTEGER;
	(*END GetWindowsDirectoryW;*)

	PROCEDURE GetWindowsDirectory* ["GetWindowsDirectoryA"] (lpBuffer: PtrSTR; uSize: INTEGER): INTEGER;
	(*END GetWindowsDirectory;*)

	PROCEDURE SetCurrentDirectoryA* (lpPathName: PtrSTR): BOOL;
	(*END SetCurrentDirectoryA;*)

	PROCEDURE SetCurrentDirectoryW* (lpPathName: PtrWSTR): BOOL;
	(*END SetCurrentDirectoryW;*)

	PROCEDURE SetCurrentDirectory* ["SetCurrentDirectoryA"] (lpPathName: PtrSTR): BOOL;
	(*END SetCurrentDirectory;*)

	PROCEDURE GetCurrentDirectoryA* (nBufferLength: INTEGER; lpBuffer: PtrSTR): INTEGER;
	(*END GetCurrentDirectoryA;*)

	PROCEDURE GetCurrentDirectoryW* (nBufferLength: INTEGER; lpBuffer: PtrWSTR): INTEGER;
	(*END GetCurrentDirectoryW;*)

	PROCEDURE GetCurrentDirectory* ["GetCurrentDirectoryA"] (nBufferLength: INTEGER; lpBuffer: PtrSTR): INTEGER;
	(*END GetCurrentDirectory;*)

	PROCEDURE GetDiskFreeSpaceA* (lpRootPathName: PtrSTR; VAR [nil] lpSectorsPerCluster: INTEGER; VAR [nil] lpBytesPerSector: INTEGER; VAR [nil] lpNumberOfFreeClusters: INTEGER; VAR [nil] lpTotalNumberOfClusters: INTEGER): BOOL;
	(*END GetDiskFreeSpaceA;*)

	PROCEDURE GetDiskFreeSpaceW* (lpRootPathName: PtrWSTR; VAR [nil] lpSectorsPerCluster: INTEGER; VAR [nil] lpBytesPerSector: INTEGER; VAR [nil] lpNumberOfFreeClusters: INTEGER; VAR [nil] lpTotalNumberOfClusters: INTEGER): BOOL;
	(*END GetDiskFreeSpaceW;*)

	PROCEDURE GetDiskFreeSpace* ["GetDiskFreeSpaceA"] (lpRootPathName: PtrSTR; VAR [nil] lpSectorsPerCluster: INTEGER; VAR [nil] lpBytesPerSector: INTEGER; VAR [nil] lpNumberOfFreeClusters: INTEGER; VAR [nil] lpTotalNumberOfClusters: INTEGER): BOOL;
	(*END GetDiskFreeSpace;*)

	PROCEDURE CreateDirectoryA* (lpPathName: PtrSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): BOOL;
	(*END CreateDirectoryA;*)

	PROCEDURE CreateDirectoryW* (lpPathName: PtrWSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): BOOL;
	(*END CreateDirectoryW;*)

	PROCEDURE CreateDirectory* ["CreateDirectoryA"] (lpPathName: PtrSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): BOOL;
	(*END CreateDirectory;*)

	PROCEDURE CreateDirectoryExA* (lpTemplateDirectory: PtrSTR; lpNewDirectory: PtrSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): BOOL;
	(*END CreateDirectoryExA;*)

	PROCEDURE CreateDirectoryExW* (lpTemplateDirectory: PtrWSTR; lpNewDirectory: PtrWSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): BOOL;
	(*END CreateDirectoryExW;*)

	PROCEDURE CreateDirectoryEx* ["CreateDirectoryExA"] (lpTemplateDirectory: PtrSTR; lpNewDirectory: PtrSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): BOOL;
	(*END CreateDirectoryEx;*)

	PROCEDURE RemoveDirectoryA* (lpPathName: PtrSTR): BOOL;
	(*END RemoveDirectoryA;*)

	PROCEDURE RemoveDirectoryW* (lpPathName: PtrWSTR): BOOL;
	(*END RemoveDirectoryW;*)

	PROCEDURE RemoveDirectory* ["RemoveDirectoryA"] (lpPathName: PtrSTR): BOOL;
	(*END RemoveDirectory;*)

	PROCEDURE GetFullPathNameA* (lpFileName: PtrSTR; nBufferLength: INTEGER; lpBuffer: PtrSTR; VAR [nil] lpFilePart: PtrSTR): INTEGER;
	(*END GetFullPathNameA;*)

	PROCEDURE GetFullPathNameW* (lpFileName: PtrWSTR; nBufferLength: INTEGER; lpBuffer: PtrWSTR; VAR [nil] lpFilePart: PtrWSTR): INTEGER;
	(*END GetFullPathNameW;*)

	PROCEDURE GetFullPathName* ["GetFullPathNameA"] (lpFileName: PtrSTR; nBufferLength: INTEGER; lpBuffer: PtrSTR; VAR [nil] lpFilePart: PtrSTR): INTEGER;
	(*END GetFullPathName;*)

	PROCEDURE DefineDosDeviceA* (dwFlags: SET; lpDeviceName: PtrSTR; lpTargetPath: PtrSTR): BOOL;
	(*END DefineDosDeviceA;*)

	PROCEDURE DefineDosDeviceW* (dwFlags: SET; lpDeviceName: PtrWSTR; lpTargetPath: PtrWSTR): BOOL;
	(*END DefineDosDeviceW;*)

	PROCEDURE DefineDosDevice* ["DefineDosDeviceA"] (dwFlags: SET; lpDeviceName: PtrSTR; lpTargetPath: PtrSTR): BOOL;
	(*END DefineDosDevice;*)

	PROCEDURE QueryDosDeviceA* (lpDeviceName: PtrSTR; lpTargetPath: PtrSTR; ucchMax: INTEGER): INTEGER;
	(*END QueryDosDeviceA;*)

	PROCEDURE QueryDosDeviceW* (lpDeviceName: PtrWSTR; lpTargetPath: PtrWSTR; ucchMax: INTEGER): INTEGER;
	(*END QueryDosDeviceW;*)

	PROCEDURE QueryDosDevice* ["QueryDosDeviceA"] (lpDeviceName: PtrSTR; lpTargetPath: PtrSTR; ucchMax: INTEGER): INTEGER;
	(*END QueryDosDevice;*)

	PROCEDURE CreateFileA* (lpFileName: PtrSTR; dwDesiredAccess: SET; dwShareMode: SET; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; dwCreationDisposition: INTEGER; dwFlagsAndAttributes: SET; hTemplateFile: HANDLE): HANDLE;
	(*END CreateFileA;*)

	PROCEDURE CreateFileW* (lpFileName: PtrWSTR; dwDesiredAccess: SET; dwShareMode: SET; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; dwCreationDisposition: INTEGER; dwFlagsAndAttributes: SET; hTemplateFile: HANDLE): HANDLE;
	(*END CreateFileW;*)

	PROCEDURE CreateFile* ["CreateFileA"] (lpFileName: PtrSTR; dwDesiredAccess: SET; dwShareMode: SET; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; dwCreationDisposition: INTEGER; dwFlagsAndAttributes: SET; hTemplateFile: HANDLE): HANDLE;
	(*END CreateFile;*)

	PROCEDURE SetFileAttributesA* (lpFileName: PtrSTR; dwFileAttributes: SET): BOOL;
	(*END SetFileAttributesA;*)

	PROCEDURE SetFileAttributesW* (lpFileName: PtrWSTR; dwFileAttributes: SET): BOOL;
	(*END SetFileAttributesW;*)

	PROCEDURE SetFileAttributes* ["SetFileAttributesA"] (lpFileName: PtrSTR; dwFileAttributes: SET): BOOL;
	(*END SetFileAttributes;*)

	PROCEDURE GetFileAttributesA* (lpFileName: PtrSTR): INTEGER;
	(*END GetFileAttributesA;*)

	PROCEDURE GetFileAttributesW* (lpFileName: PtrWSTR): INTEGER;
	(*END GetFileAttributesW;*)

	PROCEDURE GetFileAttributes* ["GetFileAttributesA"] (lpFileName: PtrSTR): INTEGER;
	(*END GetFileAttributes;*)

	PROCEDURE GetCompressedFileSizeA* (lpFileName: PtrSTR; VAR [nil] lpFileSizeHigh: INTEGER): INTEGER;
	(*END GetCompressedFileSizeA;*)

	PROCEDURE GetCompressedFileSizeW* (lpFileName: PtrWSTR; VAR [nil] lpFileSizeHigh: INTEGER): INTEGER;
	(*END GetCompressedFileSizeW;*)

	PROCEDURE GetCompressedFileSize* ["GetCompressedFileSizeA"] (lpFileName: PtrSTR; VAR [nil] lpFileSizeHigh: INTEGER): INTEGER;
	(*END GetCompressedFileSize;*)

	PROCEDURE DeleteFileA* (lpFileName: PtrSTR): BOOL;
	(*END DeleteFileA;*)

	PROCEDURE DeleteFileW* (lpFileName: PtrWSTR): BOOL;
	(*END DeleteFileW;*)

	PROCEDURE DeleteFile* ["DeleteFileA"] (lpFileName: PtrSTR): BOOL;
	(*END DeleteFile;*)

	PROCEDURE FindFirstFileExA* (lpFileName: PtrSTR; fInfoLevelId: FINDEX_INFO_LEVELS; lpFindFileData: PtrVoid; fSearchOp: FINDEX_SEARCH_OPS; lpSearchFilter: PtrVoid; dwAdditionalFlags: INTEGER): HANDLE;
	(*END FindFirstFileExA;*)

	PROCEDURE FindFirstFileExW* (lpFileName: PtrWSTR; fInfoLevelId: FINDEX_INFO_LEVELS; lpFindFileData: PtrVoid; fSearchOp: FINDEX_SEARCH_OPS; lpSearchFilter: PtrVoid; dwAdditionalFlags: INTEGER): HANDLE;
	(*END FindFirstFileExW;*)

	PROCEDURE FindFirstFileEx* ["FindFirstFileExA"] (lpFileName: PtrSTR; fInfoLevelId: FINDEX_INFO_LEVELS; lpFindFileData: PtrVoid; fSearchOp: FINDEX_SEARCH_OPS; lpSearchFilter: PtrVoid; dwAdditionalFlags: INTEGER): HANDLE;
	(*END FindFirstFileEx;*)

	PROCEDURE FindFirstFileA* (lpFileName: PtrSTR; VAR [nil] lpFindFileData: WIN32_FIND_DATAA): HANDLE;
	(*END FindFirstFileA;*)

	PROCEDURE FindFirstFileW* (lpFileName: PtrWSTR; VAR [nil] lpFindFileData: WIN32_FIND_DATAW): HANDLE;
	(*END FindFirstFileW;*)

	PROCEDURE FindFirstFile* ["FindFirstFileA"] (lpFileName: PtrSTR; VAR [nil] lpFindFileData: WIN32_FIND_DATAA): HANDLE;
	(*END FindFirstFile;*)

	PROCEDURE FindNextFileA* (hFindFile: HANDLE; VAR [nil] lpFindFileData: WIN32_FIND_DATAA): BOOL;
	(*END FindNextFileA;*)

	PROCEDURE FindNextFileW* (hFindFile: HANDLE; VAR [nil] lpFindFileData: WIN32_FIND_DATAW): BOOL;
	(*END FindNextFileW;*)

	PROCEDURE FindNextFile* ["FindNextFileA"] (hFindFile: HANDLE; VAR [nil] lpFindFileData: WIN32_FIND_DATAA): BOOL;
	(*END FindNextFile;*)

	PROCEDURE SearchPathA* (lpPath: PtrSTR; lpFileName: PtrSTR; lpExtension: PtrSTR; nBufferLength: INTEGER; lpBuffer: PtrSTR; VAR [nil] lpFilePart: PtrSTR): INTEGER;
	(*END SearchPathA;*)

	PROCEDURE SearchPathW* (lpPath: PtrWSTR; lpFileName: PtrWSTR; lpExtension: PtrWSTR; nBufferLength: INTEGER; lpBuffer: PtrWSTR; VAR [nil] lpFilePart: PtrWSTR): INTEGER;
	(*END SearchPathW;*)

	PROCEDURE SearchPath* ["SearchPathA"] (lpPath: PtrSTR; lpFileName: PtrSTR; lpExtension: PtrSTR; nBufferLength: INTEGER; lpBuffer: PtrSTR; lpFilePart: POINTER TO (*?*) ARRAY [untagged] OF PtrSTR): INTEGER;
	(*END SearchPath;*)

	PROCEDURE CopyFileA* (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR; bFailIfExists: BOOL): BOOL;
	(*END CopyFileA;*)

	PROCEDURE CopyFileW* (lpExistingFileName: PtrWSTR; lpNewFileName: PtrWSTR; bFailIfExists: BOOL): BOOL;
	(*END CopyFileW;*)

	PROCEDURE CopyFile* ["CopyFileA"] (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR; bFailIfExists: BOOL): BOOL;
	(*END CopyFile;*)

	PROCEDURE CopyFileExA* (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR; lpProgressRoutine: PROGRESS_ROUTINE; lpData: PtrVoid; VAR [nil] pbCancel: BOOL; dwCopyFlags: INTEGER): BOOL;
	(*END CopyFileExA;*)

	PROCEDURE CopyFileExW* (lpExistingFileName: PtrWSTR; lpNewFileName: PtrWSTR; lpProgressRoutine: PROGRESS_ROUTINE; lpData: PtrVoid; VAR [nil] pbCancel: BOOL; dwCopyFlags: INTEGER): BOOL;
	(*END CopyFileExW;*)

	PROCEDURE CopyFileEx* ["CopyFileExA"] (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR; lpProgressRoutine: PROGRESS_ROUTINE; lpData: PtrVoid; VAR [nil] pbCancel: BOOL; dwCopyFlags: INTEGER): BOOL;
	(*END CopyFileEx;*)

	PROCEDURE MoveFileA* (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR): BOOL;
	(*END MoveFileA;*)

	PROCEDURE MoveFileW* (lpExistingFileName: PtrWSTR; lpNewFileName: PtrWSTR): BOOL;
	(*END MoveFileW;*)

	PROCEDURE MoveFile* ["MoveFileA"] (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR): BOOL;
	(*END MoveFile;*)

	PROCEDURE MoveFileExA* (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR; dwFlags: SET): BOOL;
	(*END MoveFileExA;*)

	PROCEDURE MoveFileExW* (lpExistingFileName: PtrWSTR; lpNewFileName: PtrWSTR; dwFlags: SET): BOOL;
	(*END MoveFileExW;*)

	PROCEDURE MoveFileEx* ["MoveFileExA"] (lpExistingFileName: PtrSTR; lpNewFileName: PtrSTR; dwFlags: SET): BOOL;
	(*END MoveFileEx;*)

	PROCEDURE CreateNamedPipeA* (lpName: PtrSTR; dwOpenMode: INTEGER; dwPipeMode: INTEGER; nMaxInstances: INTEGER; nOutBufferSize: INTEGER; nInBufferSize: INTEGER; nDefaultTimeOut: INTEGER; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): HANDLE;
	(*END CreateNamedPipeA;*)

	PROCEDURE CreateNamedPipeW* (lpName: PtrWSTR; dwOpenMode: INTEGER; dwPipeMode: INTEGER; nMaxInstances: INTEGER; nOutBufferSize: INTEGER; nInBufferSize: INTEGER; nDefaultTimeOut: INTEGER; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): HANDLE;
	(*END CreateNamedPipeW;*)

	PROCEDURE CreateNamedPipe* ["CreateNamedPipeA"] (lpName: PtrSTR; dwOpenMode: INTEGER; dwPipeMode: INTEGER; nMaxInstances: INTEGER; nOutBufferSize: INTEGER; nInBufferSize: INTEGER; nDefaultTimeOut: INTEGER; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): HANDLE;
	(*END CreateNamedPipe;*)

	PROCEDURE GetNamedPipeHandleStateA* (hNamedPipe: HANDLE; VAR [nil] lpState: INTEGER; VAR [nil] lpCurInstances: INTEGER; VAR [nil] lpMaxCollectionCount: INTEGER; VAR [nil] lpCollectDataTimeout: INTEGER; lpUserName: PtrSTR; nMaxUserNameSize: INTEGER): BOOL;
	(*END GetNamedPipeHandleStateA;*)

	PROCEDURE GetNamedPipeHandleStateW* (hNamedPipe: HANDLE; VAR [nil] lpState: INTEGER; VAR [nil] lpCurInstances: INTEGER; VAR [nil] lpMaxCollectionCount: INTEGER; VAR [nil] lpCollectDataTimeout: INTEGER; lpUserName: PtrWSTR; nMaxUserNameSize: INTEGER): BOOL;
	(*END GetNamedPipeHandleStateW;*)

	PROCEDURE GetNamedPipeHandleState* ["GetNamedPipeHandleStateA"] (hNamedPipe: HANDLE; VAR [nil] lpState: INTEGER; VAR [nil] lpCurInstances: INTEGER; VAR [nil] lpMaxCollectionCount: INTEGER; VAR [nil] lpCollectDataTimeout: INTEGER; lpUserName: PtrSTR; nMaxUserNameSize: INTEGER): BOOL;
	(*END GetNamedPipeHandleState;*)

	PROCEDURE CallNamedPipeA* (lpNamedPipeName: PtrSTR; lpInBuffer: PtrVoid; nInBufferSize: INTEGER; lpOutBuffer: PtrVoid; nOutBufferSize: INTEGER; VAR [nil] lpBytesRead: INTEGER; nTimeOut: INTEGER): BOOL;
	(*END CallNamedPipeA;*)

	PROCEDURE CallNamedPipeW* (lpNamedPipeName: PtrWSTR; lpInBuffer: PtrVoid; nInBufferSize: INTEGER; lpOutBuffer: PtrVoid; nOutBufferSize: INTEGER; VAR [nil] lpBytesRead: INTEGER; nTimeOut: INTEGER): BOOL;
	(*END CallNamedPipeW;*)

	PROCEDURE CallNamedPipe* ["CallNamedPipeA"] (lpNamedPipeName: PtrSTR; lpInBuffer: PtrVoid; nInBufferSize: INTEGER; lpOutBuffer: PtrVoid; nOutBufferSize: INTEGER; VAR [nil] lpBytesRead: INTEGER; nTimeOut: INTEGER): BOOL;
	(*END CallNamedPipe;*)

	PROCEDURE WaitNamedPipeA* (lpNamedPipeName: PtrSTR; nTimeOut: INTEGER): BOOL;
	(*END WaitNamedPipeA;*)

	PROCEDURE WaitNamedPipeW* (lpNamedPipeName: PtrWSTR; nTimeOut: INTEGER): BOOL;
	(*END WaitNamedPipeW;*)

	PROCEDURE WaitNamedPipe* ["WaitNamedPipeA"] (lpNamedPipeName: PtrSTR; nTimeOut: INTEGER): BOOL;
	(*END WaitNamedPipe;*)

	PROCEDURE SetVolumeLabelA* (lpRootPathName: PtrSTR; lpVolumeName: PtrSTR): BOOL;
	(*END SetVolumeLabelA;*)

	PROCEDURE SetVolumeLabelW* (lpRootPathName: PtrWSTR; lpVolumeName: PtrWSTR): BOOL;
	(*END SetVolumeLabelW;*)

	PROCEDURE SetVolumeLabel* ["SetVolumeLabelA"] (lpRootPathName: PtrSTR; lpVolumeName: PtrSTR): BOOL;
	(*END SetVolumeLabel;*)

	PROCEDURE SetFileApisToOEM* ();
	(*END SetFileApisToOEM;*)

	PROCEDURE SetFileApisToANSI* ();
	(*END SetFileApisToANSI;*)

	PROCEDURE AreFileApisANSI* (): BOOL;
	(*END AreFileApisANSI;*)

	PROCEDURE GetVolumeInformationA* (lpRootPathName: PtrSTR; lpVolumeNameBuffer: PtrSTR; nVolumeNameSize: INTEGER; VAR [nil] lpVolumeSerialNumber: INTEGER; VAR [nil] lpMaximumComponentLength: INTEGER; VAR [nil] lpFileSystemFlags: SET; lpFileSystemNameBuffer: PtrSTR; nFileSystemNameSize: INTEGER): BOOL;
	(*END GetVolumeInformationA;*)

	PROCEDURE GetVolumeInformationW* (lpRootPathName: PtrWSTR; lpVolumeNameBuffer: PtrWSTR; nVolumeNameSize: INTEGER; VAR [nil] lpVolumeSerialNumber: INTEGER; VAR [nil] lpMaximumComponentLength: INTEGER; VAR [nil] lpFileSystemFlags: SET; lpFileSystemNameBuffer: PtrWSTR; nFileSystemNameSize: INTEGER): BOOL;
	(*END GetVolumeInformationW;*)

	PROCEDURE GetVolumeInformation* ["GetVolumeInformationA"] (lpRootPathName: PtrSTR; lpVolumeNameBuffer: PtrSTR; nVolumeNameSize: INTEGER; VAR [nil] lpVolumeSerialNumber: INTEGER; VAR [nil] lpMaximumComponentLength: INTEGER; VAR [nil] lpFileSystemFlags: SET; lpFileSystemNameBuffer: PtrSTR; nFileSystemNameSize: INTEGER): BOOL;
	(*END GetVolumeInformation;*)

	PROCEDURE ClearEventLogA* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; lpBackupFileName: PtrSTR): BOOL;
	(*END ClearEventLogA;*)

	PROCEDURE ClearEventLogW* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; lpBackupFileName: PtrWSTR): BOOL;
	(*END ClearEventLogW;*)

	PROCEDURE ClearEventLog* ["ADVAPI32.dll", "ClearEventLogA"] (hEventLog: HANDLE; lpBackupFileName: PtrSTR): BOOL;
	(*END ClearEventLog;*)

	PROCEDURE BackupEventLogA* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; lpBackupFileName: PtrSTR): BOOL;
	(*END BackupEventLogA;*)

	PROCEDURE BackupEventLogW* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; lpBackupFileName: PtrWSTR): BOOL;
	(*END BackupEventLogW;*)

	PROCEDURE BackupEventLog* ["ADVAPI32.dll", "BackupEventLogA"] (hEventLog: HANDLE; lpBackupFileName: PtrSTR): BOOL;
	(*END BackupEventLog;*)

	PROCEDURE CloseEventLog* ["ADVAPI32.dll", ""] (hEventLog: HANDLE): BOOL;
	(*END CloseEventLog;*)

	PROCEDURE DeregisterEventSource* ["ADVAPI32.dll", ""] (hEventLog: HANDLE): BOOL;
	(*END DeregisterEventSource;*)

	PROCEDURE NotifyChangeEventLog* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; hEvent: HANDLE): BOOL;
	(*END NotifyChangeEventLog;*)

	PROCEDURE GetNumberOfEventLogRecords* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; VAR [nil] NumberOfRecords: INTEGER): BOOL;
	(*END GetNumberOfEventLogRecords;*)

	PROCEDURE GetOldestEventLogRecord* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; VAR [nil] OldestRecord: INTEGER): BOOL;
	(*END GetOldestEventLogRecord;*)

	PROCEDURE OpenEventLogA* ["ADVAPI32.dll", ""] (lpUNCServerName: PtrSTR; lpSourceName: PtrSTR): HANDLE;
	(*END OpenEventLogA;*)

	PROCEDURE OpenEventLogW* ["ADVAPI32.dll", ""] (lpUNCServerName: PtrWSTR; lpSourceName: PtrWSTR): HANDLE;
	(*END OpenEventLogW;*)

	PROCEDURE OpenEventLog* ["ADVAPI32.dll", "OpenEventLogA"] (lpUNCServerName: PtrSTR; lpSourceName: PtrSTR): HANDLE;
	(*END OpenEventLog;*)

	PROCEDURE RegisterEventSourceA* ["ADVAPI32.dll", ""] (lpUNCServerName: PtrSTR; lpSourceName: PtrSTR): HANDLE;
	(*END RegisterEventSourceA;*)

	PROCEDURE RegisterEventSourceW* ["ADVAPI32.dll", ""] (lpUNCServerName: PtrWSTR; lpSourceName: PtrWSTR): HANDLE;
	(*END RegisterEventSourceW;*)

	PROCEDURE RegisterEventSource* ["ADVAPI32.dll", "RegisterEventSourceA"] (lpUNCServerName: PtrSTR; lpSourceName: PtrSTR): HANDLE;
	(*END RegisterEventSource;*)

	PROCEDURE OpenBackupEventLogA* ["ADVAPI32.dll", ""] (lpUNCServerName: PtrSTR; lpFileName: PtrSTR): HANDLE;
	(*END OpenBackupEventLogA;*)

	PROCEDURE OpenBackupEventLogW* ["ADVAPI32.dll", ""] (lpUNCServerName: PtrWSTR; lpFileName: PtrWSTR): HANDLE;
	(*END OpenBackupEventLogW;*)

	PROCEDURE OpenBackupEventLog* ["ADVAPI32.dll", "OpenBackupEventLogA"] (lpUNCServerName: PtrSTR; lpFileName: PtrSTR): HANDLE;
	(*END OpenBackupEventLog;*)

	PROCEDURE ReadEventLogA* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; dwReadFlags: SET; dwRecordOffset: INTEGER; lpBuffer: PtrVoid; nNumberOfBytesToRead: INTEGER; VAR [nil] pnBytesRead: INTEGER; VAR [nil] pnMinNumberOfBytesNeeded: INTEGER): BOOL;
	(*END ReadEventLogA;*)

	PROCEDURE ReadEventLogW* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; dwReadFlags: SET; dwRecordOffset: INTEGER; lpBuffer: PtrVoid; nNumberOfBytesToRead: INTEGER; VAR [nil] pnBytesRead: INTEGER; VAR [nil] pnMinNumberOfBytesNeeded: INTEGER): BOOL;
	(*END ReadEventLogW;*)

	PROCEDURE ReadEventLog* ["ADVAPI32.dll", "ReadEventLogA"] (hEventLog: HANDLE; dwReadFlags: SET; dwRecordOffset: INTEGER; lpBuffer: PtrVoid; nNumberOfBytesToRead: INTEGER; VAR [nil] pnBytesRead: INTEGER; VAR [nil] pnMinNumberOfBytesNeeded: INTEGER): BOOL;
	(*END ReadEventLog;*)

	PROCEDURE ReportEventA* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; wType: SHORTINT; wCategory: SHORTINT; dwEventID: INTEGER; lpUserSid: PSID; wNumStrings: SHORTINT; dwDataSize: INTEGER; VAR [nil] lpStrings: PtrSTR; lpRawData: PtrVoid): BOOL;
	(*END ReportEventA;*)

	PROCEDURE ReportEventW* ["ADVAPI32.dll", ""] (hEventLog: HANDLE; wType: SHORTINT; wCategory: SHORTINT; dwEventID: INTEGER; lpUserSid: PSID; wNumStrings: SHORTINT; dwDataSize: INTEGER; lpStrings: POINTER TO (*?*) ARRAY [untagged] OF PtrWSTR; lpRawData: PtrVoid): BOOL;
	(*END ReportEventW;*)

	PROCEDURE ReportEvent* ["ADVAPI32.dll", "ReportEventA"] (hEventLog: HANDLE; wType: SHORTINT; wCategory: SHORTINT; dwEventID: INTEGER; lpUserSid: PSID; wNumStrings: SHORTINT; dwDataSize: INTEGER; VAR [nil] lpStrings: PtrSTR; lpRawData: PtrVoid): BOOL;
	(*END ReportEvent;*)

	PROCEDURE DuplicateToken* ["ADVAPI32.dll", ""] (ExistingTokenHandle: HANDLE; ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL; VAR [nil] DuplicateTokenHandle: HANDLE): BOOL;
	(*END DuplicateToken;*)

	PROCEDURE GetKernelObjectSecurity* ["ADVAPI32.dll", ""] (Handle: HANDLE; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetKernelObjectSecurity;*)

	PROCEDURE ImpersonateNamedPipeClient* ["ADVAPI32.dll", ""] (hNamedPipe: HANDLE): BOOL;
	(*END ImpersonateNamedPipeClient;*)

	PROCEDURE ImpersonateSelf* ["ADVAPI32.dll", ""] (ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL): BOOL;
	(*END ImpersonateSelf;*)

	PROCEDURE RevertToSelf* ["ADVAPI32.dll", ""] (): BOOL;
	(*END RevertToSelf;*)

	PROCEDURE SetThreadToken* ["ADVAPI32.dll", ""] (VAR [nil] Thread: HANDLE; Token: HANDLE): BOOL;
	(*END SetThreadToken;*)

	PROCEDURE AccessCheck* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; ClientToken: HANDLE; DesiredAccess: SET; VAR [nil] GenericMapping: GENERIC_MAPPING; VAR [nil] PrivilegeSet: PRIVILEGE_SET; VAR [nil] PrivilegeSetLength: INTEGER; VAR [nil] GrantedAccess: INTEGER; VAR [nil] AccessStatus: BOOL): BOOL;
	(*END AccessCheck;*)

	PROCEDURE OpenProcessToken* ["ADVAPI32.dll", ""] (ProcessHandle: HANDLE; DesiredAccess: SET; VAR [nil] TokenHandle: HANDLE): BOOL;
	(*END OpenProcessToken;*)

	PROCEDURE OpenThreadToken* ["ADVAPI32.dll", ""] (ThreadHandle: HANDLE; DesiredAccess: SET; OpenAsSelf: BOOL; VAR [nil] TokenHandle: HANDLE): BOOL;
	(*END OpenThreadToken;*)

	PROCEDURE GetTokenInformation* ["ADVAPI32.dll", ""] (TokenHandle: HANDLE; TokenInformationClass: TOKEN_INFORMATION_CLASS; TokenInformation: PtrVoid; TokenInformationLength: INTEGER; VAR [nil] ReturnLength: INTEGER): BOOL;
	(*END GetTokenInformation;*)

	PROCEDURE SetTokenInformation* ["ADVAPI32.dll", ""] (TokenHandle: HANDLE; TokenInformationClass: TOKEN_INFORMATION_CLASS; TokenInformation: PtrVoid; TokenInformationLength: INTEGER): BOOL;
	(*END SetTokenInformation;*)

	PROCEDURE AdjustTokenPrivileges* ["ADVAPI32.dll", ""] (TokenHandle: HANDLE; DisableAllPrivileges: BOOL; VAR [nil] NewState: TOKEN_PRIVILEGES; BufferLength: INTEGER; VAR [nil] PreviousState: TOKEN_PRIVILEGES; VAR [nil] ReturnLength: INTEGER): BOOL;
	(*END AdjustTokenPrivileges;*)

	PROCEDURE AdjustTokenGroups* ["ADVAPI32.dll", ""] (TokenHandle: HANDLE; ResetToDefault: BOOL; VAR [nil] NewState: TOKEN_GROUPS; BufferLength: INTEGER; VAR [nil] PreviousState: TOKEN_GROUPS; VAR [nil] ReturnLength: INTEGER): BOOL;
	(*END AdjustTokenGroups;*)

	PROCEDURE PrivilegeCheck* ["ADVAPI32.dll", ""] (ClientToken: HANDLE; VAR [nil] RequiredPrivileges: PRIVILEGE_SET; VAR [nil] pfResult: BOOL): BOOL;
	(*END PrivilegeCheck;*)

	PROCEDURE AccessCheckAndAuditAlarmA* ["ADVAPI32.dll", ""] (SubsystemName: PtrSTR; HandleId: PtrVoid; ObjectTypeName: PtrSTR; ObjectName: PtrSTR; SecurityDescriptor: PSECURITY_DESCRIPTOR; DesiredAccess: SET; VAR [nil] GenericMapping: GENERIC_MAPPING; ObjectCreation: BOOL; VAR [nil] GrantedAccess: INTEGER; VAR [nil] AccessStatus: BOOL; VAR [nil] pfGenerateOnClose: BOOL): BOOL;
	(*END AccessCheckAndAuditAlarmA;*)

	PROCEDURE AccessCheckAndAuditAlarmW* ["ADVAPI32.dll", ""] (SubsystemName: PtrWSTR; HandleId: PtrVoid; ObjectTypeName: PtrWSTR; ObjectName: PtrWSTR; SecurityDescriptor: PSECURITY_DESCRIPTOR; DesiredAccess: SET; VAR [nil] GenericMapping: GENERIC_MAPPING; ObjectCreation: BOOL; VAR [nil] GrantedAccess: INTEGER; VAR [nil] AccessStatus: BOOL; VAR [nil] pfGenerateOnClose: BOOL): BOOL;
	(*END AccessCheckAndAuditAlarmW;*)

	PROCEDURE AccessCheckAndAuditAlarm* ["ADVAPI32.dll", "AccessCheckAndAuditAlarmA"] (SubsystemName: PtrSTR; HandleId: PtrVoid; ObjectTypeName: PtrSTR; ObjectName: PtrSTR; SecurityDescriptor: PSECURITY_DESCRIPTOR; DesiredAccess: SET; VAR [nil] GenericMapping: GENERIC_MAPPING; ObjectCreation: BOOL; VAR [nil] GrantedAccess: INTEGER; VAR [nil] AccessStatus: BOOL; VAR [nil] pfGenerateOnClose: BOOL): BOOL;
	(*END AccessCheckAndAuditAlarm;*)

	PROCEDURE ObjectOpenAuditAlarmA* ["ADVAPI32.dll", ""] (SubsystemName: PtrSTR; HandleId: PtrVoid; ObjectTypeName: PtrSTR; ObjectName: PtrSTR; pSecurityDescriptor: PSECURITY_DESCRIPTOR; ClientToken: HANDLE; DesiredAccess: SET; GrantedAccess: INTEGER; VAR [nil] Privileges: PRIVILEGE_SET; ObjectCreation: BOOL; AccessGranted: BOOL; VAR [nil] GenerateOnClose: BOOL): BOOL;
	(*END ObjectOpenAuditAlarmA;*)

	PROCEDURE ObjectOpenAuditAlarmW* ["ADVAPI32.dll", ""] (SubsystemName: PtrWSTR; HandleId: PtrVoid; ObjectTypeName: PtrWSTR; ObjectName: PtrWSTR; pSecurityDescriptor: PSECURITY_DESCRIPTOR; ClientToken: HANDLE; DesiredAccess: SET; GrantedAccess: INTEGER; VAR [nil] Privileges: PRIVILEGE_SET; ObjectCreation: BOOL; AccessGranted: BOOL; VAR [nil] GenerateOnClose: BOOL): BOOL;
	(*END ObjectOpenAuditAlarmW;*)

	PROCEDURE ObjectOpenAuditAlarm* ["ADVAPI32.dll", "ObjectOpenAuditAlarmA"] (SubsystemName: PtrSTR; HandleId: PtrVoid; ObjectTypeName: PtrSTR; ObjectName: PtrSTR; pSecurityDescriptor: PSECURITY_DESCRIPTOR; ClientToken: HANDLE; DesiredAccess: SET; GrantedAccess: INTEGER; VAR [nil] Privileges: PRIVILEGE_SET; ObjectCreation: BOOL; AccessGranted: BOOL; VAR [nil] GenerateOnClose: BOOL): BOOL;
	(*END ObjectOpenAuditAlarm;*)

	PROCEDURE ObjectPrivilegeAuditAlarmA* ["ADVAPI32.dll", ""] (SubsystemName: PtrSTR; HandleId: PtrVoid; ClientToken: HANDLE; DesiredAccess: SET; VAR [nil] Privileges: PRIVILEGE_SET; AccessGranted: BOOL): BOOL;
	(*END ObjectPrivilegeAuditAlarmA;*)

	PROCEDURE ObjectPrivilegeAuditAlarmW* ["ADVAPI32.dll", ""] (SubsystemName: PtrWSTR; HandleId: PtrVoid; ClientToken: HANDLE; DesiredAccess: SET; VAR [nil] Privileges: PRIVILEGE_SET; AccessGranted: BOOL): BOOL;
	(*END ObjectPrivilegeAuditAlarmW;*)

	PROCEDURE ObjectPrivilegeAuditAlarm* ["ADVAPI32.dll", "ObjectPrivilegeAuditAlarmA"] (SubsystemName: PtrSTR; HandleId: PtrVoid; ClientToken: HANDLE; DesiredAccess: SET; VAR [nil] Privileges: PRIVILEGE_SET; AccessGranted: BOOL): BOOL;
	(*END ObjectPrivilegeAuditAlarm;*)

	PROCEDURE ObjectCloseAuditAlarmA* ["ADVAPI32.dll", ""] (SubsystemName: PtrSTR; HandleId: PtrVoid; GenerateOnClose: BOOL): BOOL;
	(*END ObjectCloseAuditAlarmA;*)

	PROCEDURE ObjectCloseAuditAlarmW* ["ADVAPI32.dll", ""] (SubsystemName: PtrWSTR; HandleId: PtrVoid; GenerateOnClose: BOOL): BOOL;
	(*END ObjectCloseAuditAlarmW;*)

	PROCEDURE ObjectCloseAuditAlarm* ["ADVAPI32.dll", "ObjectCloseAuditAlarmA"] (SubsystemName: PtrSTR; HandleId: PtrVoid; GenerateOnClose: BOOL): BOOL;
	(*END ObjectCloseAuditAlarm;*)

	PROCEDURE PrivilegedServiceAuditAlarmA* ["ADVAPI32.dll", ""] (SubsystemName: PtrSTR; ServiceName: PtrSTR; ClientToken: HANDLE; VAR [nil] Privileges: PRIVILEGE_SET; AccessGranted: BOOL): BOOL;
	(*END PrivilegedServiceAuditAlarmA;*)

	PROCEDURE PrivilegedServiceAuditAlarmW* ["ADVAPI32.dll", ""] (SubsystemName: PtrWSTR; ServiceName: PtrWSTR; ClientToken: HANDLE; VAR [nil] Privileges: PRIVILEGE_SET; AccessGranted: BOOL): BOOL;
	(*END PrivilegedServiceAuditAlarmW;*)

	PROCEDURE PrivilegedServiceAuditAlarm* ["ADVAPI32.dll", "PrivilegedServiceAuditAlarmA"] (SubsystemName: PtrSTR; ServiceName: PtrSTR; ClientToken: HANDLE; VAR [nil] Privileges: PRIVILEGE_SET; AccessGranted: BOOL): BOOL;
	(*END PrivilegedServiceAuditAlarm;*)

	PROCEDURE IsValidSid* ["ADVAPI32.dll", ""] (pSid: PSID): BOOL;
	(*END IsValidSid;*)

	PROCEDURE EqualSid* ["ADVAPI32.dll", ""] (pSid1: PSID; pSid2: PSID): BOOL;
	(*END EqualSid;*)

	PROCEDURE EqualPrefixSid* ["ADVAPI32.dll", ""] (pSid1: PSID; pSid2: PSID): BOOL;
	(*END EqualPrefixSid;*)

	PROCEDURE GetSidLengthRequired* ["ADVAPI32.dll", ""] (nSubAuthorityCount: SHORTCHAR): INTEGER;
	(*END GetSidLengthRequired;*)

	PROCEDURE AllocateAndInitializeSid* ["ADVAPI32.dll", ""] (VAR [nil] pIdentifierAuthority: SID_IDENTIFIER_AUTHORITY; nSubAuthorityCount: SHORTCHAR; nSubAuthority0: INTEGER; nSubAuthority1: INTEGER; nSubAuthority2: INTEGER; nSubAuthority3: INTEGER; nSubAuthority4: INTEGER; nSubAuthority5: INTEGER; nSubAuthority6: INTEGER; nSubAuthority7: INTEGER; VAR [nil] pSid: PSID): BOOL;
	(*END AllocateAndInitializeSid;*)

	PROCEDURE FreeSid* ["ADVAPI32.dll", ""] (pSid: PSID): PtrVoid;
	(*END FreeSid;*)

	PROCEDURE InitializeSid* ["ADVAPI32.dll", ""] (Sid: PSID; VAR [nil] pIdentifierAuthority: SID_IDENTIFIER_AUTHORITY; nSubAuthorityCount: SHORTCHAR): BOOL;
	(*END InitializeSid;*)

	PROCEDURE GetSidIdentifierAuthority* ["ADVAPI32.dll", ""] (pSid: PSID): PtrSID_IDENTIFIER_AUTHORITY;
	(*END GetSidIdentifierAuthority;*)

	PROCEDURE GetSidSubAuthority* ["ADVAPI32.dll", ""] (pSid: PSID; nSubAuthority: INTEGER): RetGetSidSubAuthority;
	(*END GetSidSubAuthority;*)

	PROCEDURE GetSidSubAuthorityCount* ["ADVAPI32.dll", ""] (pSid: PSID): PtrSTR;
	(*END GetSidSubAuthorityCount;*)

	PROCEDURE GetLengthSid* ["ADVAPI32.dll", ""] (pSid: PSID): INTEGER;
	(*END GetLengthSid;*)

	PROCEDURE CopySid* ["ADVAPI32.dll", ""] (nDestinationSidLength: INTEGER; pDestinationSid: PSID; pSourceSid: PSID): BOOL;
	(*END CopySid;*)

	PROCEDURE AreAllAccessesGranted* ["ADVAPI32.dll", ""] (GrantedAccess: INTEGER; DesiredAccess: SET): BOOL;
	(*END AreAllAccessesGranted;*)

	PROCEDURE AreAnyAccessesGranted* ["ADVAPI32.dll", ""] (GrantedAccess: INTEGER; DesiredAccess: SET): BOOL;
	(*END AreAnyAccessesGranted;*)

	PROCEDURE MapGenericMask* ["ADVAPI32.dll", ""] (VAR [nil] AccessMask: INTEGER; VAR [nil] GenericMapping: GENERIC_MAPPING);
	(*END MapGenericMask;*)

	PROCEDURE IsValidAcl* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL): BOOL;
	(*END IsValidAcl;*)

	PROCEDURE InitializeAcl* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; nAclLength: INTEGER; dwAclRevision: INTEGER): BOOL;
	(*END InitializeAcl;*)

	PROCEDURE GetAclInformation* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; pAclInformation: PtrVoid; nAclInformationLength: INTEGER; dwAclInformationClass: ACL_INFORMATION_CLASS): BOOL;
	(*END GetAclInformation;*)

	PROCEDURE SetAclInformation* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; pAclInformation: PtrVoid; nAclInformationLength: INTEGER; dwAclInformationClass: ACL_INFORMATION_CLASS): BOOL;
	(*END SetAclInformation;*)

	PROCEDURE AddAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; dwAceRevision: INTEGER; dwStartingAceIndex: INTEGER; pAceList: PtrVoid; nAceListLength: INTEGER): BOOL;
	(*END AddAce;*)

	PROCEDURE DeleteAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; dwAceIndex: INTEGER): BOOL;
	(*END DeleteAce;*)

	PROCEDURE GetAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; dwAceIndex: INTEGER; pAce: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid): BOOL;
	(*END GetAce;*)

	PROCEDURE AddAccessAllowedAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; dwAceRevision: INTEGER; AccessMask: INTEGER; pSid: PSID): BOOL;
	(*END AddAccessAllowedAce;*)

	PROCEDURE AddAccessDeniedAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; dwAceRevision: INTEGER; AccessMask: INTEGER; pSid: PSID): BOOL;
	(*END AddAccessDeniedAce;*)

	PROCEDURE AddAuditAccessAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; dwAceRevision: INTEGER; dwAccessMask: INTEGER; pSid: PSID; bAuditSuccess: BOOL; bAuditFailure: BOOL): BOOL;
	(*END AddAuditAccessAce;*)

	PROCEDURE FindFirstFreeAce* ["ADVAPI32.dll", ""] (VAR [nil] pAcl: ACL; pAce: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid): BOOL;
	(*END FindFirstFreeAce;*)

	PROCEDURE InitializeSecurityDescriptor* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; dwRevision: INTEGER): BOOL;
	(*END InitializeSecurityDescriptor;*)

	PROCEDURE IsValidSecurityDescriptor* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END IsValidSecurityDescriptor;*)

	PROCEDURE GetSecurityDescriptorLength* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR): INTEGER;
	(*END GetSecurityDescriptorLength;*)

	PROCEDURE GetSecurityDescriptorControl* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] pControl: SHORTINT; VAR [nil] lpdwRevision: INTEGER): BOOL;
	(*END GetSecurityDescriptorControl;*)

	PROCEDURE SetSecurityDescriptorDacl* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; bDaclPresent: BOOL; VAR [nil] pDacl: ACL; bDaclDefaulted: BOOL): BOOL;
	(*END SetSecurityDescriptorDacl;*)

	PROCEDURE GetSecurityDescriptorDacl* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] lpbDaclPresent: BOOL; VAR [nil] pDacl: PtrACL; VAR [nil] lpbDaclDefaulted: BOOL): BOOL;
	(*END GetSecurityDescriptorDacl;*)

	PROCEDURE SetSecurityDescriptorSacl* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; bSaclPresent: BOOL; VAR [nil] pSacl: ACL; bSaclDefaulted: BOOL): BOOL;
	(*END SetSecurityDescriptorSacl;*)

	PROCEDURE GetSecurityDescriptorSacl* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] lpbSaclPresent: BOOL; VAR [nil] pSacl: PtrACL; VAR [nil] lpbSaclDefaulted: BOOL): BOOL;
	(*END GetSecurityDescriptorSacl;*)

	PROCEDURE SetSecurityDescriptorOwner* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; pOwner: PSID; bOwnerDefaulted: BOOL): BOOL;
	(*END SetSecurityDescriptorOwner;*)

	PROCEDURE GetSecurityDescriptorOwner* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] pOwner: PSID; VAR [nil] lpbOwnerDefaulted: BOOL): BOOL;
	(*END GetSecurityDescriptorOwner;*)

	PROCEDURE SetSecurityDescriptorGroup* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; pGroup: PSID; bGroupDefaulted: BOOL): BOOL;
	(*END SetSecurityDescriptorGroup;*)

	PROCEDURE GetSecurityDescriptorGroup* ["ADVAPI32.dll", ""] (pSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] pGroup: PSID; VAR [nil] lpbGroupDefaulted: BOOL): BOOL;
	(*END GetSecurityDescriptorGroup;*)

	PROCEDURE CreatePrivateObjectSecurity* ["ADVAPI32.dll", ""] (ParentDescriptor: PSECURITY_DESCRIPTOR; CreatorDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] NewDescriptor: PSECURITY_DESCRIPTOR; IsDirectoryObject: BOOL; Token: HANDLE; VAR [nil] GenericMapping: GENERIC_MAPPING): BOOL;
	(*END CreatePrivateObjectSecurity;*)

	PROCEDURE SetPrivateObjectSecurity* ["ADVAPI32.dll", ""] (SecurityInformation: SECURITY_INFORMATION; ModificationDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] ObjectsSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] GenericMapping: GENERIC_MAPPING; Token: HANDLE): BOOL;
	(*END SetPrivateObjectSecurity;*)

	PROCEDURE GetPrivateObjectSecurity* ["ADVAPI32.dll", ""] (ObjectDescriptor: PSECURITY_DESCRIPTOR; SecurityInformation: SECURITY_INFORMATION; ResultantDescriptor: PSECURITY_DESCRIPTOR; DescriptorLength: INTEGER; VAR [nil] ReturnLength: INTEGER): BOOL;
	(*END GetPrivateObjectSecurity;*)

	PROCEDURE DestroyPrivateObjectSecurity* ["ADVAPI32.dll", ""] (VAR [nil] ObjectDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END DestroyPrivateObjectSecurity;*)

	PROCEDURE MakeSelfRelativeSD* ["ADVAPI32.dll", ""] (pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR; pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] lpdwBufferLength: INTEGER): BOOL;
	(*END MakeSelfRelativeSD;*)

	PROCEDURE MakeAbsoluteSD* ["ADVAPI32.dll", ""] (pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR; pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] lpdwAbsoluteSecurityDescriptorSize: INTEGER; VAR [nil] pDacl: ACL; VAR [nil] lpdwDaclSize: INTEGER; VAR [nil] pSacl: ACL; VAR [nil] lpdwSaclSize: INTEGER; pOwner: PSID; VAR [nil] lpdwOwnerSize: INTEGER; pPrimaryGroup: PSID; VAR [nil] lpdwPrimaryGroupSize: INTEGER): BOOL;
	(*END MakeAbsoluteSD;*)

	PROCEDURE SetFileSecurityA* ["ADVAPI32.dll", ""] (lpFileName: PtrSTR; SecurityInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END SetFileSecurityA;*)

	PROCEDURE SetFileSecurityW* ["ADVAPI32.dll", ""] (lpFileName: PtrWSTR; SecurityInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END SetFileSecurityW;*)

	PROCEDURE SetFileSecurity* ["ADVAPI32.dll", "SetFileSecurityA"] (lpFileName: PtrSTR; SecurityInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END SetFileSecurity;*)

	PROCEDURE GetFileSecurityA* ["ADVAPI32.dll", ""] (lpFileName: PtrSTR; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetFileSecurityA;*)

	PROCEDURE GetFileSecurityW* ["ADVAPI32.dll", ""] (lpFileName: PtrWSTR; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetFileSecurityW;*)

	PROCEDURE GetFileSecurity* ["ADVAPI32.dll", "GetFileSecurityA"] (lpFileName: PtrSTR; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetFileSecurity;*)

	PROCEDURE SetKernelObjectSecurity* ["ADVAPI32.dll", ""] (Handle: HANDLE; SecurityInformation: SECURITY_INFORMATION; SecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END SetKernelObjectSecurity;*)

	PROCEDURE FindFirstChangeNotificationA* (lpPathName: PtrSTR; bWatchSubtree: BOOL; dwNotifyFilter: SET): HANDLE;
	(*END FindFirstChangeNotificationA;*)

	PROCEDURE FindFirstChangeNotificationW* (lpPathName: PtrWSTR; bWatchSubtree: BOOL; dwNotifyFilter: SET): HANDLE;
	(*END FindFirstChangeNotificationW;*)

	PROCEDURE FindFirstChangeNotification* ["FindFirstChangeNotificationA"] (lpPathName: PtrSTR; bWatchSubtree: BOOL; dwNotifyFilter: SET): HANDLE;
	(*END FindFirstChangeNotification;*)

	PROCEDURE FindNextChangeNotification* (hChangeHandle: HANDLE): BOOL;
	(*END FindNextChangeNotification;*)

	PROCEDURE FindCloseChangeNotification* (hChangeHandle: HANDLE): BOOL;
	(*END FindCloseChangeNotification;*)

	PROCEDURE ReadDirectoryChangesW* (hDirectory: HANDLE; lpBuffer: PtrVoid; nBufferLength: INTEGER; bWatchSubtree: BOOL; dwNotifyFilter: SET; VAR [nil] lpBytesReturned: INTEGER; VAR [nil] lpOverlapped: OVERLAPPED; lpCompletionRoutine: OVERLAPPED_COMPLETION_ROUTINE): BOOL;
	(*END ReadDirectoryChangesW;*)

	PROCEDURE VirtualLock* (lpAddress: PtrVoid; dwSize: INTEGER): BOOL;
	(*END VirtualLock;*)

	PROCEDURE VirtualUnlock* (lpAddress: PtrVoid; dwSize: INTEGER): BOOL;
	(*END VirtualUnlock;*)

	PROCEDURE MapViewOfFileEx* (hFileMappingObject: HANDLE; dwDesiredAccess: SET; dwFileOffsetHigh: INTEGER; dwFileOffsetLow: INTEGER; dwNumberOfBytesToMap: INTEGER; lpBaseAddress: PtrVoid): PtrVoid;
	(*END MapViewOfFileEx;*)

	PROCEDURE SetPriorityClass* (hProcess: HANDLE; dwPriorityClass: INTEGER): BOOL;
	(*END SetPriorityClass;*)

	PROCEDURE GetPriorityClass* (hProcess: HANDLE): INTEGER;
	(*END GetPriorityClass;*)

	PROCEDURE IsBadReadPtr* (lp: PtrVoid; ucb: INTEGER): BOOL;
	(*END IsBadReadPtr;*)

	PROCEDURE IsBadWritePtr* (lp: PtrVoid; ucb: INTEGER): BOOL;
	(*END IsBadWritePtr;*)

	PROCEDURE IsBadHugeReadPtr* (lp: PtrVoid; ucb: INTEGER): BOOL;
	(*END IsBadHugeReadPtr;*)

	PROCEDURE IsBadHugeWritePtr* (lp: PtrVoid; ucb: INTEGER): BOOL;
	(*END IsBadHugeWritePtr;*)

	PROCEDURE IsBadCodePtr* (lpfn: FARPROC): BOOL;
	(*END IsBadCodePtr;*)

	PROCEDURE IsBadStringPtrA* (lpsz: PtrSTR; ucchMax: INTEGER): BOOL;
	(*END IsBadStringPtrA;*)

	PROCEDURE IsBadStringPtrW* (lpsz: PtrWSTR; ucchMax: INTEGER): BOOL;
	(*END IsBadStringPtrW;*)

	PROCEDURE IsBadStringPtr* ["IsBadStringPtrA"] (lpsz: PtrSTR; ucchMax: INTEGER): BOOL;
	(*END IsBadStringPtr;*)

	PROCEDURE LookupAccountSidA* ["ADVAPI32.dll", ""] (lpSystemName: PtrSTR; Sid: PSID; Name: PtrSTR; VAR [nil] cbName: INTEGER; ReferencedDomainName: PtrSTR; VAR [nil] cbReferencedDomainName: INTEGER; VAR [nil] peUse: SID_NAME_USE): BOOL;
	(*END LookupAccountSidA;*)

	PROCEDURE LookupAccountSidW* ["ADVAPI32.dll", ""] (lpSystemName: PtrWSTR; Sid: PSID; Name: PtrWSTR; VAR [nil] cbName: INTEGER; ReferencedDomainName: PtrWSTR; VAR [nil] cbReferencedDomainName: INTEGER; VAR [nil] peUse: SID_NAME_USE): BOOL;
	(*END LookupAccountSidW;*)

	PROCEDURE LookupAccountSid* ["ADVAPI32.dll", "LookupAccountSidA"] (lpSystemName: PtrSTR; Sid: PSID; Name: PtrSTR; VAR [nil] cbName: INTEGER; ReferencedDomainName: PtrSTR; VAR [nil] cbReferencedDomainName: INTEGER; VAR [nil] peUse: SID_NAME_USE): BOOL;
	(*END LookupAccountSid;*)

	PROCEDURE LookupAccountNameA* ["ADVAPI32.dll", ""] (lpSystemName: PtrSTR; lpAccountName: PtrSTR; Sid: PSID; VAR [nil] cbSid: INTEGER; ReferencedDomainName: PtrSTR; VAR [nil] cbReferencedDomainName: INTEGER; VAR [nil] peUse: SID_NAME_USE): BOOL;
	(*END LookupAccountNameA;*)

	PROCEDURE LookupAccountNameW* ["ADVAPI32.dll", ""] (lpSystemName: PtrWSTR; lpAccountName: PtrWSTR; Sid: PSID; VAR [nil] cbSid: INTEGER; ReferencedDomainName: PtrWSTR; VAR [nil] cbReferencedDomainName: INTEGER; VAR [nil] peUse: SID_NAME_USE): BOOL;
	(*END LookupAccountNameW;*)

	PROCEDURE LookupAccountName* ["ADVAPI32.dll", "LookupAccountNameA"] (lpSystemName: PtrSTR; lpAccountName: PtrSTR; Sid: PSID; VAR [nil] cbSid: INTEGER; ReferencedDomainName: PtrSTR; VAR [nil] cbReferencedDomainName: INTEGER; VAR [nil] peUse: SID_NAME_USE): BOOL;
	(*END LookupAccountName;*)

	PROCEDURE LookupPrivilegeValueA* ["ADVAPI32.dll", ""] (lpSystemName: PtrSTR; lpName: PtrSTR; VAR [nil] lpLuid: LONGINT): BOOL;
	(*END LookupPrivilegeValueA;*)

	PROCEDURE LookupPrivilegeValueW* ["ADVAPI32.dll", ""] (lpSystemName: PtrWSTR; lpName: PtrWSTR; VAR [nil] lpLuid: LONGINT): BOOL;
	(*END LookupPrivilegeValueW;*)

	PROCEDURE LookupPrivilegeValue* ["ADVAPI32.dll", "LookupPrivilegeValueA"] (lpSystemName: PtrSTR; lpName: PtrSTR; VAR [nil] lpLuid: LONGINT): BOOL;
	(*END LookupPrivilegeValue;*)

	PROCEDURE LookupPrivilegeNameA* ["ADVAPI32.dll", ""] (lpSystemName: PtrSTR; VAR [nil] lpLuid: LONGINT; lpName: PtrSTR; VAR [nil] cbName: INTEGER): BOOL;
	(*END LookupPrivilegeNameA;*)

	PROCEDURE LookupPrivilegeNameW* ["ADVAPI32.dll", ""] (lpSystemName: PtrWSTR; VAR [nil] lpLuid: LONGINT; lpName: PtrWSTR; VAR [nil] cbName: INTEGER): BOOL;
	(*END LookupPrivilegeNameW;*)

	PROCEDURE LookupPrivilegeName* ["ADVAPI32.dll", "LookupPrivilegeNameA"] (lpSystemName: PtrSTR; VAR [nil] lpLuid: LONGINT; lpName: PtrSTR; VAR [nil] cbName: INTEGER): BOOL;
	(*END LookupPrivilegeName;*)

	PROCEDURE LookupPrivilegeDisplayNameA* ["ADVAPI32.dll", ""] (lpSystemName: PtrSTR; lpName: PtrSTR; lpDisplayName: PtrSTR; VAR [nil] cbDisplayName: INTEGER; VAR [nil] lpLanguageId: INTEGER): BOOL;
	(*END LookupPrivilegeDisplayNameA;*)

	PROCEDURE LookupPrivilegeDisplayNameW* ["ADVAPI32.dll", ""] (lpSystemName: PtrWSTR; lpName: PtrWSTR; lpDisplayName: PtrWSTR; VAR [nil] cbDisplayName: INTEGER; VAR [nil] lpLanguageId: INTEGER): BOOL;
	(*END LookupPrivilegeDisplayNameW;*)

	PROCEDURE LookupPrivilegeDisplayName* ["ADVAPI32.dll", "LookupPrivilegeDisplayNameA"] (lpSystemName: PtrSTR; lpName: PtrSTR; lpDisplayName: PtrSTR; VAR [nil] cbDisplayName: INTEGER; VAR [nil] lpLanguageId: INTEGER): BOOL;
	(*END LookupPrivilegeDisplayName;*)

	PROCEDURE AllocateLocallyUniqueId* ["ADVAPI32.dll", ""] (VAR [nil] Luid: LONGINT): BOOL;
	(*END AllocateLocallyUniqueId;*)

	PROCEDURE BuildCommDCBA* (lpDef: PtrSTR; VAR [nil] lpDCB: DCB): BOOL;
	(*END BuildCommDCBA;*)

	PROCEDURE BuildCommDCBW* (lpDef: PtrWSTR; VAR [nil] lpDCB: DCB): BOOL;
	(*END BuildCommDCBW;*)

	PROCEDURE BuildCommDCB* ["BuildCommDCBA"] (lpDef: PtrSTR; VAR [nil] lpDCB: DCB): BOOL;
	(*END BuildCommDCB;*)

	PROCEDURE BuildCommDCBAndTimeoutsA* (lpDef: PtrSTR; VAR [nil] lpDCB: DCB; VAR [nil] lpCommTimeouts: COMMTIMEOUTS): BOOL;
	(*END BuildCommDCBAndTimeoutsA;*)

	PROCEDURE BuildCommDCBAndTimeoutsW* (lpDef: PtrWSTR; VAR [nil] lpDCB: DCB; VAR [nil] lpCommTimeouts: COMMTIMEOUTS): BOOL;
	(*END BuildCommDCBAndTimeoutsW;*)

	PROCEDURE BuildCommDCBAndTimeouts* ["BuildCommDCBAndTimeoutsA"] (lpDef: PtrSTR; VAR [nil] lpDCB: DCB; VAR [nil] lpCommTimeouts: COMMTIMEOUTS): BOOL;
	(*END BuildCommDCBAndTimeouts;*)

	PROCEDURE CommConfigDialogA* (lpszName: PtrSTR; hWnd: HWND; VAR [nil] lpCC: COMMCONFIG): BOOL;
	(*END CommConfigDialogA;*)

	PROCEDURE CommConfigDialogW* (lpszName: PtrWSTR; hWnd: HWND; VAR [nil] lpCC: COMMCONFIG): BOOL;
	(*END CommConfigDialogW;*)

	PROCEDURE CommConfigDialog* ["CommConfigDialogA"] (lpszName: PtrSTR; hWnd: HWND; VAR [nil] lpCC: COMMCONFIG): BOOL;
	(*END CommConfigDialog;*)

	PROCEDURE GetDefaultCommConfigA* (lpszName: PtrSTR; VAR [nil] lpCC: COMMCONFIG; VAR [nil] lpdwSize: INTEGER): BOOL;
	(*END GetDefaultCommConfigA;*)

	PROCEDURE GetDefaultCommConfigW* (lpszName: PtrWSTR; VAR [nil] lpCC: COMMCONFIG; VAR [nil] lpdwSize: INTEGER): BOOL;
	(*END GetDefaultCommConfigW;*)

	PROCEDURE GetDefaultCommConfig* ["GetDefaultCommConfigA"] (lpszName: PtrSTR; VAR [nil] lpCC: COMMCONFIG; VAR [nil] lpdwSize: INTEGER): BOOL;
	(*END GetDefaultCommConfig;*)

	PROCEDURE SetDefaultCommConfigA* (lpszName: PtrSTR; VAR [nil] lpCC: COMMCONFIG; dwSize: INTEGER): BOOL;
	(*END SetDefaultCommConfigA;*)

	PROCEDURE SetDefaultCommConfigW* (lpszName: PtrWSTR; VAR [nil] lpCC: COMMCONFIG; dwSize: INTEGER): BOOL;
	(*END SetDefaultCommConfigW;*)

	PROCEDURE SetDefaultCommConfig* ["SetDefaultCommConfigA"] (lpszName: PtrSTR; VAR [nil] lpCC: COMMCONFIG; dwSize: INTEGER): BOOL;
	(*END SetDefaultCommConfig;*)

	PROCEDURE GetComputerNameA* (lpBuffer: PtrSTR; VAR [nil] nSize: INTEGER): BOOL;
	(*END GetComputerNameA;*)

	PROCEDURE GetComputerNameW* (lpBuffer: PtrWSTR; VAR [nil] nSize: INTEGER): BOOL;
	(*END GetComputerNameW;*)

	PROCEDURE GetComputerName* ["GetComputerNameA"] (lpBuffer: PtrSTR; VAR [nil] nSize: INTEGER): BOOL;
	(*END GetComputerName;*)

	PROCEDURE SetComputerNameA* (lpComputerName: PtrSTR): BOOL;
	(*END SetComputerNameA;*)

	PROCEDURE SetComputerNameW* (lpComputerName: PtrWSTR): BOOL;
	(*END SetComputerNameW;*)

	PROCEDURE SetComputerName* ["SetComputerNameA"] (lpComputerName: PtrSTR): BOOL;
	(*END SetComputerName;*)

	PROCEDURE GetUserNameA* ["ADVAPI32.dll", ""] (lpBuffer: PtrSTR; VAR [nil] nSize: INTEGER): BOOL;
	(*END GetUserNameA;*)

	PROCEDURE GetUserNameW* ["ADVAPI32.dll", ""] (lpBuffer: PtrWSTR; VAR [nil] nSize: INTEGER): BOOL;
	(*END GetUserNameW;*)

	PROCEDURE GetUserName* ["ADVAPI32.dll", "GetUserNameA"] (lpBuffer: PtrSTR; VAR [nil] nSize: INTEGER): BOOL;
	(*END GetUserName;*)

	PROCEDURE LogonUserA* ["ADVAPI32.dll", ""] (lpszUsername: PtrSTR; lpszDomain: PtrSTR; lpszPassword: PtrSTR; dwLogonType: INTEGER; dwLogonProvider: INTEGER; VAR [nil] phToken: HANDLE): BOOL;
	(*END LogonUserA;*)

	PROCEDURE LogonUserW* ["ADVAPI32.dll", ""] (lpszUsername: PtrWSTR; lpszDomain: PtrWSTR; lpszPassword: PtrWSTR; dwLogonType: INTEGER; dwLogonProvider: INTEGER; VAR [nil] phToken: HANDLE): BOOL;
	(*END LogonUserW;*)

	PROCEDURE LogonUser* ["ADVAPI32.dll", "LogonUserA"] (lpszUsername: PtrSTR; lpszDomain: PtrSTR; lpszPassword: PtrSTR; dwLogonType: INTEGER; dwLogonProvider: INTEGER; VAR [nil] phToken: HANDLE): BOOL;
	(*END LogonUser;*)

	PROCEDURE ImpersonateLoggedOnUser* ["ADVAPI32.dll", ""] (hToken: HANDLE): BOOL;
	(*END ImpersonateLoggedOnUser;*)

	PROCEDURE CreateProcessAsUserA* ["ADVAPI32.dll", ""] (hToken: HANDLE; lpApplicationName: PtrSTR; lpCommandLine: PtrSTR; VAR [nil] lpProcessAttributes: SECURITY_ATTRIBUTES; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; bInheritHandles: BOOL; dwCreationFlags: SET; lpEnvironment: PtrVoid; lpCurrentDirectory: PtrSTR; VAR [nil] lpStartupInfo: STARTUPINFOA; VAR [nil] lpProcessInformation: PROCESS_INFORMATION): BOOL;
	(*END CreateProcessAsUserA;*)

	PROCEDURE CreateProcessAsUserW* ["ADVAPI32.dll", ""] (hToken: HANDLE; lpApplicationName: PtrWSTR; lpCommandLine: PtrWSTR; VAR [nil] lpProcessAttributes: SECURITY_ATTRIBUTES; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; bInheritHandles: BOOL; dwCreationFlags: SET; lpEnvironment: PtrVoid; lpCurrentDirectory: PtrWSTR; VAR [nil] lpStartupInfo: STARTUPINFOW; VAR [nil] lpProcessInformation: PROCESS_INFORMATION): BOOL;
	(*END CreateProcessAsUserW;*)

	PROCEDURE CreateProcessAsUser* ["ADVAPI32.dll", "CreateProcessAsUserA"] (hToken: HANDLE; lpApplicationName: PtrSTR; lpCommandLine: PtrSTR; VAR [nil] lpProcessAttributes: SECURITY_ATTRIBUTES; VAR [nil] lpThreadAttributes: SECURITY_ATTRIBUTES; bInheritHandles: BOOL; dwCreationFlags: SET; lpEnvironment: PtrVoid; lpCurrentDirectory: PtrSTR; VAR [nil] lpStartupInfo: STARTUPINFOA; VAR [nil] lpProcessInformation: PROCESS_INFORMATION): BOOL;
	(*END CreateProcessAsUser;*)

	PROCEDURE GetCurrentHwProfileA* ["ADVAPI32.dll", ""] (VAR [nil] lpHwProfileInfo: HW_PROFILE_INFOA): BOOL;
	(*END GetCurrentHwProfileA;*)

	PROCEDURE GetCurrentHwProfileW* ["ADVAPI32.dll", ""] (VAR [nil] lpHwProfileInfo: HW_PROFILE_INFOW): BOOL;
	(*END GetCurrentHwProfileW;*)

	PROCEDURE GetCurrentHwProfile* ["ADVAPI32.dll", "GetCurrentHwProfileA"] (VAR [nil] lpHwProfileInfo: HW_PROFILE_INFOA): BOOL;
	(*END GetCurrentHwProfile;*)

	PROCEDURE QueryPerformanceCounter* (VAR [nil] lpPerformanceCount: LONGINT): BOOL;
	(*END QueryPerformanceCounter;*)

	PROCEDURE QueryPerformanceFrequency* (VAR [nil] lpFrequency: LONGINT): BOOL;
	(*END QueryPerformanceFrequency;*)

	PROCEDURE GetVersionExA* (VAR [nil] lpVersionInformation: OSVERSIONINFOA): BOOL;
	(*END GetVersionExA;*)

	PROCEDURE GetVersionExW* (VAR [nil] lpVersionInformation: OSVERSIONINFOW): BOOL;
	(*END GetVersionExW;*)

	PROCEDURE GetVersionEx* ["GetVersionExA"] (VAR [nil] lpVersionInformation: OSVERSIONINFOA): BOOL;
	(*END GetVersionEx;*)

	PROCEDURE GetSystemPowerStatus* (VAR [nil] lpSystemPowerStatus: SYSTEM_POWER_STATUS): BOOL;
	(*END GetSystemPowerStatus;*)

	PROCEDURE SetSystemPowerState* (fSuspend: BOOL; fForce: BOOL): BOOL;
	(*END SetSystemPowerState;*)

	PROCEDURE AddFontResourceA* ["GDI32.dll", ""] (p0: PtrSTR): INTEGER;
	(*END AddFontResourceA;*)

	PROCEDURE AddFontResourceW* ["GDI32.dll", ""] (p0: PtrWSTR): INTEGER;
	(*END AddFontResourceW;*)

	PROCEDURE AddFontResource* ["GDI32.dll", "AddFontResourceA"] (p0: PtrSTR): INTEGER;
	(*END AddFontResource;*)

	PROCEDURE AnimatePalette* ["GDI32.dll", ""] (p0: HPALETTE; p1: INTEGER; p2: INTEGER; VAR [nil] p3: PALETTEENTRY): BOOL;
	(*END AnimatePalette;*)

	PROCEDURE Arc* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER): BOOL;
	(*END Arc;*)

	PROCEDURE BitBlt* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: HDC; p6: INTEGER; p7: INTEGER; p8: INTEGER): BOOL;
	(*END BitBlt;*)

	PROCEDURE CancelDC* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END CancelDC;*)

	PROCEDURE Chord* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER): BOOL;
	(*END Chord;*)

	PROCEDURE ChoosePixelFormat* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: PIXELFORMATDESCRIPTOR): INTEGER;
	(*END ChoosePixelFormat;*)

	PROCEDURE CloseMetaFile* ["GDI32.dll", ""] (p0: HDC): HMETAFILE;
	(*END CloseMetaFile;*)

	PROCEDURE CombineRgn* ["GDI32.dll", ""] (p0: HRGN; p1: HRGN; p2: HRGN; p3: INTEGER): INTEGER;
	(*END CombineRgn;*)

	PROCEDURE CopyMetaFileA* ["GDI32.dll", ""] (p0: HMETAFILE; p1: PtrSTR): HMETAFILE;
	(*END CopyMetaFileA;*)

	PROCEDURE CopyMetaFileW* ["GDI32.dll", ""] (p0: HMETAFILE; p1: PtrWSTR): HMETAFILE;
	(*END CopyMetaFileW;*)

	PROCEDURE CopyMetaFile* ["GDI32.dll", "CopyMetaFileA"] (p0: HMETAFILE; p1: PtrSTR): HMETAFILE;
	(*END CopyMetaFile;*)

	PROCEDURE CreateBitmap* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: PtrVoid): HBITMAP;
	(*END CreateBitmap;*)

	PROCEDURE CreateBitmapIndirect* ["GDI32.dll", ""] (VAR [nil] p0: BITMAP): HBITMAP;
	(*END CreateBitmapIndirect;*)

	PROCEDURE CreateBrushIndirect* ["GDI32.dll", ""] (VAR [nil] p0: LOGBRUSH): HBRUSH;
	(*END CreateBrushIndirect;*)

	PROCEDURE CreateCompatibleBitmap* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): HBITMAP;
	(*END CreateCompatibleBitmap;*)

	PROCEDURE CreateDiscardableBitmap* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): HBITMAP;
	(*END CreateDiscardableBitmap;*)

	PROCEDURE CreateCompatibleDC* ["GDI32.dll", ""] (p0: HDC): HDC;
	(*END CreateCompatibleDC;*)

	PROCEDURE CreateDCA* ["GDI32.dll", ""] (p0: PtrSTR; p1: PtrSTR; p2: PtrSTR; VAR [nil] p3: DEVMODEA): HDC;
	(*END CreateDCA;*)

	PROCEDURE CreateDCW* ["GDI32.dll", ""] (p0: PtrWSTR; p1: PtrWSTR; p2: PtrWSTR; VAR [nil] p3: DEVMODEW): HDC;
	(*END CreateDCW;*)

	PROCEDURE CreateDC* ["GDI32.dll", "CreateDCA"] (p0: PtrSTR; p1: PtrSTR; p2: PtrSTR; VAR [nil] p3: DEVMODEA): HDC;
	(*END CreateDC;*)

	PROCEDURE CreateDIBitmap* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: BITMAPINFOHEADER; p2: INTEGER; p3: PtrVoid; VAR [nil] p4: BITMAPINFO; p5: INTEGER): HBITMAP;
	(*END CreateDIBitmap;*)

	PROCEDURE CreateDIBPatternBrush* ["GDI32.dll", ""] (p0: HGLOBAL; p1: INTEGER): HBRUSH;
	(*END CreateDIBPatternBrush;*)

	PROCEDURE CreateDIBPatternBrushPt* ["GDI32.dll", ""] (p0: PtrVoid; p1: INTEGER): HBRUSH;
	(*END CreateDIBPatternBrushPt;*)

	PROCEDURE CreateEllipticRgn* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER): HRGN;
	(*END CreateEllipticRgn;*)

	PROCEDURE CreateEllipticRgnIndirect* ["GDI32.dll", ""] (VAR [nil] p0: RECT): HRGN;
	(*END CreateEllipticRgnIndirect;*)

	PROCEDURE CreateFontIndirectA* ["GDI32.dll", ""] (VAR [nil] p0: LOGFONTA): HFONT;
	(*END CreateFontIndirectA;*)

	PROCEDURE CreateFontIndirectW* ["GDI32.dll", ""] (VAR [nil] p0: LOGFONTW): HFONT;
	(*END CreateFontIndirectW;*)

	PROCEDURE CreateFontIndirect* ["GDI32.dll", "CreateFontIndirectA"] (VAR [nil] p0: LOGFONTA): HFONT;
	(*END CreateFontIndirect;*)

	PROCEDURE CreateFontA* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: INTEGER; p10: INTEGER; p11: INTEGER; p12: INTEGER; p13: PtrSTR): HFONT;
	(*END CreateFontA;*)

	PROCEDURE CreateFontW* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: INTEGER; p10: INTEGER; p11: INTEGER; p12: INTEGER; p13: PtrWSTR): HFONT;
	(*END CreateFontW;*)

	PROCEDURE CreateFont* ["GDI32.dll", "CreateFontA"] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: INTEGER; p10: INTEGER; p11: INTEGER; p12: INTEGER; p13: PtrSTR): HFONT;
	(*END CreateFont;*)

	PROCEDURE CreateHatchBrush* ["GDI32.dll", ""] (p0: INTEGER; p1: COLORREF): HBRUSH;
	(*END CreateHatchBrush;*)

	PROCEDURE CreateICA* ["GDI32.dll", ""] (p0: PtrSTR; p1: PtrSTR; p2: PtrSTR; VAR [nil] p3: DEVMODEA): HDC;
	(*END CreateICA;*)

	PROCEDURE CreateICW* ["GDI32.dll", ""] (p0: PtrWSTR; p1: PtrWSTR; p2: PtrWSTR; VAR [nil] p3: DEVMODEW): HDC;
	(*END CreateICW;*)

	PROCEDURE CreateIC* ["GDI32.dll", "CreateICA"] (p0: PtrSTR; p1: PtrSTR; p2: PtrSTR; VAR [nil] p3: DEVMODEA): HDC;
	(*END CreateIC;*)

	PROCEDURE CreateMetaFileA* ["GDI32.dll", ""] (p0: PtrSTR): HDC;
	(*END CreateMetaFileA;*)

	PROCEDURE CreateMetaFileW* ["GDI32.dll", ""] (p0: PtrWSTR): HDC;
	(*END CreateMetaFileW;*)

	PROCEDURE CreateMetaFile* ["GDI32.dll", "CreateMetaFileA"] (p0: PtrSTR): HDC;
	(*END CreateMetaFile;*)

	PROCEDURE CreatePalette* ["GDI32.dll", ""] (VAR [nil] p0: LOGPALETTE): HPALETTE;
	(*END CreatePalette;*)

	PROCEDURE CreatePen* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: COLORREF): HPEN;
	(*END CreatePen;*)

	PROCEDURE CreatePenIndirect* ["GDI32.dll", ""] (VAR [nil] p0: LOGPEN): HPEN;
	(*END CreatePenIndirect;*)

	PROCEDURE CreatePolyPolygonRgn* ["GDI32.dll", ""] (VAR [nil] p0: POINT; VAR [nil] p1: INTEGER; p2: INTEGER; p3: INTEGER): HRGN;
	(*END CreatePolyPolygonRgn;*)

	PROCEDURE CreatePatternBrush* ["GDI32.dll", ""] (p0: HBITMAP): HBRUSH;
	(*END CreatePatternBrush;*)

	PROCEDURE CreateRectRgn* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER): HRGN;
	(*END CreateRectRgn;*)

	PROCEDURE CreateRectRgnIndirect* ["GDI32.dll", ""] (VAR [nil] p0: RECT): HRGN;
	(*END CreateRectRgnIndirect;*)

	PROCEDURE CreateRoundRectRgn* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER): HRGN;
	(*END CreateRoundRectRgn;*)

	PROCEDURE CreateScalableFontResourceA* ["GDI32.dll", ""] (p0: INTEGER; p1: PtrSTR; p2: PtrSTR; p3: PtrSTR): BOOL;
	(*END CreateScalableFontResourceA;*)

	PROCEDURE CreateScalableFontResourceW* ["GDI32.dll", ""] (p0: INTEGER; p1: PtrWSTR; p2: PtrWSTR; p3: PtrWSTR): BOOL;
	(*END CreateScalableFontResourceW;*)

	PROCEDURE CreateScalableFontResource* ["GDI32.dll", "CreateScalableFontResourceA"] (p0: INTEGER; p1: PtrSTR; p2: PtrSTR; p3: PtrSTR): BOOL;
	(*END CreateScalableFontResource;*)

	PROCEDURE CreateSolidBrush* ["GDI32.dll", ""] (p0: COLORREF): HBRUSH;
	(*END CreateSolidBrush;*)

	PROCEDURE DeleteDC* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END DeleteDC;*)

	PROCEDURE DeleteMetaFile* ["GDI32.dll", ""] (p0: HMETAFILE): BOOL;
	(*END DeleteMetaFile;*)

	PROCEDURE DeleteObject* ["GDI32.dll", ""] (p0: HGDIOBJ): BOOL;
	(*END DeleteObject;*)

	PROCEDURE DescribePixelFormat* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: PIXELFORMATDESCRIPTOR): INTEGER;
	(*END DescribePixelFormat;*)

	PROCEDURE DeviceCapabilitiesA* ["WINSPOOL.drv", ""] (p0: PtrSTR; p1: PtrSTR; p2: SHORTINT; p3: PtrSTR; VAR [nil] p4: DEVMODEA): INTEGER;
	(*END DeviceCapabilitiesA;*)

	PROCEDURE DeviceCapabilitiesW* ["WINSPOOL.drv", ""] (p0: PtrWSTR; p1: PtrWSTR; p2: SHORTINT; p3: PtrWSTR; VAR [nil] p4: DEVMODEW): INTEGER;
	(*END DeviceCapabilitiesW;*)

	PROCEDURE DeviceCapabilities* ["WINSPOOL.drv", "DeviceCapabilitiesA"] (p0: PtrSTR; p1: PtrSTR; p2: SHORTINT; p3: PtrSTR; VAR [nil] p4: DEVMODEA): INTEGER;
	(*END DeviceCapabilities;*)

	PROCEDURE DrawEscape* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrSTR): INTEGER;
	(*END DrawEscape;*)

	PROCEDURE Ellipse* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): BOOL;
	(*END Ellipse;*)

	PROCEDURE EnumFontFamiliesExA* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: LOGFONTA; p2: FONTENUMPROCEXA; p3: LPARAM; p4: INTEGER): INTEGER;
	(*END EnumFontFamiliesExA;*)

	PROCEDURE EnumFontFamiliesExW* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: LOGFONTW; p2: FONTENUMPROCEXW; p3: LPARAM; p4: INTEGER): INTEGER;
	(*END EnumFontFamiliesExW;*)

	PROCEDURE EnumFontFamiliesEx* ["GDI32.dll", "EnumFontFamiliesExA"] (p0: HDC; VAR [nil] p1: LOGFONTA; p2: FONTENUMPROCEXA; p3: LPARAM; p4: INTEGER): INTEGER;
	(*END EnumFontFamiliesEx;*)

	PROCEDURE EnumFontFamiliesA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; p2: NEWFONTENUMPROCA; p3: LPARAM): INTEGER;
	(*END EnumFontFamiliesA;*)

	PROCEDURE EnumFontFamiliesW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: NEWFONTENUMPROCW; p3: LPARAM): INTEGER;
	(*END EnumFontFamiliesW;*)

	PROCEDURE EnumFontFamilies* ["GDI32.dll", "EnumFontFamiliesA"] (p0: HDC; p1: PtrSTR; p2: NEWFONTENUMPROCA; p3: LPARAM): INTEGER;
	(*END EnumFontFamilies;*)

	PROCEDURE EnumFontsA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; p2: FONTENUMPROCA; p3: LPARAM): INTEGER;
	(*END EnumFontsA;*)

	PROCEDURE EnumFontsW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: FONTENUMPROCW; p3: LPARAM): INTEGER;
	(*END EnumFontsW;*)

	PROCEDURE EnumFonts* ["GDI32.dll", "EnumFontsA"] (p0: HDC; p1: PtrSTR; p2: FONTENUMPROCA; p3: LPARAM): INTEGER;
	(*END EnumFonts;*)

	PROCEDURE EnumObjects* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: GOBJENUMPROC; p3: PtrVoid): INTEGER;
	(*END EnumObjects;*)

	PROCEDURE EqualRgn* ["GDI32.dll", ""] (p0: HRGN; p1: HRGN): BOOL;
	(*END EqualRgn;*)

	PROCEDURE Escape* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrSTR; p4: PtrVoid): INTEGER;
	(*END Escape;*)

	PROCEDURE ExtEscape* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrSTR; p4: INTEGER; p5: PtrSTR): INTEGER;
	(*END ExtEscape;*)

	PROCEDURE ExcludeClipRect* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): INTEGER;
	(*END ExcludeClipRect;*)

	PROCEDURE ExtCreateRegion* ["GDI32.dll", ""] (VAR [nil] p0: XFORM; p1: INTEGER; VAR [nil] p2: RGNDATA): HRGN;
	(*END ExtCreateRegion;*)

	PROCEDURE ExtFloodFill* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: COLORREF; p4: INTEGER): BOOL;
	(*END ExtFloodFill;*)

	PROCEDURE FillRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN; p2: HBRUSH): BOOL;
	(*END FillRgn;*)

	PROCEDURE FloodFill* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: COLORREF): BOOL;
	(*END FloodFill;*)

	PROCEDURE FrameRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN; p2: HBRUSH; p3: INTEGER; p4: INTEGER): BOOL;
	(*END FrameRgn;*)

	PROCEDURE GetROP2* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetROP2;*)

	PROCEDURE GetAspectRatioFilterEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: SIZE): BOOL;
	(*END GetAspectRatioFilterEx;*)

	PROCEDURE GetBkColor* ["GDI32.dll", ""] (p0: HDC): COLORREF;
	(*END GetBkColor;*)

	PROCEDURE GetBkMode* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetBkMode;*)

	PROCEDURE GetBitmapBits* ["GDI32.dll", ""] (p0: HBITMAP; p1: INTEGER; p2: PtrVoid): INTEGER;
	(*END GetBitmapBits;*)

	PROCEDURE GetBitmapDimensionEx* ["GDI32.dll", ""] (p0: HBITMAP; VAR [nil] p1: SIZE): BOOL;
	(*END GetBitmapDimensionEx;*)

	PROCEDURE GetBoundsRect* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: RECT; p2: SET): SET;
	(*END GetBoundsRect;*)

	PROCEDURE GetBrushOrgEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT): BOOL;
	(*END GetBrushOrgEx;*)

	PROCEDURE GetCharWidthA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF INTEGER): BOOL;
	(*END GetCharWidthA;*)

	PROCEDURE GetCharWidthW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF INTEGER): BOOL;
	(*END GetCharWidthW;*)

	PROCEDURE GetCharWidth* ["GDI32.dll", "GetCharWidthA"] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF INTEGER): BOOL;
	(*END GetCharWidth;*)

	PROCEDURE GetCharWidth32A* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF INTEGER): BOOL;
	(*END GetCharWidth32A;*)

	PROCEDURE GetCharWidth32W* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF INTEGER): BOOL;
	(*END GetCharWidth32W;*)

	PROCEDURE GetCharWidth32* ["GDI32.dll", "GetCharWidth32A"] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF INTEGER): BOOL;
	(*END GetCharWidth32;*)

	PROCEDURE GetCharWidthFloatA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: SHORTREAL): BOOL;
	(*END GetCharWidthFloatA;*)

	PROCEDURE GetCharWidthFloatW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: SHORTREAL): BOOL;
	(*END GetCharWidthFloatW;*)

	PROCEDURE GetCharWidthFloat* ["GDI32.dll", "GetCharWidthFloatA"] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: SHORTREAL): BOOL;
	(*END GetCharWidthFloat;*)

	PROCEDURE GetCharABCWidthsA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF ABC): BOOL;
	(*END GetCharABCWidthsA;*)

	PROCEDURE GetCharABCWidthsW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF ABC): BOOL;
	(*END GetCharABCWidthsW;*)

	PROCEDURE GetCharABCWidths* ["GDI32.dll", "GetCharABCWidthsA"] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY [untagged] OF ABC): BOOL;
	(*END GetCharABCWidths;*)

	PROCEDURE GetCharABCWidthsFloatA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ABCFLOAT): BOOL;
	(*END GetCharABCWidthsFloatA;*)

	PROCEDURE GetCharABCWidthsFloatW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ABCFLOAT): BOOL;
	(*END GetCharABCWidthsFloatW;*)

	PROCEDURE GetCharABCWidthsFloat* ["GDI32.dll", "GetCharABCWidthsFloatA"] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ABCFLOAT): BOOL;
	(*END GetCharABCWidthsFloat;*)

	PROCEDURE GetClipBox* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: RECT): INTEGER;
	(*END GetClipBox;*)

	PROCEDURE GetClipRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN): INTEGER;
	(*END GetClipRgn;*)

	PROCEDURE GetMetaRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN): INTEGER;
	(*END GetMetaRgn;*)

	PROCEDURE GetCurrentObject* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): HGDIOBJ;
	(*END GetCurrentObject;*)

	PROCEDURE GetCurrentPositionEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT): BOOL;
	(*END GetCurrentPositionEx;*)

	PROCEDURE GetDeviceCaps* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END GetDeviceCaps;*)

	PROCEDURE GetDIBits* ["GDI32.dll", ""] (p0: HDC; p1: HBITMAP; p2: INTEGER; p3: INTEGER; p4: PtrVoid; VAR [nil] p5: BITMAPINFO; p6: INTEGER): INTEGER;
	(*END GetDIBits;*)

	PROCEDURE GetFontData* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrVoid; p4: INTEGER): INTEGER;
	(*END GetFontData;*)

	PROCEDURE GetGlyphOutlineA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: GLYPHMETRICS; p4: INTEGER; p5: PtrVoid; VAR [nil] p6: MAT2): INTEGER;
	(*END GetGlyphOutlineA;*)

	PROCEDURE GetGlyphOutlineW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: GLYPHMETRICS; p4: INTEGER; p5: PtrVoid; VAR [nil] p6: MAT2): INTEGER;
	(*END GetGlyphOutlineW;*)

	PROCEDURE GetGlyphOutline* ["GDI32.dll", "GetGlyphOutlineA"] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: GLYPHMETRICS; p4: INTEGER; p5: PtrVoid; VAR [nil] p6: MAT2): INTEGER;
	(*END GetGlyphOutline;*)

	PROCEDURE GetGraphicsMode* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetGraphicsMode;*)

	PROCEDURE GetMapMode* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetMapMode;*)

	PROCEDURE GetMetaFileBitsEx* ["GDI32.dll", ""] (p0: HMETAFILE; p1: INTEGER; VAR [nil] p2: ARRAY [untagged] OF BYTE): INTEGER;
	(*END GetMetaFileBitsEx;*)

	PROCEDURE GetMetaFileA* ["GDI32.dll", ""] (p0: PtrSTR): HMETAFILE;
	(*END GetMetaFileA;*)

	PROCEDURE GetMetaFileW* ["GDI32.dll", ""] (p0: PtrWSTR): HMETAFILE;
	(*END GetMetaFileW;*)

	PROCEDURE GetMetaFile* ["GDI32.dll", "GetMetaFileA"] (p0: PtrSTR): HMETAFILE;
	(*END GetMetaFile;*)

	PROCEDURE GetNearestColor* ["GDI32.dll", ""] (p0: HDC; p1: COLORREF): COLORREF;
	(*END GetNearestColor;*)

	PROCEDURE GetNearestPaletteIndex* ["GDI32.dll", ""] (p0: HPALETTE; p1: COLORREF): INTEGER;
	(*END GetNearestPaletteIndex;*)

	PROCEDURE GetObjectType* ["GDI32.dll", ""] (h: HGDIOBJ): INTEGER;
	(*END GetObjectType;*)

	PROCEDURE GetOutlineTextMetricsA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; VAR [nil] p2: OUTLINETEXTMETRICA): INTEGER;
	(*END GetOutlineTextMetricsA;*)

	PROCEDURE GetOutlineTextMetricsW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; VAR [nil] p2: OUTLINETEXTMETRICW): INTEGER;
	(*END GetOutlineTextMetricsW;*)

	PROCEDURE GetOutlineTextMetrics* ["GDI32.dll", "GetOutlineTextMetricsA"] (p0: HDC; p1: INTEGER; VAR [nil] p2: OUTLINETEXTMETRICA): INTEGER;
	(*END GetOutlineTextMetrics;*)

	PROCEDURE GetPaletteEntries* ["GDI32.dll", ""] (p0: HPALETTE; p1: INTEGER; p2: INTEGER; VAR [nil] p3: PALETTEENTRY): INTEGER;
	(*END GetPaletteEntries;*)

	PROCEDURE GetPixel* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): COLORREF;
	(*END GetPixel;*)

	PROCEDURE GetPixelFormat* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetPixelFormat;*)

	PROCEDURE GetPolyFillMode* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetPolyFillMode;*)

	PROCEDURE GetRasterizerCaps* ["GDI32.dll", ""] (VAR [nil] p0: RASTERIZER_STATUS; p1: INTEGER): BOOL;
	(*END GetRasterizerCaps;*)

	PROCEDURE GetRegionData* ["GDI32.dll", ""] (p0: HRGN; p1: INTEGER; VAR [nil] p2: RGNDATA): INTEGER;
	(*END GetRegionData;*)

	PROCEDURE GetRgnBox* ["GDI32.dll", ""] (p0: HRGN; VAR [nil] p1: RECT): INTEGER;
	(*END GetRgnBox;*)

	PROCEDURE GetStockObject* ["GDI32.dll", ""] (p0: INTEGER): HGDIOBJ;
	(*END GetStockObject;*)

	PROCEDURE GetStretchBltMode* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetStretchBltMode;*)

	PROCEDURE GetSystemPaletteEntries* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: PALETTEENTRY): INTEGER;
	(*END GetSystemPaletteEntries;*)

	PROCEDURE GetSystemPaletteUse* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetSystemPaletteUse;*)

	PROCEDURE GetTextCharacterExtra* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetTextCharacterExtra;*)

	PROCEDURE GetTextAlign* ["GDI32.dll", ""] (p0: HDC): SET;
	(*END GetTextAlign;*)

	PROCEDURE GetTextColor* ["GDI32.dll", ""] (p0: HDC): COLORREF;
	(*END GetTextColor;*)

	PROCEDURE GetTextExtentPointA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END GetTextExtentPointA;*)

	PROCEDURE GetTextExtentPointW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END GetTextExtentPointW;*)

	PROCEDURE GetTextExtentPoint* ["GDI32.dll", "GetTextExtentPointA"] (p0: HDC; p1: PtrSTR; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END GetTextExtentPoint;*)

	PROCEDURE GetTextExtentPoint32A* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END GetTextExtentPoint32A;*)

	PROCEDURE GetTextExtentPoint32W* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END GetTextExtentPoint32W;*)

	PROCEDURE GetTextExtentPoint32* ["GDI32.dll", "GetTextExtentPoint32A"] (p0: HDC; p1: PtrSTR; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END GetTextExtentPoint32;*)

	PROCEDURE GetTextExtentExPointA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; p2: INTEGER; p3: INTEGER; VAR [nil] p4: INTEGER; VAR [nil] p5: INTEGER; VAR [nil] p6: SIZE): BOOL;
	(*END GetTextExtentExPointA;*)

	PROCEDURE GetTextExtentExPointW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: INTEGER; p3: INTEGER; VAR [nil] p4: INTEGER; VAR [nil] p5: INTEGER; VAR [nil] p6: SIZE): BOOL;
	(*END GetTextExtentExPointW;*)

	PROCEDURE GetTextExtentExPoint* ["GDI32.dll", "GetTextExtentExPointA"] (p0: HDC; p1: PtrSTR; p2: INTEGER; p3: INTEGER; VAR [nil] p4: INTEGER; VAR [nil] p5: INTEGER; VAR [nil] p6: SIZE): BOOL;
	(*END GetTextExtentExPoint;*)

	PROCEDURE GetTextCharset* ["GDI32.dll", ""] (hdc: HDC): INTEGER;
	(*END GetTextCharset;*)

	PROCEDURE GetTextCharsetInfo* ["GDI32.dll", ""] (hdc: HDC; VAR [nil] lpSig: FONTSIGNATURE; dwFlags: SET): INTEGER;
	(*END GetTextCharsetInfo;*)

	PROCEDURE TranslateCharsetInfo* ["GDI32.dll", ""] (VAR [nil] lpSrc: INTEGER; VAR [nil] lpCs: CHARSETINFO; dwFlags: SET): BOOL;
	(*END TranslateCharsetInfo;*)

	PROCEDURE GetFontLanguageInfo* ["GDI32.dll", ""] (p0: HDC): SET;
	(*END GetFontLanguageInfo;*)

	PROCEDURE GetCharacterPlacementA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; p2: INTEGER; p3: INTEGER; VAR [nil] p4: GCP_RESULTSA; p5: INTEGER): INTEGER;
	(*END GetCharacterPlacementA;*)

	PROCEDURE GetCharacterPlacementW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: INTEGER; p3: INTEGER; VAR [nil] p4: GCP_RESULTSW; p5: INTEGER): INTEGER;
	(*END GetCharacterPlacementW;*)

	PROCEDURE GetCharacterPlacement* ["GDI32.dll", "GetCharacterPlacementA"] (p0: HDC; p1: PtrSTR; p2: INTEGER; p3: INTEGER; VAR [nil] p4: GCP_RESULTSA; p5: INTEGER): INTEGER;
	(*END GetCharacterPlacement;*)

	PROCEDURE GetViewportExtEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: SIZE): BOOL;
	(*END GetViewportExtEx;*)

	PROCEDURE GetViewportOrgEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT): BOOL;
	(*END GetViewportOrgEx;*)

	PROCEDURE GetWindowExtEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: SIZE): BOOL;
	(*END GetWindowExtEx;*)

	PROCEDURE GetWindowOrgEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT): BOOL;
	(*END GetWindowOrgEx;*)

	PROCEDURE IntersectClipRect* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): INTEGER;
	(*END IntersectClipRect;*)

	PROCEDURE InvertRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN): BOOL;
	(*END InvertRgn;*)

	PROCEDURE LineDDA* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: LINEDDAPROC; p5: LPARAM): BOOL;
	(*END LineDDA;*)

	PROCEDURE LineTo* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): BOOL;
	(*END LineTo;*)

	PROCEDURE MaskBlt* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: HDC; p6: INTEGER; p7: INTEGER; p8: HBITMAP; p9: INTEGER; p10: INTEGER; p11: INTEGER): BOOL;
	(*END MaskBlt;*)

	PROCEDURE PlgBlt* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; p2: HDC; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: HBITMAP; p8: INTEGER; p9: INTEGER): BOOL;
	(*END PlgBlt;*)

	PROCEDURE OffsetClipRgn* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): INTEGER;
	(*END OffsetClipRgn;*)

	PROCEDURE OffsetRgn* ["GDI32.dll", ""] (p0: HRGN; p1: INTEGER; p2: INTEGER): INTEGER;
	(*END OffsetRgn;*)

	PROCEDURE PatBlt* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER): BOOL;
	(*END PatBlt;*)

	PROCEDURE Pie* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER): BOOL;
	(*END Pie;*)

	PROCEDURE PlayMetaFile* ["GDI32.dll", ""] (p0: HDC; p1: HMETAFILE): BOOL;
	(*END PlayMetaFile;*)

	PROCEDURE PaintRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN): BOOL;
	(*END PaintRgn;*)

	PROCEDURE PolyPolygon* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; VAR [nil] p2: INTEGER; p3: INTEGER): BOOL;
	(*END PolyPolygon;*)

	PROCEDURE PtInRegion* ["GDI32.dll", ""] (p0: HRGN; p1: INTEGER; p2: INTEGER): BOOL;
	(*END PtInRegion;*)

	PROCEDURE PtVisible* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): BOOL;
	(*END PtVisible;*)

	PROCEDURE RectInRegion* ["GDI32.dll", ""] (p0: HRGN; VAR [nil] p1: RECT): BOOL;
	(*END RectInRegion;*)

	PROCEDURE RectVisible* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: RECT): BOOL;
	(*END RectVisible;*)

	PROCEDURE Rectangle* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): BOOL;
	(*END Rectangle;*)

	PROCEDURE RestoreDC* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): BOOL;
	(*END RestoreDC;*)

	PROCEDURE ResetDCA* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: DEVMODEA): HDC;
	(*END ResetDCA;*)

	PROCEDURE ResetDCW* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: DEVMODEW): HDC;
	(*END ResetDCW;*)

	PROCEDURE ResetDC* ["GDI32.dll", "ResetDCA"] (p0: HDC; VAR [nil] p1: DEVMODEA): HDC;
	(*END ResetDC;*)

	PROCEDURE RealizePalette* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END RealizePalette;*)

	PROCEDURE RemoveFontResourceA* ["GDI32.dll", ""] (p0: PtrSTR): BOOL;
	(*END RemoveFontResourceA;*)

	PROCEDURE RemoveFontResourceW* ["GDI32.dll", ""] (p0: PtrWSTR): BOOL;
	(*END RemoveFontResourceW;*)

	PROCEDURE RemoveFontResource* ["GDI32.dll", "RemoveFontResourceA"] (p0: PtrSTR): BOOL;
	(*END RemoveFontResource;*)

	PROCEDURE RoundRect* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER): BOOL;
	(*END RoundRect;*)

	PROCEDURE ResizePalette* ["GDI32.dll", ""] (p0: HPALETTE; p1: INTEGER): BOOL;
	(*END ResizePalette;*)

	PROCEDURE SaveDC* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END SaveDC;*)

	PROCEDURE SelectClipRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN): INTEGER;
	(*END SelectClipRgn;*)

	PROCEDURE ExtSelectClipRgn* ["GDI32.dll", ""] (p0: HDC; p1: HRGN; p2: INTEGER): INTEGER;
	(*END ExtSelectClipRgn;*)

	PROCEDURE SetMetaRgn* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END SetMetaRgn;*)

	PROCEDURE SelectObject* ["GDI32.dll", ""] (p0: HDC; p1: HGDIOBJ): HGDIOBJ;
	(*END SelectObject;*)

	PROCEDURE SelectPalette* ["GDI32.dll", ""] (p0: HDC; p1: HPALETTE; p2: BOOL): HPALETTE;
	(*END SelectPalette;*)

	PROCEDURE SetBkColor* ["GDI32.dll", ""] (p0: HDC; p1: COLORREF): COLORREF;
	(*END SetBkColor;*)

	PROCEDURE SetBkMode* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetBkMode;*)

	PROCEDURE SetBitmapBits* ["GDI32.dll", ""] (p0: HBITMAP; p1: INTEGER; p2: PtrVoid): INTEGER;
	(*END SetBitmapBits;*)

	PROCEDURE SetBoundsRect* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: RECT; p2: SET): SET;
	(*END SetBoundsRect;*)

	PROCEDURE SetDIBits* ["GDI32.dll", ""] (p0: HDC; p1: HBITMAP; p2: INTEGER; p3: INTEGER; p4: PtrVoid; VAR [nil] p5: BITMAPINFO; p6: INTEGER): INTEGER;
	(*END SetDIBits;*)

	PROCEDURE SetDIBitsToDevice* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: PtrVoid; VAR [nil] p10: BITMAPINFO; p11: INTEGER): INTEGER;
	(*END SetDIBitsToDevice;*)

	PROCEDURE SetMapperFlags* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetMapperFlags;*)

	PROCEDURE SetGraphicsMode* ["GDI32.dll", ""] (hdc: HDC; iMode: INTEGER): INTEGER;
	(*END SetGraphicsMode;*)

	PROCEDURE SetMapMode* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetMapMode;*)

	PROCEDURE SetMetaFileBitsEx* ["GDI32.dll", ""] (p0: INTEGER; VAR [nil] p1: ARRAY [untagged] OF BYTE): HMETAFILE;
	(*END SetMetaFileBitsEx;*)

	PROCEDURE SetPaletteEntries* ["GDI32.dll", ""] (p0: HPALETTE; p1: INTEGER; p2: INTEGER; VAR [nil] p3: PALETTEENTRY): INTEGER;
	(*END SetPaletteEntries;*)

	PROCEDURE SetPixel* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: COLORREF): COLORREF;
	(*END SetPixel;*)

	PROCEDURE SetPixelV* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: COLORREF): BOOL;
	(*END SetPixelV;*)

	PROCEDURE SetPixelFormat* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; VAR [nil] p2: PIXELFORMATDESCRIPTOR): BOOL;
	(*END SetPixelFormat;*)

	PROCEDURE SetPolyFillMode* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetPolyFillMode;*)

	PROCEDURE StretchBlt* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: HDC; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: INTEGER; p10: INTEGER): BOOL;
	(*END StretchBlt;*)

	PROCEDURE SetRectRgn* ["GDI32.dll", ""] (p0: HRGN; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): BOOL;
	(*END SetRectRgn;*)

	PROCEDURE StretchDIBits* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: PtrVoid; VAR [nil] p10: BITMAPINFO; p11: INTEGER; p12: INTEGER): INTEGER;
	(*END StretchDIBits;*)

	PROCEDURE SetROP2* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetROP2;*)

	PROCEDURE SetStretchBltMode* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetStretchBltMode;*)

	PROCEDURE SetSystemPaletteUse* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetSystemPaletteUse;*)

	PROCEDURE SetTextCharacterExtra* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetTextCharacterExtra;*)

	PROCEDURE SetTextColor* ["GDI32.dll", ""] (p0: HDC; p1: COLORREF): COLORREF;
	(*END SetTextColor;*)

	PROCEDURE SetTextAlign* ["GDI32.dll", ""] (p0: HDC; p1: SET): SET;
	(*END SetTextAlign;*)

	PROCEDURE SetTextJustification* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER): BOOL;
	(*END SetTextJustification;*)

	PROCEDURE UpdateColors* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END UpdateColors;*)

	PROCEDURE PlayMetaFileRecord* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: HANDLETABLE; VAR [nil] p2: METARECORD; p3: INTEGER): BOOL;
	(*END PlayMetaFileRecord;*)

	PROCEDURE EnumMetaFile* ["GDI32.dll", ""] (p0: HDC; p1: HMETAFILE; p2: MFENUMPROC; p3: LPARAM): BOOL;
	(*END EnumMetaFile;*)

	PROCEDURE CloseEnhMetaFile* ["GDI32.dll", ""] (p0: HDC): HENHMETAFILE;
	(*END CloseEnhMetaFile;*)

	PROCEDURE CopyEnhMetaFileA* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: PtrSTR): HENHMETAFILE;
	(*END CopyEnhMetaFileA;*)

	PROCEDURE CopyEnhMetaFileW* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: PtrWSTR): HENHMETAFILE;
	(*END CopyEnhMetaFileW;*)

	PROCEDURE CopyEnhMetaFile* ["GDI32.dll", "CopyEnhMetaFileA"] (p0: HENHMETAFILE; p1: PtrSTR): HENHMETAFILE;
	(*END CopyEnhMetaFile;*)

	PROCEDURE CreateEnhMetaFileA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR; VAR [nil] p2: RECT; p3: PtrSTR): HDC;
	(*END CreateEnhMetaFileA;*)

	PROCEDURE CreateEnhMetaFileW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR; VAR [nil] p2: RECT; p3: PtrWSTR): HDC;
	(*END CreateEnhMetaFileW;*)

	PROCEDURE CreateEnhMetaFile* ["GDI32.dll", "CreateEnhMetaFileA"] (p0: HDC; p1: PtrSTR; VAR [nil] p2: RECT; p3: PtrSTR): HDC;
	(*END CreateEnhMetaFile;*)

	PROCEDURE DeleteEnhMetaFile* ["GDI32.dll", ""] (p0: HENHMETAFILE): BOOL;
	(*END DeleteEnhMetaFile;*)

	PROCEDURE EnumEnhMetaFile* ["GDI32.dll", ""] (p0: HDC; p1: HENHMETAFILE; p2: ENHMFENUMPROC; p3: PtrVoid; VAR [nil] p4: RECT): BOOL;
	(*END EnumEnhMetaFile;*)

	PROCEDURE GetEnhMetaFileA* ["GDI32.dll", ""] (p0: PtrSTR): HENHMETAFILE;
	(*END GetEnhMetaFileA;*)

	PROCEDURE GetEnhMetaFileW* ["GDI32.dll", ""] (p0: PtrWSTR): HENHMETAFILE;
	(*END GetEnhMetaFileW;*)

	PROCEDURE GetEnhMetaFile* ["GDI32.dll", "GetEnhMetaFileA"] (p0: PtrSTR): HENHMETAFILE;
	(*END GetEnhMetaFile;*)

	PROCEDURE GetEnhMetaFileBits* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; VAR [nil] p2: SHORTCHAR): INTEGER;
	(*END GetEnhMetaFileBits;*)

	PROCEDURE GetEnhMetaFileDescriptionA* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; p2: PtrSTR): INTEGER;
	(*END GetEnhMetaFileDescriptionA;*)

	PROCEDURE GetEnhMetaFileDescriptionW* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; p2: PtrWSTR): INTEGER;
	(*END GetEnhMetaFileDescriptionW;*)

	PROCEDURE GetEnhMetaFileDescription* ["GDI32.dll", "GetEnhMetaFileDescriptionA"] (p0: HENHMETAFILE; p1: INTEGER; p2: PtrSTR): INTEGER;
	(*END GetEnhMetaFileDescription;*)

	PROCEDURE GetEnhMetaFileHeader* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; VAR [nil] p2: ENHMETAHEADER): INTEGER;
	(*END GetEnhMetaFileHeader;*)

	PROCEDURE GetEnhMetaFilePaletteEntries* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; VAR [nil] p2: PALETTEENTRY): INTEGER;
	(*END GetEnhMetaFilePaletteEntries;*)

	PROCEDURE GetEnhMetaFilePixelFormat* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; VAR [nil] p2: PIXELFORMATDESCRIPTOR): INTEGER;
	(*END GetEnhMetaFilePixelFormat;*)

	PROCEDURE GetWinMetaFileBits* ["GDI32.dll", ""] (p0: HENHMETAFILE; p1: INTEGER; VAR [nil] p2: SHORTCHAR; p3: INTEGER; p4: HDC): INTEGER;
	(*END GetWinMetaFileBits;*)

	PROCEDURE PlayEnhMetaFile* ["GDI32.dll", ""] (p0: HDC; p1: HENHMETAFILE; VAR [nil] p2: RECT): BOOL;
	(*END PlayEnhMetaFile;*)

	PROCEDURE PlayEnhMetaFileRecord* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: HANDLETABLE; VAR [nil] p2: ENHMETARECORD; p3: INTEGER): BOOL;
	(*END PlayEnhMetaFileRecord;*)

	PROCEDURE SetEnhMetaFileBits* ["GDI32.dll", ""] (p0: INTEGER; VAR [nil] p1: SHORTCHAR): HENHMETAFILE;
	(*END SetEnhMetaFileBits;*)

	PROCEDURE SetWinMetaFileBits* ["GDI32.dll", ""] (p0: INTEGER; VAR [nil] p1: SHORTCHAR; p2: HDC; VAR [nil] p3: METAFILEPICT): HENHMETAFILE;
	(*END SetWinMetaFileBits;*)

	PROCEDURE GdiComment* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; VAR [nil] p2: SHORTCHAR): BOOL;
	(*END GdiComment;*)

	PROCEDURE GetTextMetricsA* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: TEXTMETRICA): BOOL;
	(*END GetTextMetricsA;*)

	PROCEDURE GetTextMetricsW* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: TEXTMETRICW): BOOL;
	(*END GetTextMetricsW;*)

	PROCEDURE GetTextMetrics* ["GDI32.dll", "GetTextMetricsA"] (p0: HDC; VAR [nil] p1: TEXTMETRICA): BOOL;
	(*END GetTextMetrics;*)

	PROCEDURE AngleArc* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: SHORTREAL; p5: SHORTREAL): BOOL;
	(*END AngleArc;*)

	PROCEDURE PolyPolyline* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; VAR [nil] p2: INTEGER; p3: INTEGER): BOOL;
	(*END PolyPolyline;*)

	PROCEDURE GetWorldTransform* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: XFORM): BOOL;
	(*END GetWorldTransform;*)

	PROCEDURE SetWorldTransform* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: XFORM): BOOL;
	(*END SetWorldTransform;*)

	PROCEDURE ModifyWorldTransform* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: XFORM; p2: INTEGER): BOOL;
	(*END ModifyWorldTransform;*)

	PROCEDURE CombineTransform* ["GDI32.dll", ""] (VAR [nil] p0: XFORM; VAR [nil] p1: XFORM; VAR [nil] p2: XFORM): BOOL;
	(*END CombineTransform;*)

	PROCEDURE CreateDIBSection* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: BITMAPINFO; p2: INTEGER; VAR [nil] p3: PtrVoid; p4: HANDLE; p5: INTEGER): HBITMAP;
	(*END CreateDIBSection;*)

	PROCEDURE GetDIBColorTable* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: RGBQUAD): INTEGER;
	(*END GetDIBColorTable;*)

	PROCEDURE SetDIBColorTable* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: ARRAY OF RGBQUAD): INTEGER;
	(*END SetDIBColorTable;*)

	PROCEDURE SetColorAdjustment* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: COLORADJUSTMENT): BOOL;
	(*END SetColorAdjustment;*)

	PROCEDURE GetColorAdjustment* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: COLORADJUSTMENT): BOOL;
	(*END GetColorAdjustment;*)

	PROCEDURE CreateHalftonePalette* ["GDI32.dll", ""] (p0: HDC): HPALETTE;
	(*END CreateHalftonePalette;*)

	PROCEDURE StartDocA* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: DOCINFOA): INTEGER;
	(*END StartDocA;*)

	PROCEDURE StartDocW* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: DOCINFOW): INTEGER;
	(*END StartDocW;*)

	PROCEDURE StartDoc* ["GDI32.dll", "StartDocA"] (p0: HDC; VAR [nil] p1: DOCINFOA): INTEGER;
	(*END StartDoc;*)

	PROCEDURE EndDoc* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END EndDoc;*)

	PROCEDURE StartPage* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END StartPage;*)

	PROCEDURE EndPage* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END EndPage;*)

	PROCEDURE AbortDoc* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END AbortDoc;*)

	PROCEDURE SetAbortProc* ["GDI32.dll", ""] (p0: HDC; p1: ABORTPROC): INTEGER;
	(*END SetAbortProc;*)

	PROCEDURE AbortPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END AbortPath;*)

	PROCEDURE ArcTo* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER): BOOL;
	(*END ArcTo;*)

	PROCEDURE BeginPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END BeginPath;*)

	PROCEDURE CloseFigure* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END CloseFigure;*)

	PROCEDURE EndPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END EndPath;*)

	PROCEDURE FillPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END FillPath;*)

	PROCEDURE FlattenPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END FlattenPath;*)

	PROCEDURE GetPath* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; VAR [nil] p2: SHORTCHAR; p3: INTEGER): INTEGER;
	(*END GetPath;*)

	PROCEDURE PathToRegion* ["GDI32.dll", ""] (p0: HDC): HRGN;
	(*END PathToRegion;*)

	PROCEDURE PolyDraw* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; VAR [nil] p2: SHORTCHAR; p3: INTEGER): BOOL;
	(*END PolyDraw;*)

	PROCEDURE SelectClipPath* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): BOOL;
	(*END SelectClipPath;*)

	PROCEDURE SetArcDirection* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetArcDirection;*)

	PROCEDURE SetMiterLimit* ["GDI32.dll", ""] (p0: HDC; p1: SHORTREAL; VAR [nil] p2: SHORTREAL): BOOL;
	(*END SetMiterLimit;*)

	PROCEDURE StrokeAndFillPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END StrokeAndFillPath;*)

	PROCEDURE StrokePath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END StrokePath;*)

	PROCEDURE WidenPath* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END WidenPath;*)

	PROCEDURE ExtCreatePen* ["GDI32.dll", ""] (p0: INTEGER; p1: INTEGER; VAR [nil] p2: LOGBRUSH; p3: INTEGER; VAR [nil] p4: INTEGER): HPEN;
	(*END ExtCreatePen;*)

	PROCEDURE GetMiterLimit* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: SHORTREAL): BOOL;
	(*END GetMiterLimit;*)

	PROCEDURE GetArcDirection* ["GDI32.dll", ""] (p0: HDC): INTEGER;
	(*END GetArcDirection;*)

	PROCEDURE GetObjectA* ["GDI32.dll", ""] (p0: HGDIOBJ; p1: INTEGER; p2: PtrVoid): INTEGER;
	(*END GetObjectA;*)

	PROCEDURE GetObjectW* ["GDI32.dll", ""] (p0: HGDIOBJ; p1: INTEGER; p2: PtrVoid): INTEGER;
	(*END GetObjectW;*)

	PROCEDURE GetObject* ["GDI32.dll", "GetObjectA"] (p0: HGDIOBJ; p1: INTEGER; p2: PtrVoid): INTEGER;
	(*END GetObject;*)

	PROCEDURE MoveToEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END MoveToEx;*)

	PROCEDURE TextOutA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrSTR; p4: INTEGER): BOOL;
	(*END TextOutA;*)

	PROCEDURE TextOutW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrWSTR; p4: INTEGER): BOOL;
	(*END TextOutW;*)

	PROCEDURE TextOut* ["GDI32.dll", "TextOutA"] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: PtrSTR; p4: INTEGER): BOOL;
	(*END TextOut;*)

	PROCEDURE ExtTextOutA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; VAR [nil] p4: RECT; p5: PtrSTR; p6: INTEGER; VAR [nil] p7: ARRAY [untagged] OF INTEGER): BOOL;
	(*END ExtTextOutA;*)

	PROCEDURE ExtTextOutW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; VAR [nil] p4: RECT; p5: PtrWSTR; p6: INTEGER; VAR [nil] p7: ARRAY [untagged] OF INTEGER): BOOL;
	(*END ExtTextOutW;*)

	PROCEDURE ExtTextOut* ["GDI32.dll", "ExtTextOutA"] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; VAR [nil] p4: RECT; p5: PtrSTR; p6: INTEGER; VAR [nil] p7: ARRAY [untagged] OF INTEGER): BOOL;
	(*END ExtTextOut;*)

	PROCEDURE PolyTextOutA* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POLYTEXTA; p2: INTEGER): BOOL;
	(*END PolyTextOutA;*)

	PROCEDURE PolyTextOutW* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POLYTEXTW; p2: INTEGER): BOOL;
	(*END PolyTextOutW;*)

	PROCEDURE PolyTextOut* ["GDI32.dll", "PolyTextOutA"] (p0: HDC; VAR [nil] p1: POLYTEXTA; p2: INTEGER): BOOL;
	(*END PolyTextOut;*)

	PROCEDURE CreatePolygonRgn* ["GDI32.dll", ""] (VAR [nil] p0: POINT; p1: INTEGER; p2: INTEGER): HRGN;
	(*END CreatePolygonRgn;*)

	PROCEDURE DPtoLP* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; p2: INTEGER): BOOL;
	(*END DPtoLP;*)

	PROCEDURE LPtoDP* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT; p2: INTEGER): BOOL;
	(*END LPtoDP;*)

	PROCEDURE Polygon* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: ARRAY [untagged] OF POINT; p2: INTEGER): BOOL;
	(*END Polygon;*)

	PROCEDURE Polyline* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: ARRAY [untagged] OF POINT; p2: INTEGER): BOOL;
	(*END Polyline;*)

	PROCEDURE PolyBezier* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: ARRAY [untagged] OF POINT; p2: INTEGER): BOOL;
	(*END PolyBezier;*)

	PROCEDURE PolyBezierTo* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: ARRAY [untagged] OF POINT; p2: INTEGER): BOOL;
	(*END PolyBezierTo;*)

	PROCEDURE PolylineTo* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: ARRAY [untagged] OF POINT; p2: INTEGER): BOOL;
	(*END PolylineTo;*)

	PROCEDURE SetViewportExtEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END SetViewportExtEx;*)

	PROCEDURE SetViewportOrgEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END SetViewportOrgEx;*)

	PROCEDURE SetWindowExtEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END SetWindowExtEx;*)

	PROCEDURE SetWindowOrgEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END SetWindowOrgEx;*)

	PROCEDURE OffsetViewportOrgEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END OffsetViewportOrgEx;*)

	PROCEDURE OffsetWindowOrgEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END OffsetWindowOrgEx;*)

	PROCEDURE ScaleViewportExtEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; VAR [nil] p5: SIZE): BOOL;
	(*END ScaleViewportExtEx;*)

	PROCEDURE ScaleWindowExtEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER; VAR [nil] p5: SIZE): BOOL;
	(*END ScaleWindowExtEx;*)

	PROCEDURE SetBitmapDimensionEx* ["GDI32.dll", ""] (p0: HBITMAP; p1: INTEGER; p2: INTEGER; VAR [nil] p3: SIZE): BOOL;
	(*END SetBitmapDimensionEx;*)

	PROCEDURE SetBrushOrgEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END SetBrushOrgEx;*)

	PROCEDURE GetTextFaceA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: PtrSTR): INTEGER;
	(*END GetTextFaceA;*)

	PROCEDURE GetTextFaceW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: PtrWSTR): INTEGER;
	(*END GetTextFaceW;*)

	PROCEDURE GetTextFace* ["GDI32.dll", "GetTextFaceA"] (p0: HDC; p1: INTEGER; p2: PtrSTR): INTEGER;
	(*END GetTextFace;*)

	PROCEDURE GetKerningPairsA* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; VAR [nil] p2: KERNINGPAIR): INTEGER;
	(*END GetKerningPairsA;*)

	PROCEDURE GetKerningPairsW* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; VAR [nil] p2: KERNINGPAIR): INTEGER;
	(*END GetKerningPairsW;*)

	PROCEDURE GetKerningPairs* ["GDI32.dll", "GetKerningPairsA"] (p0: HDC; p1: INTEGER; VAR [nil] p2: KERNINGPAIR): INTEGER;
	(*END GetKerningPairs;*)

	PROCEDURE GetDCOrgEx* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: POINT): BOOL;
	(*END GetDCOrgEx;*)

	PROCEDURE FixBrushOrgEx* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; VAR [nil] p3: POINT): BOOL;
	(*END FixBrushOrgEx;*)

	PROCEDURE UnrealizeObject* ["GDI32.dll", ""] (p0: HGDIOBJ): BOOL;
	(*END UnrealizeObject;*)

	PROCEDURE GdiFlush* ["GDI32.dll", ""] (): BOOL;
	(*END GdiFlush;*)

	PROCEDURE GdiSetBatchLimit* ["GDI32.dll", ""] (p0: INTEGER): INTEGER;
	(*END GdiSetBatchLimit;*)

	PROCEDURE GdiGetBatchLimit* ["GDI32.dll", ""] (): INTEGER;
	(*END GdiGetBatchLimit;*)

	PROCEDURE SetICMMode* ["GDI32.dll", ""] (p0: HDC; p1: INTEGER): INTEGER;
	(*END SetICMMode;*)

	PROCEDURE CheckColorsInGamut* ["GDI32.dll", ""] (p0: HDC; p1: PtrVoid; p2: PtrVoid; p3: INTEGER): BOOL;
	(*END CheckColorsInGamut;*)

	PROCEDURE GetColorSpace* ["GDI32.dll", ""] (p0: HDC): HANDLE;
	(*END GetColorSpace;*)

	PROCEDURE GetLogColorSpaceA* ["GDI32.dll", ""] (p0: HCOLORSPACE; VAR [nil] p1: LOGCOLORSPACEA; p2: INTEGER): BOOL;
	(*END GetLogColorSpaceA;*)

	PROCEDURE GetLogColorSpaceW* ["GDI32.dll", ""] (p0: HCOLORSPACE; VAR [nil] p1: LOGCOLORSPACEW; p2: INTEGER): BOOL;
	(*END GetLogColorSpaceW;*)

	PROCEDURE GetLogColorSpace* ["GDI32.dll", "GetLogColorSpaceA"] (p0: HCOLORSPACE; VAR [nil] p1: LOGCOLORSPACEA; p2: INTEGER): BOOL;
	(*END GetLogColorSpace;*)

	PROCEDURE CreateColorSpaceA* ["GDI32.dll", ""] (VAR [nil] p0: LOGCOLORSPACEA): HCOLORSPACE;
	(*END CreateColorSpaceA;*)

	PROCEDURE CreateColorSpaceW* ["GDI32.dll", ""] (VAR [nil] p0: LOGCOLORSPACEW): HCOLORSPACE;
	(*END CreateColorSpaceW;*)

	PROCEDURE CreateColorSpace* ["GDI32.dll", "CreateColorSpaceA"] (VAR [nil] p0: LOGCOLORSPACEA): HCOLORSPACE;
	(*END CreateColorSpace;*)

	PROCEDURE SetColorSpace* ["GDI32.dll", ""] (p0: HDC; p1: HCOLORSPACE): BOOL;
	(*END SetColorSpace;*)

	PROCEDURE DeleteColorSpace* ["GDI32.dll", ""] (p0: HCOLORSPACE): BOOL;
	(*END DeleteColorSpace;*)

	PROCEDURE GetICMProfileA* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: INTEGER; p2: PtrSTR): BOOL;
	(*END GetICMProfileA;*)

	PROCEDURE GetICMProfileW* ["GDI32.dll", ""] (p0: HDC; VAR [nil] p1: INTEGER; p2: PtrWSTR): BOOL;
	(*END GetICMProfileW;*)

	PROCEDURE GetICMProfile* ["GDI32.dll", "GetICMProfileA"] (p0: HDC; VAR [nil] p1: INTEGER; p2: PtrSTR): BOOL;
	(*END GetICMProfile;*)

	PROCEDURE SetICMProfileA* ["GDI32.dll", ""] (p0: HDC; p1: PtrSTR): BOOL;
	(*END SetICMProfileA;*)

	PROCEDURE SetICMProfileW* ["GDI32.dll", ""] (p0: HDC; p1: PtrWSTR): BOOL;
	(*END SetICMProfileW;*)

	PROCEDURE SetICMProfile* ["GDI32.dll", "SetICMProfileA"] (p0: HDC; p1: PtrSTR): BOOL;
	(*END SetICMProfile;*)

	PROCEDURE GetDeviceGammaRamp* ["GDI32.dll", ""] (p0: HDC; p1: PtrVoid): BOOL;
	(*END GetDeviceGammaRamp;*)

	PROCEDURE SetDeviceGammaRamp* ["GDI32.dll", ""] (p0: HDC; p1: PtrVoid): BOOL;
	(*END SetDeviceGammaRamp;*)

	PROCEDURE ColorMatchToTarget* ["GDI32.dll", ""] (p0: HDC; p1: HDC; p2: INTEGER): BOOL;
	(*END ColorMatchToTarget;*)

	PROCEDURE EnumICMProfilesA* ["GDI32.dll", ""] (p0: HDC; p1: ICMENUMPROCA; p2: LPARAM): INTEGER;
	(*END EnumICMProfilesA;*)

	PROCEDURE EnumICMProfilesW* ["GDI32.dll", ""] (p0: HDC; p1: ICMENUMPROCW; p2: LPARAM): INTEGER;
	(*END EnumICMProfilesW;*)

	PROCEDURE EnumICMProfiles* ["GDI32.dll", "EnumICMProfilesA"] (p0: HDC; p1: ICMENUMPROCA; p2: LPARAM): INTEGER;
	(*END EnumICMProfiles;*)

	PROCEDURE wglCopyContext* ["OPENGL32.dll", ""] (p0: HGLRC; p1: HGLRC; p2: INTEGER): BOOL;
	(*END wglCopyContext;*)

	PROCEDURE wglCreateContext* ["OPENGL32.dll", ""] (p0: HDC): HGLRC;
	(*END wglCreateContext;*)

	PROCEDURE wglCreateLayerContext* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER): HGLRC;
	(*END wglCreateLayerContext;*)

	PROCEDURE wglDeleteContext* ["OPENGL32.dll", ""] (p0: HGLRC): BOOL;
	(*END wglDeleteContext;*)

	PROCEDURE wglGetCurrentContext* ["OPENGL32.dll", ""] (): HGLRC;
	(*END wglGetCurrentContext;*)

	PROCEDURE wglGetCurrentDC* ["OPENGL32.dll", ""] (): HDC;
	(*END wglGetCurrentDC;*)

	PROCEDURE wglGetProcAddress* ["OPENGL32.dll", ""] (p0: PtrSTR): ROC;
	(*END wglGetProcAddress;*)

	PROCEDURE wglMakeCurrent* ["OPENGL32.dll", ""] (p0: HDC; p1: HGLRC): BOOL;
	(*END wglMakeCurrent;*)

	PROCEDURE wglShareLists* ["OPENGL32.dll", ""] (p0: HGLRC; p1: HGLRC): BOOL;
	(*END wglShareLists;*)

	PROCEDURE wglUseFontBitmapsA* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER): BOOL;
	(*END wglUseFontBitmapsA;*)

	PROCEDURE wglUseFontBitmapsW* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER): BOOL;
	(*END wglUseFontBitmapsW;*)

	PROCEDURE wglUseFontBitmaps* ["OPENGL32.dll", "wglUseFontBitmapsA"] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER): BOOL;
	(*END wglUseFontBitmaps;*)

	PROCEDURE SwapBuffers* ["GDI32.dll", ""] (p0: HDC): BOOL;
	(*END SwapBuffers;*)

	PROCEDURE wglUseFontOutlinesA* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: SHORTREAL; p5: SHORTREAL; p6: INTEGER; VAR [nil] p7: GLYPHMETRICSFLOAT): BOOL;
	(*END wglUseFontOutlinesA;*)

	PROCEDURE wglUseFontOutlinesW* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: SHORTREAL; p5: SHORTREAL; p6: INTEGER; VAR [nil] p7: GLYPHMETRICSFLOAT): BOOL;
	(*END wglUseFontOutlinesW;*)

	PROCEDURE wglUseFontOutlines* ["OPENGL32.dll", "wglUseFontOutlinesA"] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: SHORTREAL; p5: SHORTREAL; p6: INTEGER; VAR [nil] p7: GLYPHMETRICSFLOAT): BOOL;
	(*END wglUseFontOutlines;*)

	PROCEDURE wglDescribeLayerPlane* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; VAR [nil] p4: LAYERPLANEDESCRIPTOR): BOOL;
	(*END wglDescribeLayerPlane;*)

	PROCEDURE wglSetLayerPaletteEntries* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; VAR [nil] p4: COLORREF): INTEGER;
	(*END wglSetLayerPaletteEntries;*)

	PROCEDURE wglGetLayerPaletteEntries* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: INTEGER; p3: INTEGER; VAR [nil] p4: COLORREF): INTEGER;
	(*END wglGetLayerPaletteEntries;*)

	PROCEDURE wglRealizeLayerPalette* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER; p2: BOOL): BOOL;
	(*END wglRealizeLayerPalette;*)

	PROCEDURE wglSwapLayerBuffers* ["OPENGL32.dll", ""] (p0: HDC; p1: INTEGER): BOOL;
	(*END wglSwapLayerBuffers;*)

	PROCEDURE wvsprintfA* ["USER32.dll", ""] (p0: PtrSTR; p1: PtrSTR; arglist: PtrSTR): INTEGER;
	(*END wvsprintfA;*)

	PROCEDURE wvsprintfW* ["USER32.dll", ""] (p0: PtrWSTR; p1: PtrWSTR; arglist: PtrSTR): INTEGER;
	(*END wvsprintfW;*)

	PROCEDURE wvsprintf* ["USER32.dll", "wvsprintfA"] (p0: PtrSTR; p1: PtrSTR; arglist: PtrSTR): INTEGER;
	(*END wvsprintf;*)

	PROCEDURE [ccall] wsprintfA* ["USER32.dll", ""] (p0: PtrSTR; p1: PtrSTR): INTEGER;
	(*END wsprintfA;*)

	PROCEDURE [ccall] wsprintfW* ["USER32.dll", ""] (p0: PtrWSTR; p1: PtrWSTR): INTEGER;
	(*END wsprintfW;*)

	PROCEDURE [ccall] wsprintf* ["USER32.dll", "wsprintfA"] (p0: PtrSTR; p1: PtrSTR): INTEGER;
	(*END wsprintf;*)

	PROCEDURE LoadKeyboardLayoutA* ["USER32.dll", ""] (pwszKLID: PtrSTR; Flags: SET): HKL;
	(*END LoadKeyboardLayoutA;*)

	PROCEDURE LoadKeyboardLayoutW* ["USER32.dll", ""] (pwszKLID: PtrWSTR; Flags: SET): HKL;
	(*END LoadKeyboardLayoutW;*)

	PROCEDURE LoadKeyboardLayout* ["USER32.dll", "LoadKeyboardLayoutA"] (pwszKLID: PtrSTR; Flags: SET): HKL;
	(*END LoadKeyboardLayout;*)

	PROCEDURE ActivateKeyboardLayout* ["USER32.dll", ""] (hkl: HKL; Flags: SET): HKL;
	(*END ActivateKeyboardLayout;*)

	PROCEDURE ToUnicodeEx* ["USER32.dll", ""] (wVirtKey: INTEGER; wScanCode: INTEGER; VAR [nil] lpKeyState: SHORTCHAR; pwszBuff: PtrWSTR; cchBuff: INTEGER; wFlags: INTEGER; dwhkl: HKL): INTEGER;
	(*END ToUnicodeEx;*)

	PROCEDURE UnloadKeyboardLayout* ["USER32.dll", ""] (hkl: HKL): BOOL;
	(*END UnloadKeyboardLayout;*)

	PROCEDURE GetKeyboardLayoutNameA* ["USER32.dll", ""] (pwszKLID: PtrSTR): BOOL;
	(*END GetKeyboardLayoutNameA;*)

	PROCEDURE GetKeyboardLayoutNameW* ["USER32.dll", ""] (pwszKLID: PtrWSTR): BOOL;
	(*END GetKeyboardLayoutNameW;*)

	PROCEDURE GetKeyboardLayoutName* ["USER32.dll", "GetKeyboardLayoutNameA"] (pwszKLID: PtrSTR): BOOL;
	(*END GetKeyboardLayoutName;*)

	PROCEDURE GetKeyboardLayoutList* ["USER32.dll", ""] (nBuff: INTEGER; VAR [nil] lpList: HKL): INTEGER;
	(*END GetKeyboardLayoutList;*)

	PROCEDURE GetKeyboardLayout* ["USER32.dll", ""] (dwLayout: INTEGER): HKL;
	(*END GetKeyboardLayout;*)

	PROCEDURE CreateDesktopA* ["USER32.dll", ""] (lpszDesktop: PtrSTR; lpszDevice: PtrSTR; VAR [nil] pDevmode: DEVMODEA; dwFlags: SET; dwDesiredAccess: SET; VAR [nil] lpsa: SECURITY_ATTRIBUTES): HDESK;
	(*END CreateDesktopA;*)

	PROCEDURE CreateDesktopW* ["USER32.dll", ""] (lpszDesktop: PtrWSTR; lpszDevice: PtrWSTR; VAR [nil] pDevmode: DEVMODEW; dwFlags: SET; dwDesiredAccess: SET; VAR [nil] lpsa: SECURITY_ATTRIBUTES): HDESK;
	(*END CreateDesktopW;*)

	PROCEDURE CreateDesktop* ["USER32.dll", "CreateDesktopA"] (lpszDesktop: PtrSTR; lpszDevice: PtrSTR; VAR [nil] pDevmode: DEVMODEA; dwFlags: SET; dwDesiredAccess: SET; VAR [nil] lpsa: SECURITY_ATTRIBUTES): HDESK;
	(*END CreateDesktop;*)

	PROCEDURE OpenDesktopA* ["USER32.dll", ""] (lpszDesktop: PtrSTR; dwFlags: SET; fInherit: BOOL; dwDesiredAccess: SET): HDESK;
	(*END OpenDesktopA;*)

	PROCEDURE OpenDesktopW* ["USER32.dll", ""] (lpszDesktop: PtrWSTR; dwFlags: SET; fInherit: BOOL; dwDesiredAccess: SET): HDESK;
	(*END OpenDesktopW;*)

	PROCEDURE OpenDesktop* ["USER32.dll", "OpenDesktopA"] (lpszDesktop: PtrSTR; dwFlags: SET; fInherit: BOOL; dwDesiredAccess: SET): HDESK;
	(*END OpenDesktop;*)

	PROCEDURE OpenInputDesktop* ["USER32.dll", ""] (dwFlags: SET; fInherit: BOOL; dwDesiredAccess: SET): HDESK;
	(*END OpenInputDesktop;*)

	PROCEDURE EnumDesktopsA* ["USER32.dll", ""] (hwinsta: HWINSTA; lpEnumFunc: DESKTOPENUMPROCA; lParam: LPARAM): BOOL;
	(*END EnumDesktopsA;*)

	PROCEDURE EnumDesktopsW* ["USER32.dll", ""] (hwinsta: HWINSTA; lpEnumFunc: DESKTOPENUMPROCW; lParam: LPARAM): BOOL;
	(*END EnumDesktopsW;*)

	PROCEDURE EnumDesktops* ["USER32.dll", "EnumDesktopsA"] (hwinsta: HWINSTA; lpEnumFunc: DESKTOPENUMPROCA; lParam: LPARAM): BOOL;
	(*END EnumDesktops;*)

	PROCEDURE EnumDesktopWindows* ["USER32.dll", ""] (hDesktop: HDESK; lpfn: WNDENUMPROC; lParam: LPARAM): BOOL;
	(*END EnumDesktopWindows;*)

	PROCEDURE SwitchDesktop* ["USER32.dll", ""] (hDesktop: HDESK): BOOL;
	(*END SwitchDesktop;*)

	PROCEDURE SetThreadDesktop* ["USER32.dll", ""] (hDesktop: HDESK): BOOL;
	(*END SetThreadDesktop;*)

	PROCEDURE CloseDesktop* ["USER32.dll", ""] (hDesktop: HDESK): BOOL;
	(*END CloseDesktop;*)

	PROCEDURE GetThreadDesktop* ["USER32.dll", ""] (dwThreadId: INTEGER): HDESK;
	(*END GetThreadDesktop;*)

	PROCEDURE CreateWindowStationA* ["USER32.dll", ""] (lpwinsta: PtrSTR; dwReserved: INTEGER; dwDesiredAccess: SET; VAR [nil] lpsa: SECURITY_ATTRIBUTES): HWINSTA;
	(*END CreateWindowStationA;*)

	PROCEDURE CreateWindowStationW* ["USER32.dll", ""] (lpwinsta: PtrWSTR; dwReserved: INTEGER; dwDesiredAccess: SET; VAR [nil] lpsa: SECURITY_ATTRIBUTES): HWINSTA;
	(*END CreateWindowStationW;*)

	PROCEDURE CreateWindowStation* ["USER32.dll", "CreateWindowStationA"] (lpwinsta: PtrSTR; dwReserved: INTEGER; dwDesiredAccess: SET; VAR [nil] lpsa: SECURITY_ATTRIBUTES): HWINSTA;
	(*END CreateWindowStation;*)

	PROCEDURE OpenWindowStationA* ["USER32.dll", ""] (lpszWinSta: PtrSTR; fInherit: BOOL; dwDesiredAccess: SET): HWINSTA;
	(*END OpenWindowStationA;*)

	PROCEDURE OpenWindowStationW* ["USER32.dll", ""] (lpszWinSta: PtrWSTR; fInherit: BOOL; dwDesiredAccess: SET): HWINSTA;
	(*END OpenWindowStationW;*)

	PROCEDURE OpenWindowStation* ["USER32.dll", "OpenWindowStationA"] (lpszWinSta: PtrSTR; fInherit: BOOL; dwDesiredAccess: SET): HWINSTA;
	(*END OpenWindowStation;*)

	PROCEDURE EnumWindowStationsA* ["USER32.dll", ""] (lpEnumFunc: WINSTAENUMPROCA; lParam: LPARAM): BOOL;
	(*END EnumWindowStationsA;*)

	PROCEDURE EnumWindowStationsW* ["USER32.dll", ""] (lpEnumFunc: WINSTAENUMPROCW; lParam: LPARAM): BOOL;
	(*END EnumWindowStationsW;*)

	PROCEDURE EnumWindowStations* ["USER32.dll", "EnumWindowStationsA"] (lpEnumFunc: WINSTAENUMPROCA; lParam: LPARAM): BOOL;
	(*END EnumWindowStations;*)

	PROCEDURE CloseWindowStation* ["USER32.dll", ""] (hWinSta: HWINSTA): BOOL;
	(*END CloseWindowStation;*)

	PROCEDURE SetProcessWindowStation* ["USER32.dll", ""] (hWinSta: HWINSTA): BOOL;
	(*END SetProcessWindowStation;*)

	PROCEDURE GetProcessWindowStation* ["USER32.dll", ""] (): HWINSTA;
	(*END GetProcessWindowStation;*)

	PROCEDURE SetUserObjectSecurity* ["USER32.dll", ""] (hObj: HANDLE; VAR [nil] pSIRequested: INTEGER; pSID: PSECURITY_DESCRIPTOR): BOOL;
	(*END SetUserObjectSecurity;*)

	PROCEDURE GetUserObjectSecurity* ["USER32.dll", ""] (hObj: HANDLE; VAR [nil] pSIRequested: INTEGER; pSID: PSECURITY_DESCRIPTOR; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetUserObjectSecurity;*)

	PROCEDURE GetUserObjectInformationA* ["USER32.dll", ""] (hObj: HANDLE; nIndex: INTEGER; pvInfo: PtrVoid; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetUserObjectInformationA;*)

	PROCEDURE GetUserObjectInformationW* ["USER32.dll", ""] (hObj: HANDLE; nIndex: INTEGER; pvInfo: PtrVoid; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetUserObjectInformationW;*)

	PROCEDURE GetUserObjectInformation* ["USER32.dll", "GetUserObjectInformationA"] (hObj: HANDLE; nIndex: INTEGER; pvInfo: PtrVoid; nLength: INTEGER; VAR [nil] lpnLengthNeeded: INTEGER): BOOL;
	(*END GetUserObjectInformation;*)

	PROCEDURE SetUserObjectInformationA* ["USER32.dll", ""] (hObj: HANDLE; nIndex: INTEGER; pvInfo: PtrVoid; nLength: INTEGER): BOOL;
	(*END SetUserObjectInformationA;*)

	PROCEDURE SetUserObjectInformationW* ["USER32.dll", ""] (hObj: HANDLE; nIndex: INTEGER; pvInfo: PtrVoid; nLength: INTEGER): BOOL;
	(*END SetUserObjectInformationW;*)

	PROCEDURE SetUserObjectInformation* ["USER32.dll", "SetUserObjectInformationA"] (hObj: HANDLE; nIndex: INTEGER; pvInfo: PtrVoid; nLength: INTEGER): BOOL;
	(*END SetUserObjectInformation;*)

	PROCEDURE RegisterWindowMessageA* ["USER32.dll", ""] (lpString: PtrSTR): INTEGER;
	(*END RegisterWindowMessageA;*)

	PROCEDURE RegisterWindowMessageW* ["USER32.dll", ""] (lpString: PtrWSTR): INTEGER;
	(*END RegisterWindowMessageW;*)

	PROCEDURE RegisterWindowMessage* ["USER32.dll", "RegisterWindowMessageA"] (lpString: PtrSTR): INTEGER;
	(*END RegisterWindowMessage;*)

	PROCEDURE DrawEdge* ["USER32.dll", ""] (hdc: HDC; VAR [nil] qrc: RECT; edge: SET; grfFlags: SET): BOOL;
	(*END DrawEdge;*)

	PROCEDURE DrawFrameControl* ["USER32.dll", ""] (p0: HDC; VAR [nil] p1: RECT; p2: INTEGER; p3: SET): BOOL;
	(*END DrawFrameControl;*)

	PROCEDURE DrawCaption* ["USER32.dll", ""] (p0: HWND; p1: HDC; VAR [nil] p2: RECT; p3: INTEGER): BOOL;
	(*END DrawCaption;*)

	PROCEDURE DrawAnimatedRects* ["USER32.dll", ""] (hwnd: HWND; idAni: INTEGER; VAR [nil] lprcFrom: RECT; VAR [nil] lprcTo: RECT): BOOL;
	(*END DrawAnimatedRects;*)

	PROCEDURE GetMessageA* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG; hWnd: HWND; wMsgFilterMin: INTEGER; wMsgFilterMax: INTEGER): BOOL;
	(*END GetMessageA;*)

	PROCEDURE GetMessageW* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG; hWnd: HWND; wMsgFilterMin: INTEGER; wMsgFilterMax: INTEGER): BOOL;
	(*END GetMessageW;*)

	PROCEDURE GetMessage* ["USER32.dll", "GetMessageA"] (VAR [nil] lpMsg: MSG; hWnd: HWND; wMsgFilterMin: INTEGER; wMsgFilterMax: INTEGER): BOOL;
	(*END GetMessage;*)

	PROCEDURE TranslateMessage* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG): BOOL;
	(*END TranslateMessage;*)

	PROCEDURE DispatchMessageA* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG): INTEGER;
	(*END DispatchMessageA;*)

	PROCEDURE DispatchMessageW* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG): INTEGER;
	(*END DispatchMessageW;*)

	PROCEDURE DispatchMessage* ["USER32.dll", "DispatchMessageA"] (VAR [nil] lpMsg: MSG): INTEGER;
	(*END DispatchMessage;*)

	PROCEDURE SetMessageQueue* ["USER32.dll", ""] (cMessagesMax: INTEGER): BOOL;
	(*END SetMessageQueue;*)

	PROCEDURE PeekMessageA* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG; hWnd: HWND; wMsgFilterMin: INTEGER; wMsgFilterMax: INTEGER; wRemoveMsg: INTEGER): BOOL;
	(*END PeekMessageA;*)

	PROCEDURE PeekMessageW* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG; hWnd: HWND; wMsgFilterMin: INTEGER; wMsgFilterMax: INTEGER; wRemoveMsg: INTEGER): BOOL;
	(*END PeekMessageW;*)

	PROCEDURE PeekMessage* ["USER32.dll", "PeekMessageA"] (VAR [nil] lpMsg: MSG; hWnd: HWND; wMsgFilterMin: INTEGER; wMsgFilterMax: INTEGER; wRemoveMsg: INTEGER): BOOL;
	(*END PeekMessage;*)

	PROCEDURE RegisterHotKey* ["USER32.dll", ""] (hWnd: HWND; id: INTEGER; fsModifiers: SET; vk: INTEGER): BOOL;
	(*END RegisterHotKey;*)

	PROCEDURE UnregisterHotKey* ["USER32.dll", ""] (hWnd: HWND; id: INTEGER): BOOL;
	(*END UnregisterHotKey;*)

	PROCEDURE ExitWindowsEx* ["USER32.dll", ""] (uFlags: SET; dwReserved: INTEGER): BOOL;
	(*END ExitWindowsEx;*)

	PROCEDURE SwapMouseButton* ["USER32.dll", ""] (fSwap: BOOL): BOOL;
	(*END SwapMouseButton;*)

	PROCEDURE GetMessagePos* ["USER32.dll", ""] (): INTEGER;
	(*END GetMessagePos;*)

	PROCEDURE GetMessageTime* ["USER32.dll", ""] (): INTEGER;
	(*END GetMessageTime;*)

	PROCEDURE GetMessageExtraInfo* ["USER32.dll", ""] (): INTEGER;
	(*END GetMessageExtraInfo;*)

	PROCEDURE SetMessageExtraInfo* ["USER32.dll", ""] (lParam: LPARAM): LPARAM;
	(*END SetMessageExtraInfo;*)

	PROCEDURE SendMessageA* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END SendMessageA;*)

	PROCEDURE SendMessageW* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END SendMessageW;*)

	PROCEDURE SendMessage* ["USER32.dll", "SendMessageA"] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END SendMessage;*)

	PROCEDURE SendMessageTimeoutA* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM; fuFlags: SET; uTimeout: INTEGER; VAR [nil] lpdwResult: INTEGER): LRESULT;
	(*END SendMessageTimeoutA;*)

	PROCEDURE SendMessageTimeoutW* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM; fuFlags: SET; uTimeout: INTEGER; VAR [nil] lpdwResult: INTEGER): LRESULT;
	(*END SendMessageTimeoutW;*)

	PROCEDURE SendMessageTimeout* ["USER32.dll", "SendMessageTimeoutA"] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM; fuFlags: SET; uTimeout: INTEGER; VAR [nil] lpdwResult: INTEGER): LRESULT;
	(*END SendMessageTimeout;*)

	PROCEDURE SendNotifyMessageA* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END SendNotifyMessageA;*)

	PROCEDURE SendNotifyMessageW* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END SendNotifyMessageW;*)

	PROCEDURE SendNotifyMessage* ["USER32.dll", "SendNotifyMessageA"] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END SendNotifyMessage;*)

	PROCEDURE SendMessageCallbackA* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM; lpResultCallBack: SENDASYNCPROC; dwData: INTEGER): BOOL;
	(*END SendMessageCallbackA;*)

	PROCEDURE SendMessageCallbackW* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM; lpResultCallBack: SENDASYNCPROC; dwData: INTEGER): BOOL;
	(*END SendMessageCallbackW;*)

	PROCEDURE SendMessageCallback* ["USER32.dll", "SendMessageCallbackA"] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM; lpResultCallBack: SENDASYNCPROC; dwData: INTEGER): BOOL;
	(*END SendMessageCallback;*)

	PROCEDURE BroadcastSystemMessageA* ["USER32.dll", ""] (p0: SET; VAR [nil] p1: SET; p2: INTEGER; p3: WPARAM; p4: LPARAM): INTEGER;
	(*END BroadcastSystemMessageA;*)

	PROCEDURE BroadcastSystemMessageW* ["USER32.dll", ""] (p0: SET; VAR [nil] p1: SET; p2: INTEGER; p3: WPARAM; p4: LPARAM): INTEGER;
	(*END BroadcastSystemMessageW;*)

	PROCEDURE BroadcastSystemMessage* ["USER32.dll", "BroadcastSystemMessageA"] (p0: SET; VAR [nil] p1: SET; p2: INTEGER; p3: WPARAM; p4: LPARAM): INTEGER;
	(*END BroadcastSystemMessage;*)

	PROCEDURE PostMessageA* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END PostMessageA;*)

	PROCEDURE PostMessageW* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END PostMessageW;*)

	PROCEDURE PostMessage* ["USER32.dll", "PostMessageA"] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END PostMessage;*)

	PROCEDURE PostThreadMessageA* ["USER32.dll", ""] (idThread: INTEGER; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END PostThreadMessageA;*)

	PROCEDURE PostThreadMessageW* ["USER32.dll", ""] (idThread: INTEGER; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END PostThreadMessageW;*)

	PROCEDURE PostThreadMessage* ["USER32.dll", "PostThreadMessageA"] (idThread: INTEGER; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): BOOL;
	(*END PostThreadMessage;*)

	PROCEDURE AttachThreadInput* ["USER32.dll", ""] (idAttach: INTEGER; idAttachTo: INTEGER; fAttach: BOOL): BOOL;
	(*END AttachThreadInput;*)

	PROCEDURE ReplyMessage* ["USER32.dll", ""] (lResult: LRESULT): BOOL;
	(*END ReplyMessage;*)

	PROCEDURE WaitMessage* ["USER32.dll", ""] (): BOOL;
	(*END WaitMessage;*)

	PROCEDURE WaitForInputIdle* ["USER32.dll", ""] (hProcess: HANDLE; dwMilliseconds: INTEGER): INTEGER;
	(*END WaitForInputIdle;*)

	PROCEDURE DefWindowProcA* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefWindowProcA;*)

	PROCEDURE DefWindowProcW* ["USER32.dll", ""] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefWindowProcW;*)

	PROCEDURE DefWindowProc* ["USER32.dll", "DefWindowProcA"] (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefWindowProc;*)

	PROCEDURE PostQuitMessage* ["USER32.dll", ""] (nExitCode: INTEGER);
	(*END PostQuitMessage;*)

	PROCEDURE CallWindowProcA* ["USER32.dll", ""] (lpPrevWndFunc: FARPROC; hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END CallWindowProcA;*)

	PROCEDURE CallWindowProcW* ["USER32.dll", ""] (lpPrevWndFunc: FARPROC; hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END CallWindowProcW;*)

	PROCEDURE CallWindowProc* ["USER32.dll", "CallWindowProcA"] (lpPrevWndFunc: FARPROC; hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END CallWindowProc;*)

	PROCEDURE InSendMessage* ["USER32.dll", ""] (): BOOL;
	(*END InSendMessage;*)

	PROCEDURE GetDoubleClickTime* ["USER32.dll", ""] (): INTEGER;
	(*END GetDoubleClickTime;*)

	PROCEDURE SetDoubleClickTime* ["USER32.dll", ""] (p0: INTEGER): BOOL;
	(*END SetDoubleClickTime;*)

	PROCEDURE RegisterClassA* ["USER32.dll", ""] (VAR [nil] lpWndClass: WNDCLASSA): ATOM;
	(*END RegisterClassA;*)

	PROCEDURE RegisterClassW* ["USER32.dll", ""] (VAR [nil] lpWndClass: WNDCLASSW): ATOM;
	(*END RegisterClassW;*)

	PROCEDURE RegisterClass* ["USER32.dll", "RegisterClassA"] (VAR [nil] lpWndClass: WNDCLASSA): ATOM;
	(*END RegisterClass;*)

	PROCEDURE UnregisterClassA* ["USER32.dll", ""] (lpClassName: PtrSTR; hInstance: HINSTANCE): BOOL;
	(*END UnregisterClassA;*)

	PROCEDURE UnregisterClassW* ["USER32.dll", ""] (lpClassName: PtrWSTR; hInstance: HINSTANCE): BOOL;
	(*END UnregisterClassW;*)

	PROCEDURE UnregisterClass* ["USER32.dll", "UnregisterClassA"] (lpClassName: PtrSTR; hInstance: HINSTANCE): BOOL;
	(*END UnregisterClass;*)

	PROCEDURE GetClassInfoA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpClassName: PtrSTR; VAR [nil] lpWndClass: WNDCLASSA): BOOL;
	(*END GetClassInfoA;*)

	PROCEDURE GetClassInfoW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpClassName: PtrWSTR; VAR [nil] lpWndClass: WNDCLASSW): BOOL;
	(*END GetClassInfoW;*)

	PROCEDURE GetClassInfo* ["USER32.dll", "GetClassInfoA"] (hInstance: HINSTANCE; lpClassName: PtrSTR; VAR [nil] lpWndClass: WNDCLASSA): BOOL;
	(*END GetClassInfo;*)

	PROCEDURE RegisterClassExA* ["USER32.dll", ""] (VAR [nil] p0: WNDCLASSEXA): ATOM;
	(*END RegisterClassExA;*)

	PROCEDURE RegisterClassExW* ["USER32.dll", ""] (VAR [nil] p0: WNDCLASSEXW): ATOM;
	(*END RegisterClassExW;*)

	PROCEDURE RegisterClassEx* ["USER32.dll", "RegisterClassExA"] (VAR [nil] p0: WNDCLASSEXA): ATOM;
	(*END RegisterClassEx;*)

	PROCEDURE GetClassInfoExA* ["USER32.dll", ""] (p0: HINSTANCE; p1: PtrSTR; VAR [nil] p2: WNDCLASSEXA): BOOL;
	(*END GetClassInfoExA;*)

	PROCEDURE GetClassInfoExW* ["USER32.dll", ""] (p0: HINSTANCE; p1: PtrWSTR; VAR [nil] p2: WNDCLASSEXW): BOOL;
	(*END GetClassInfoExW;*)

	PROCEDURE GetClassInfoEx* ["USER32.dll", "GetClassInfoExA"] (p0: HINSTANCE; p1: PtrSTR; VAR [nil] p2: WNDCLASSEXA): BOOL;
	(*END GetClassInfoEx;*)

	PROCEDURE CreateWindowExA* ["USER32.dll", ""] (dwExStyle: SET; lpClassName: PtrSTR; lpWindowName: PtrSTR; dwStyle: SET; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; hWndParent: HWND; hMenu: HMENU; hInstance: HINSTANCE; lpParam: PtrVoid): HWND;
	(*END CreateWindowExA;*)

	PROCEDURE CreateWindowExW* ["USER32.dll", ""] (dwExStyle: SET; lpClassName: PtrWSTR; lpWindowName: PtrWSTR; dwStyle: SET; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; hWndParent: HWND; hMenu: HMENU; hInstance: HINSTANCE; lpParam: PtrVoid): HWND;
	(*END CreateWindowExW;*)

	PROCEDURE CreateWindowEx* ["USER32.dll", "CreateWindowExA"] (dwExStyle: SET; lpClassName: PtrSTR; lpWindowName: PtrSTR; dwStyle: SET; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; hWndParent: HWND; hMenu: HMENU; hInstance: HINSTANCE; lpParam: PtrVoid): HWND;
	(*END CreateWindowEx;*)

	PROCEDURE IsWindow* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END IsWindow;*)

	PROCEDURE IsMenu* ["USER32.dll", ""] (hMenu: HMENU): BOOL;
	(*END IsMenu;*)

	PROCEDURE IsChild* ["USER32.dll", ""] (hWndParent: HWND; hWnd: HWND): BOOL;
	(*END IsChild;*)

	PROCEDURE DestroyWindow* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END DestroyWindow;*)

	PROCEDURE ShowWindow* ["USER32.dll", ""] (hWnd: HWND; nCmdShow: INTEGER): BOOL;
	(*END ShowWindow;*)

	PROCEDURE ShowWindowAsync* ["USER32.dll", ""] (hWnd: HWND; nCmdShow: INTEGER): BOOL;
	(*END ShowWindowAsync;*)

	PROCEDURE FlashWindow* ["USER32.dll", ""] (hWnd: HWND; bInvert: BOOL): BOOL;
	(*END FlashWindow;*)

	PROCEDURE ShowOwnedPopups* ["USER32.dll", ""] (hWnd: HWND; fShow: BOOL): BOOL;
	(*END ShowOwnedPopups;*)

	PROCEDURE OpenIcon* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END OpenIcon;*)

	PROCEDURE CloseWindow* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END CloseWindow;*)

	PROCEDURE MoveWindow* ["USER32.dll", ""] (hWnd: HWND; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; bRepaint: BOOL): BOOL;
	(*END MoveWindow;*)

	PROCEDURE SetWindowPos* ["USER32.dll", ""] (hWnd: HWND; hWndInsertAfter: HWND; X: INTEGER; Y: INTEGER; cx: INTEGER; cy: INTEGER; uFlags: SET): BOOL;
	(*END SetWindowPos;*)

	PROCEDURE GetWindowPlacement* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpwndpl: WINDOWPLACEMENT): BOOL;
	(*END GetWindowPlacement;*)

	PROCEDURE SetWindowPlacement* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpwndpl: WINDOWPLACEMENT): BOOL;
	(*END SetWindowPlacement;*)

	PROCEDURE BeginDeferWindowPos* ["USER32.dll", ""] (nNumWindows: INTEGER): HDWP;
	(*END BeginDeferWindowPos;*)

	PROCEDURE DeferWindowPos* ["USER32.dll", ""] (hWinPosInfo: HDWP; hWnd: HWND; hWndInsertAfter: HWND; x: INTEGER; y: INTEGER; cx: INTEGER; cy: INTEGER; uFlags: SET): HDWP;
	(*END DeferWindowPos;*)

	PROCEDURE EndDeferWindowPos* ["USER32.dll", ""] (hWinPosInfo: HDWP): BOOL;
	(*END EndDeferWindowPos;*)

	PROCEDURE IsWindowVisible* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END IsWindowVisible;*)

	PROCEDURE IsIconic* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END IsIconic;*)

	PROCEDURE AnyPopup* ["USER32.dll", ""] (): BOOL;
	(*END AnyPopup;*)

	PROCEDURE BringWindowToTop* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END BringWindowToTop;*)

	PROCEDURE IsZoomed* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END IsZoomed;*)

	PROCEDURE CreateDialogParamA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpTemplateName: PtrSTR; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): HWND;
	(*END CreateDialogParamA;*)

	PROCEDURE CreateDialogParamW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpTemplateName: PtrWSTR; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): HWND;
	(*END CreateDialogParamW;*)

	PROCEDURE CreateDialogParam* ["USER32.dll", "CreateDialogParamA"] (hInstance: HINSTANCE; lpTemplateName: PtrSTR; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): HWND;
	(*END CreateDialogParam;*)

	PROCEDURE CreateDialogIndirectParamA* ["USER32.dll", ""] (hInstance: HINSTANCE; VAR [nil] lpTemplate: DLGTEMPLATE; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): HWND;
	(*END CreateDialogIndirectParamA;*)

	PROCEDURE CreateDialogIndirectParamW* ["USER32.dll", ""] (hInstance: HINSTANCE; VAR [nil] lpTemplate: DLGTEMPLATE; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): HWND;
	(*END CreateDialogIndirectParamW;*)

	PROCEDURE CreateDialogIndirectParam* ["USER32.dll", "CreateDialogIndirectParamA"] (hInstance: HINSTANCE; VAR [nil] lpTemplate: DLGTEMPLATE; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): HWND;
	(*END CreateDialogIndirectParam;*)

	PROCEDURE DialogBoxParamA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpTemplateName: PtrSTR; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): INTEGER;
	(*END DialogBoxParamA;*)

	PROCEDURE DialogBoxParamW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpTemplateName: PtrWSTR; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): INTEGER;
	(*END DialogBoxParamW;*)

	PROCEDURE DialogBoxParam* ["USER32.dll", "DialogBoxParamA"] (hInstance: HINSTANCE; lpTemplateName: PtrSTR; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): INTEGER;
	(*END DialogBoxParam;*)

	PROCEDURE DialogBoxIndirectParamA* ["USER32.dll", ""] (hInstance: HINSTANCE; VAR [nil] hDialogTemplate: DLGTEMPLATE; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): INTEGER;
	(*END DialogBoxIndirectParamA;*)

	PROCEDURE DialogBoxIndirectParamW* ["USER32.dll", ""] (hInstance: HINSTANCE; VAR [nil] hDialogTemplate: DLGTEMPLATE; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): INTEGER;
	(*END DialogBoxIndirectParamW;*)

	PROCEDURE DialogBoxIndirectParam* ["USER32.dll", "DialogBoxIndirectParamA"] (hInstance: HINSTANCE; VAR [nil] hDialogTemplate: DLGTEMPLATE; hWndParent: HWND; lpDialogFunc: DLGPROC; dwInitParam: LPARAM): INTEGER;
	(*END DialogBoxIndirectParam;*)

	PROCEDURE EndDialog* ["USER32.dll", ""] (hDlg: HWND; nResult: INTEGER): BOOL;
	(*END EndDialog;*)

	PROCEDURE GetDlgItem* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER): HWND;
	(*END GetDlgItem;*)

	PROCEDURE SetDlgItemInt* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; uValue: INTEGER; bSigned: BOOL): BOOL;
	(*END SetDlgItemInt;*)

	PROCEDURE GetDlgItemInt* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; VAR [nil] lpTranslated: BOOL; bSigned: BOOL): INTEGER;
	(*END GetDlgItemInt;*)

	PROCEDURE SetDlgItemTextA* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; lpString: PtrSTR): BOOL;
	(*END SetDlgItemTextA;*)

	PROCEDURE SetDlgItemTextW* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; lpString: PtrWSTR): BOOL;
	(*END SetDlgItemTextW;*)

	PROCEDURE SetDlgItemText* ["USER32.dll", "SetDlgItemTextA"] (hDlg: HWND; nIDDlgItem: INTEGER; lpString: PtrSTR): BOOL;
	(*END SetDlgItemText;*)

	PROCEDURE GetDlgItemTextA* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; lpString: PtrSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetDlgItemTextA;*)

	PROCEDURE GetDlgItemTextW* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; lpString: PtrWSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetDlgItemTextW;*)

	PROCEDURE GetDlgItemText* ["USER32.dll", "GetDlgItemTextA"] (hDlg: HWND; nIDDlgItem: INTEGER; lpString: PtrSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetDlgItemText;*)

	PROCEDURE CheckDlgButton* ["USER32.dll", ""] (hDlg: HWND; nIDButton: INTEGER; uCheck: SET): BOOL;
	(*END CheckDlgButton;*)

	PROCEDURE CheckRadioButton* ["USER32.dll", ""] (hDlg: HWND; nIDFirstButton: INTEGER; nIDLastButton: INTEGER; nIDCheckButton: INTEGER): BOOL;
	(*END CheckRadioButton;*)

	PROCEDURE IsDlgButtonChecked* ["USER32.dll", ""] (hDlg: HWND; nIDButton: INTEGER): INTEGER;
	(*END IsDlgButtonChecked;*)

	PROCEDURE SendDlgItemMessageA* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): INTEGER;
	(*END SendDlgItemMessageA;*)

	PROCEDURE SendDlgItemMessageW* ["USER32.dll", ""] (hDlg: HWND; nIDDlgItem: INTEGER; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): INTEGER;
	(*END SendDlgItemMessageW;*)

	PROCEDURE SendDlgItemMessage* ["USER32.dll", "SendDlgItemMessageA"] (hDlg: HWND; nIDDlgItem: INTEGER; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): INTEGER;
	(*END SendDlgItemMessage;*)

	PROCEDURE GetNextDlgGroupItem* ["USER32.dll", ""] (hDlg: HWND; hCtl: HWND; bPrevious: BOOL): HWND;
	(*END GetNextDlgGroupItem;*)

	PROCEDURE GetNextDlgTabItem* ["USER32.dll", ""] (hDlg: HWND; hCtl: HWND; bPrevious: BOOL): HWND;
	(*END GetNextDlgTabItem;*)

	PROCEDURE GetDlgCtrlID* ["USER32.dll", ""] (hWnd: HWND): INTEGER;
	(*END GetDlgCtrlID;*)

	PROCEDURE GetDialogBaseUnits* ["USER32.dll", ""] (): INTEGER;
	(*END GetDialogBaseUnits;*)

	PROCEDURE DefDlgProcA* ["USER32.dll", ""] (hDlg: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefDlgProcA;*)

	PROCEDURE DefDlgProcW* ["USER32.dll", ""] (hDlg: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefDlgProcW;*)

	PROCEDURE DefDlgProc* ["USER32.dll", "DefDlgProcA"] (hDlg: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefDlgProc;*)

	PROCEDURE CallMsgFilterA* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG; nCode: INTEGER): BOOL;
	(*END CallMsgFilterA;*)

	PROCEDURE CallMsgFilterW* ["USER32.dll", ""] (VAR [nil] lpMsg: MSG; nCode: INTEGER): BOOL;
	(*END CallMsgFilterW;*)

	PROCEDURE CallMsgFilter* ["USER32.dll", "CallMsgFilterA"] (VAR [nil] lpMsg: MSG; nCode: INTEGER): BOOL;
	(*END CallMsgFilter;*)

	PROCEDURE OpenClipboard* ["USER32.dll", ""] (hWndNewOwner: HWND): BOOL;
	(*END OpenClipboard;*)

	PROCEDURE CloseClipboard* ["USER32.dll", ""] (): BOOL;
	(*END CloseClipboard;*)

	PROCEDURE GetClipboardOwner* ["USER32.dll", ""] (): HWND;
	(*END GetClipboardOwner;*)

	PROCEDURE SetClipboardViewer* ["USER32.dll", ""] (hWndNewViewer: HWND): HWND;
	(*END SetClipboardViewer;*)

	PROCEDURE GetClipboardViewer* ["USER32.dll", ""] (): HWND;
	(*END GetClipboardViewer;*)

	PROCEDURE ChangeClipboardChain* ["USER32.dll", ""] (hWndRemove: HWND; hWndNewNext: HWND): BOOL;
	(*END ChangeClipboardChain;*)

	PROCEDURE SetClipboardData* ["USER32.dll", ""] (uFormat: INTEGER; hMem: HANDLE): HANDLE;
	(*END SetClipboardData;*)

	PROCEDURE GetClipboardData* ["USER32.dll", ""] (uFormat: INTEGER): HANDLE;
	(*END GetClipboardData;*)

	PROCEDURE RegisterClipboardFormatA* ["USER32.dll", ""] (lpszFormat: PtrSTR): INTEGER;
	(*END RegisterClipboardFormatA;*)

	PROCEDURE RegisterClipboardFormatW* ["USER32.dll", ""] (lpszFormat: PtrWSTR): INTEGER;
	(*END RegisterClipboardFormatW;*)

	PROCEDURE RegisterClipboardFormat* ["USER32.dll", "RegisterClipboardFormatA"] (lpszFormat: PtrSTR): INTEGER;
	(*END RegisterClipboardFormat;*)

	PROCEDURE CountClipboardFormats* ["USER32.dll", ""] (): INTEGER;
	(*END CountClipboardFormats;*)

	PROCEDURE EnumClipboardFormats* ["USER32.dll", ""] (format: INTEGER): INTEGER;
	(*END EnumClipboardFormats;*)

	PROCEDURE GetClipboardFormatNameA* ["USER32.dll", ""] (format: INTEGER; lpszFormatName: PtrSTR; cchMaxCount: INTEGER): INTEGER;
	(*END GetClipboardFormatNameA;*)

	PROCEDURE GetClipboardFormatNameW* ["USER32.dll", ""] (format: INTEGER; lpszFormatName: PtrWSTR; cchMaxCount: INTEGER): INTEGER;
	(*END GetClipboardFormatNameW;*)

	PROCEDURE GetClipboardFormatName* ["USER32.dll", "GetClipboardFormatNameA"] (format: INTEGER; lpszFormatName: PtrSTR; cchMaxCount: INTEGER): INTEGER;
	(*END GetClipboardFormatName;*)

	PROCEDURE EmptyClipboard* ["USER32.dll", ""] (): BOOL;
	(*END EmptyClipboard;*)

	PROCEDURE IsClipboardFormatAvailable* ["USER32.dll", ""] (format: INTEGER): BOOL;
	(*END IsClipboardFormatAvailable;*)

	PROCEDURE GetPriorityClipboardFormat* ["USER32.dll", ""] (VAR [nil] paFormatPriorityList: INTEGER; cFormats: INTEGER): INTEGER;
	(*END GetPriorityClipboardFormat;*)

	PROCEDURE GetOpenClipboardWindow* ["USER32.dll", ""] (): HWND;
	(*END GetOpenClipboardWindow;*)

	PROCEDURE CharToOemA* ["USER32.dll", ""] (lpszSrc: PtrSTR; lpszDst: PtrSTR): BOOL;
	(*END CharToOemA;*)

	PROCEDURE CharToOemW* ["USER32.dll", ""] (lpszSrc: PtrWSTR; lpszDst: PtrSTR): BOOL;
	(*END CharToOemW;*)

	PROCEDURE CharToOem* ["USER32.dll", "CharToOemA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR): BOOL;
	(*END CharToOem;*)

	PROCEDURE OemToCharA* ["USER32.dll", ""] (lpszSrc: PtrSTR; lpszDst: PtrSTR): BOOL;
	(*END OemToCharA;*)

	PROCEDURE OemToCharW* ["USER32.dll", ""] (lpszSrc: PtrSTR; lpszDst: PtrWSTR): BOOL;
	(*END OemToCharW;*)

	PROCEDURE OemToChar* ["USER32.dll", "OemToCharA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR): BOOL;
	(*END OemToChar;*)

	PROCEDURE CharToOemBuffA* ["USER32.dll", ""] (lpszSrc: PtrSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END CharToOemBuffA;*)

	PROCEDURE CharToOemBuffW* ["USER32.dll", ""] (lpszSrc: PtrWSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END CharToOemBuffW;*)

	PROCEDURE CharToOemBuff* ["USER32.dll", "CharToOemBuffA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END CharToOemBuff;*)

	PROCEDURE OemToCharBuffA* ["USER32.dll", ""] (lpszSrc: PtrSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END OemToCharBuffA;*)

	PROCEDURE OemToCharBuffW* ["USER32.dll", ""] (lpszSrc: PtrSTR; lpszDst: PtrWSTR; cchDstLength: INTEGER): BOOL;
	(*END OemToCharBuffW;*)

	PROCEDURE OemToCharBuff* ["USER32.dll", "OemToCharBuffA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END OemToCharBuff;*)

	PROCEDURE CharUpperA* ["USER32.dll", ""] (lpsz: PtrSTR): PtrSTR;
	(*END CharUpperA;*)

	PROCEDURE CharUpperW* ["USER32.dll", ""] (lpsz: PtrWSTR): PtrWSTR;
	(*END CharUpperW;*)

	PROCEDURE CharUpper* ["USER32.dll", "CharUpperA"] (lpsz: PtrSTR): PtrSTR;
	(*END CharUpper;*)

	PROCEDURE CharUpperBuffA* ["USER32.dll", ""] (lpsz: PtrSTR; cchLength: INTEGER): INTEGER;
	(*END CharUpperBuffA;*)

	PROCEDURE CharUpperBuffW* ["USER32.dll", ""] (lpsz: PtrWSTR; cchLength: INTEGER): INTEGER;
	(*END CharUpperBuffW;*)

	PROCEDURE CharUpperBuff* ["USER32.dll", "CharUpperBuffA"] (lpsz: PtrSTR; cchLength: INTEGER): INTEGER;
	(*END CharUpperBuff;*)

	PROCEDURE CharLowerA* ["USER32.dll", ""] (lpsz: PtrSTR): PtrSTR;
	(*END CharLowerA;*)

	PROCEDURE CharLowerW* ["USER32.dll", ""] (lpsz: PtrWSTR): PtrWSTR;
	(*END CharLowerW;*)

	PROCEDURE CharLower* ["USER32.dll", "CharLowerA"] (lpsz: PtrSTR): PtrSTR;
	(*END CharLower;*)

	PROCEDURE CharLowerBuffA* ["USER32.dll", ""] (lpsz: PtrSTR; cchLength: INTEGER): INTEGER;
	(*END CharLowerBuffA;*)

	PROCEDURE CharLowerBuffW* ["USER32.dll", ""] (lpsz: PtrWSTR; cchLength: INTEGER): INTEGER;
	(*END CharLowerBuffW;*)

	PROCEDURE CharLowerBuff* ["USER32.dll", "CharLowerBuffA"] (lpsz: PtrSTR; cchLength: INTEGER): INTEGER;
	(*END CharLowerBuff;*)

	PROCEDURE CharNextA* ["USER32.dll", ""] (lpsz: PtrSTR): PtrSTR;
	(*END CharNextA;*)

	PROCEDURE CharNextW* ["USER32.dll", ""] (lpsz: PtrWSTR): PtrWSTR;
	(*END CharNextW;*)

	PROCEDURE CharNext* ["USER32.dll", "CharNextA"] (lpsz: PtrSTR): PtrSTR;
	(*END CharNext;*)

	PROCEDURE CharPrevA* ["USER32.dll", ""] (lpszStart: PtrSTR; lpszCurrent: PtrSTR): PtrSTR;
	(*END CharPrevA;*)

	PROCEDURE CharPrevW* ["USER32.dll", ""] (lpszStart: PtrWSTR; lpszCurrent: PtrWSTR): PtrWSTR;
	(*END CharPrevW;*)

	PROCEDURE CharPrev* ["USER32.dll", "CharPrevA"] (lpszStart: PtrSTR; lpszCurrent: PtrSTR): PtrSTR;
	(*END CharPrev;*)

	PROCEDURE CharNextExA* ["USER32.dll", ""] (CodePage: SHORTINT; lpCurrentChar: PtrSTR; dwFlags: SET): PtrSTR;
	(*END CharNextExA;*)

	PROCEDURE CharPrevExA* ["USER32.dll", ""] (CodePage: SHORTINT; lpStart: PtrSTR; lpCurrentChar: PtrSTR; dwFlags: SET): PtrSTR;
	(*END CharPrevExA;*)

	PROCEDURE AnsiToOem* ["USER32.dll", "CharToOemA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR): BOOL;
	(*END AnsiToOem;*)

	PROCEDURE OemToAnsi* ["USER32.dll", "OemToCharA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR): BOOL;
	(*END OemToAnsi;*)

	PROCEDURE AnsiToOemBuff* ["USER32.dll", "CharToOemBuffA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END AnsiToOemBuff;*)

	PROCEDURE OemToAnsiBuff* ["USER32.dll", "OemToCharBuffA"] (lpszSrc: PtrSTR; lpszDst: PtrSTR; cchDstLength: INTEGER): BOOL;
	(*END OemToAnsiBuff;*)

	PROCEDURE AnsiUpper* ["USER32.dll", "CharUpperA"] (lpsz: PtrSTR): PtrSTR;
	(*END AnsiUpper;*)

	PROCEDURE AnsiUpperBuff* ["USER32.dll", "CharUpperBuffA"] (lpsz: PtrSTR; cchLength: INTEGER): INTEGER;
	(*END AnsiUpperBuff;*)

	PROCEDURE AnsiLower* ["USER32.dll", "CharLowerA"] (lpsz: PtrSTR): PtrSTR;
	(*END AnsiLower;*)

	PROCEDURE AnsiLowerBuff* ["USER32.dll", "CharLowerBuffA"] (lpsz: PtrSTR; cchLength: INTEGER): INTEGER;
	(*END AnsiLowerBuff;*)

	PROCEDURE AnsiNext* ["USER32.dll", "CharNextA"] (lpsz: PtrSTR): PtrSTR;
	(*END AnsiNext;*)

	PROCEDURE AnsiPrev* ["USER32.dll", "CharPrevA"] (lpszStart: PtrSTR; lpszCurrent: PtrSTR): PtrSTR;
	(*END AnsiPrev;*)

	PROCEDURE IsCharAlphaA* ["USER32.dll", ""] (ch: SHORTCHAR): BOOL;
	(*END IsCharAlphaA;*)

	PROCEDURE IsCharAlphaW* ["USER32.dll", ""] (ch: CHAR): BOOL;
	(*END IsCharAlphaW;*)

	PROCEDURE IsCharAlpha* ["USER32.dll", "IsCharAlphaA"] (ch: SHORTCHAR): BOOL;
	(*END IsCharAlpha;*)

	PROCEDURE IsCharAlphaNumericA* ["USER32.dll", ""] (ch: SHORTCHAR): BOOL;
	(*END IsCharAlphaNumericA;*)

	PROCEDURE IsCharAlphaNumericW* ["USER32.dll", ""] (ch: CHAR): BOOL;
	(*END IsCharAlphaNumericW;*)

	PROCEDURE IsCharAlphaNumeric* ["USER32.dll", "IsCharAlphaNumericA"] (ch: SHORTCHAR): BOOL;
	(*END IsCharAlphaNumeric;*)

	PROCEDURE IsCharUpperA* ["USER32.dll", ""] (ch: SHORTCHAR): BOOL;
	(*END IsCharUpperA;*)

	PROCEDURE IsCharUpperW* ["USER32.dll", ""] (ch: CHAR): BOOL;
	(*END IsCharUpperW;*)

	PROCEDURE IsCharUpper* ["USER32.dll", "IsCharUpperA"] (ch: SHORTCHAR): BOOL;
	(*END IsCharUpper;*)

	PROCEDURE IsCharLowerA* ["USER32.dll", ""] (ch: SHORTCHAR): BOOL;
	(*END IsCharLowerA;*)

	PROCEDURE IsCharLowerW* ["USER32.dll", ""] (ch: CHAR): BOOL;
	(*END IsCharLowerW;*)

	PROCEDURE IsCharLower* ["USER32.dll", "IsCharLowerA"] (ch: SHORTCHAR): BOOL;
	(*END IsCharLower;*)

	PROCEDURE SetFocus* ["USER32.dll", ""] (hWnd: HWND): HWND;
	(*END SetFocus;*)

	PROCEDURE GetActiveWindow* ["USER32.dll", ""] (): HWND;
	(*END GetActiveWindow;*)

	PROCEDURE GetFocus* ["USER32.dll", ""] (): HWND;
	(*END GetFocus;*)

	PROCEDURE GetKBCodePage* ["USER32.dll", ""] (): INTEGER;
	(*END GetKBCodePage;*)

	PROCEDURE GetKeyState* ["USER32.dll", ""] (nVirtKey: INTEGER): SHORTINT;
	(*END GetKeyState;*)

	PROCEDURE GetAsyncKeyState* ["USER32.dll", ""] (vKey: INTEGER): SHORTINT;
	(*END GetAsyncKeyState;*)

	PROCEDURE GetKeyboardState* ["USER32.dll", ""] (VAR [nil] lpKeyState: SHORTCHAR): BOOL;
	(*END GetKeyboardState;*)

	PROCEDURE SetKeyboardState* ["USER32.dll", ""] (VAR [nil] lpKeyState: SHORTCHAR): BOOL;
	(*END SetKeyboardState;*)

	PROCEDURE GetKeyNameTextA* ["USER32.dll", ""] (lParam: INTEGER; lpString: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetKeyNameTextA;*)

	PROCEDURE GetKeyNameTextW* ["USER32.dll", ""] (lParam: INTEGER; lpString: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetKeyNameTextW;*)

	PROCEDURE GetKeyNameText* ["USER32.dll", "GetKeyNameTextA"] (lParam: INTEGER; lpString: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetKeyNameText;*)

	PROCEDURE GetKeyboardType* ["USER32.dll", ""] (nTypeFlag: INTEGER): INTEGER;
	(*END GetKeyboardType;*)

	PROCEDURE ToAscii* ["USER32.dll", ""] (uVirtKey: INTEGER; uScanCode: INTEGER; VAR [nil] lpKeyState: SHORTCHAR; VAR [nil] lpChar: SHORTINT; uFlags: SET): INTEGER;
	(*END ToAscii;*)

	PROCEDURE ToAsciiEx* ["USER32.dll", ""] (uVirtKey: INTEGER; uScanCode: INTEGER; VAR [nil] lpKeyState: SHORTCHAR; VAR [nil] lpChar: SHORTINT; uFlags: SET; dwhkl: HKL): INTEGER;
	(*END ToAsciiEx;*)

	PROCEDURE ToUnicode* ["USER32.dll", ""] (wVirtKey: INTEGER; wScanCode: INTEGER; VAR [nil] lpKeyState: SHORTCHAR; pwszBuff: PtrWSTR; cchBuff: INTEGER; wFlags: INTEGER): INTEGER;
	(*END ToUnicode;*)

	PROCEDURE OemKeyScan* ["USER32.dll", ""] (wOemChar: SHORTINT): INTEGER;
	(*END OemKeyScan;*)

	PROCEDURE VkKeyScanA* ["USER32.dll", ""] (ch: SHORTCHAR): SHORTINT;
	(*END VkKeyScanA;*)

	PROCEDURE VkKeyScanW* ["USER32.dll", ""] (ch: CHAR): SHORTINT;
	(*END VkKeyScanW;*)

	PROCEDURE VkKeyScan* ["USER32.dll", "VkKeyScanA"] (ch: SHORTCHAR): SHORTINT;
	(*END VkKeyScan;*)

	PROCEDURE VkKeyScanExA* ["USER32.dll", ""] (ch: SHORTCHAR; dwhkl: HKL): SHORTINT;
	(*END VkKeyScanExA;*)

	PROCEDURE VkKeyScanExW* ["USER32.dll", ""] (ch: CHAR; dwhkl: HKL): SHORTINT;
	(*END VkKeyScanExW;*)

	PROCEDURE VkKeyScanEx* ["USER32.dll", "VkKeyScanExA"] (ch: SHORTCHAR; dwhkl: HKL): SHORTINT;
	(*END VkKeyScanEx;*)

	PROCEDURE keybd_event* ["USER32.dll", ""] (bVk: SHORTCHAR; bScan: SHORTCHAR; dwFlags: SET; dwExtraInfo: INTEGER);
	(*END keybd_event;*)

	PROCEDURE mouse_event* ["USER32.dll", ""] (dwFlags: SET; dx: INTEGER; dy: INTEGER; cButtons: INTEGER; dwExtraInfo: INTEGER);
	(*END mouse_event;*)

	PROCEDURE MapVirtualKeyA* ["USER32.dll", ""] (uCode: INTEGER; uMapType: INTEGER): INTEGER;
	(*END MapVirtualKeyA;*)

	PROCEDURE MapVirtualKeyW* ["USER32.dll", ""] (uCode: INTEGER; uMapType: INTEGER): INTEGER;
	(*END MapVirtualKeyW;*)

	PROCEDURE MapVirtualKey* ["USER32.dll", "MapVirtualKeyA"] (uCode: INTEGER; uMapType: INTEGER): INTEGER;
	(*END MapVirtualKey;*)

	PROCEDURE MapVirtualKeyExA* ["USER32.dll", ""] (uCode: INTEGER; uMapType: INTEGER; dwhkl: HKL): INTEGER;
	(*END MapVirtualKeyExA;*)

	PROCEDURE MapVirtualKeyExW* ["USER32.dll", ""] (uCode: INTEGER; uMapType: INTEGER; dwhkl: HKL): INTEGER;
	(*END MapVirtualKeyExW;*)

	PROCEDURE MapVirtualKeyEx* ["USER32.dll", "MapVirtualKeyExA"] (uCode: INTEGER; uMapType: INTEGER; dwhkl: HKL): INTEGER;
	(*END MapVirtualKeyEx;*)

	PROCEDURE GetInputState* ["USER32.dll", ""] (): BOOL;
	(*END GetInputState;*)

	PROCEDURE GetQueueStatus* ["USER32.dll", ""] (flags: SET): INTEGER;
	(*END GetQueueStatus;*)

	PROCEDURE GetCapture* ["USER32.dll", ""] (): HWND;
	(*END GetCapture;*)

	PROCEDURE SetCapture* ["USER32.dll", ""] (hWnd: HWND): HWND;
	(*END SetCapture;*)

	PROCEDURE ReleaseCapture* ["USER32.dll", ""] (): BOOL;
	(*END ReleaseCapture;*)

	PROCEDURE MsgWaitForMultipleObjects* ["USER32.dll", ""] (nCount: INTEGER; VAR [nil] pHandles: HANDLE; fWaitAll: BOOL; dwMilliseconds: INTEGER; dwWakeMask: INTEGER): INTEGER;
	(*END MsgWaitForMultipleObjects;*)

	PROCEDURE MsgWaitForMultipleObjectsEx* ["USER32.dll", ""] (nCount: INTEGER; VAR [nil] pHandles: HANDLE; dwMilliseconds: INTEGER; dwWakeMask: INTEGER; dwFlags: SET): INTEGER;
	(*END MsgWaitForMultipleObjectsEx;*)

	PROCEDURE SetTimer* ["USER32.dll", ""] (hWnd: HWND; nIDEvent: INTEGER; uElapse: INTEGER; lpTimerFunc: TIMERPROC): INTEGER;
	(*END SetTimer;*)

	PROCEDURE KillTimer* ["USER32.dll", ""] (hWnd: HWND; uIDEvent: INTEGER): BOOL;
	(*END KillTimer;*)

	PROCEDURE IsWindowUnicode* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END IsWindowUnicode;*)

	PROCEDURE EnableWindow* ["USER32.dll", ""] (hWnd: HWND; bEnable: BOOL): BOOL;
	(*END EnableWindow;*)

	PROCEDURE IsWindowEnabled* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END IsWindowEnabled;*)

	PROCEDURE LoadAcceleratorsA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpTableName: PtrSTR): HACCEL;
	(*END LoadAcceleratorsA;*)

	PROCEDURE LoadAcceleratorsW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpTableName: PtrWSTR): HACCEL;
	(*END LoadAcceleratorsW;*)

	PROCEDURE LoadAccelerators* ["USER32.dll", "LoadAcceleratorsA"] (hInstance: HINSTANCE; lpTableName: PtrSTR): HACCEL;
	(*END LoadAccelerators;*)

	PROCEDURE CreateAcceleratorTableA* ["USER32.dll", ""] (VAR [nil] p0: ACCEL; p1: INTEGER): HACCEL;
	(*END CreateAcceleratorTableA;*)

	PROCEDURE CreateAcceleratorTableW* ["USER32.dll", ""] (VAR [nil] p0: ACCEL; p1: INTEGER): HACCEL;
	(*END CreateAcceleratorTableW;*)

	PROCEDURE CreateAcceleratorTable* ["USER32.dll", "CreateAcceleratorTableA"] (VAR [nil] p0: ACCEL; p1: INTEGER): HACCEL;
	(*END CreateAcceleratorTable;*)

	PROCEDURE DestroyAcceleratorTable* ["USER32.dll", ""] (hAccel: HACCEL): BOOL;
	(*END DestroyAcceleratorTable;*)

	PROCEDURE CopyAcceleratorTableA* ["USER32.dll", ""] (hAccelSrc: HACCEL; VAR [nil] lpAccelDst: ACCEL; cAccelEntries: INTEGER): INTEGER;
	(*END CopyAcceleratorTableA;*)

	PROCEDURE CopyAcceleratorTableW* ["USER32.dll", ""] (hAccelSrc: HACCEL; VAR [nil] lpAccelDst: ACCEL; cAccelEntries: INTEGER): INTEGER;
	(*END CopyAcceleratorTableW;*)

	PROCEDURE CopyAcceleratorTable* ["USER32.dll", "CopyAcceleratorTableA"] (hAccelSrc: HACCEL; VAR [nil] lpAccelDst: ACCEL; cAccelEntries: INTEGER): INTEGER;
	(*END CopyAcceleratorTable;*)

	PROCEDURE TranslateAcceleratorA* ["USER32.dll", ""] (hWnd: HWND; hAccTable: HACCEL; VAR [nil] lpMsg: MSG): INTEGER;
	(*END TranslateAcceleratorA;*)

	PROCEDURE TranslateAcceleratorW* ["USER32.dll", ""] (hWnd: HWND; hAccTable: HACCEL; VAR [nil] lpMsg: MSG): INTEGER;
	(*END TranslateAcceleratorW;*)

	PROCEDURE TranslateAccelerator* ["USER32.dll", "TranslateAcceleratorA"] (hWnd: HWND; hAccTable: HACCEL; VAR [nil] lpMsg: MSG): INTEGER;
	(*END TranslateAccelerator;*)

	PROCEDURE GetSystemMetrics* ["USER32.dll", ""] (nIndex: INTEGER): INTEGER;
	(*END GetSystemMetrics;*)

	PROCEDURE LoadMenuA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpMenuName: PtrSTR): HMENU;
	(*END LoadMenuA;*)

	PROCEDURE LoadMenuW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpMenuName: PtrWSTR): HMENU;
	(*END LoadMenuW;*)

	PROCEDURE LoadMenu* ["USER32.dll", "LoadMenuA"] (hInstance: HINSTANCE; lpMenuName: PtrSTR): HMENU;
	(*END LoadMenu;*)

	PROCEDURE LoadMenuIndirectA* ["USER32.dll", ""] (lpMenuTemplate: PtrMENUTEMPLATEA): HMENU;
	(*END LoadMenuIndirectA;*)

	PROCEDURE LoadMenuIndirectW* ["USER32.dll", ""] (lpMenuTemplate: PtrMENUTEMPLATEW): HMENU;
	(*END LoadMenuIndirectW;*)

	PROCEDURE LoadMenuIndirect* ["USER32.dll", "LoadMenuIndirectA"] (lpMenuTemplate: PtrMENUTEMPLATEA): HMENU;
	(*END LoadMenuIndirect;*)

	PROCEDURE GetMenu* ["USER32.dll", ""] (hWnd: HWND): HMENU;
	(*END GetMenu;*)

	PROCEDURE SetMenu* ["USER32.dll", ""] (hWnd: HWND; hMenu: HMENU): BOOL;
	(*END SetMenu;*)

	PROCEDURE ChangeMenuA* ["USER32.dll", ""] (hMenu: HMENU; cmd: INTEGER; lpszNewItem: PtrSTR; cmdInsert: INTEGER; flags: SET): BOOL;
	(*END ChangeMenuA;*)

	PROCEDURE ChangeMenuW* ["USER32.dll", ""] (hMenu: HMENU; cmd: INTEGER; lpszNewItem: PtrWSTR; cmdInsert: INTEGER; flags: SET): BOOL;
	(*END ChangeMenuW;*)

	PROCEDURE ChangeMenu* ["USER32.dll", "ChangeMenuA"] (hMenu: HMENU; cmd: INTEGER; lpszNewItem: PtrSTR; cmdInsert: INTEGER; flags: SET): BOOL;
	(*END ChangeMenu;*)

	PROCEDURE HiliteMenuItem* ["USER32.dll", ""] (hWnd: HWND; hMenu: HMENU; uIDHiliteItem: INTEGER; uHilite: INTEGER): BOOL;
	(*END HiliteMenuItem;*)

	PROCEDURE GetMenuStringA* ["USER32.dll", ""] (hMenu: HMENU; uIDItem: INTEGER; lpString: PtrSTR; nMaxCount: INTEGER; uFlag: SET): INTEGER;
	(*END GetMenuStringA;*)

	PROCEDURE GetMenuStringW* ["USER32.dll", ""] (hMenu: HMENU; uIDItem: INTEGER; lpString: PtrWSTR; nMaxCount: INTEGER; uFlag: SET): INTEGER;
	(*END GetMenuStringW;*)

	PROCEDURE GetMenuString* ["USER32.dll", "GetMenuStringA"] (hMenu: HMENU; uIDItem: INTEGER; lpString: PtrSTR; nMaxCount: INTEGER; uFlag: SET): INTEGER;
	(*END GetMenuString;*)

	PROCEDURE GetMenuState* ["USER32.dll", ""] (hMenu: HMENU; uId: INTEGER; uFlags: SET): INTEGER;
	(*END GetMenuState;*)

	PROCEDURE DrawMenuBar* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END DrawMenuBar;*)

	PROCEDURE GetSystemMenu* ["USER32.dll", ""] (hWnd: HWND; bRevert: BOOL): HMENU;
	(*END GetSystemMenu;*)

	PROCEDURE CreateMenu* ["USER32.dll", ""] (): HMENU;
	(*END CreateMenu;*)

	PROCEDURE CreatePopupMenu* ["USER32.dll", ""] (): HMENU;
	(*END CreatePopupMenu;*)

	PROCEDURE DestroyMenu* ["USER32.dll", ""] (hMenu: HMENU): BOOL;
	(*END DestroyMenu;*)

	PROCEDURE CheckMenuItem* ["USER32.dll", ""] (hMenu: HMENU; uIDCheckItem: INTEGER; uCheck: SET): INTEGER;
	(*END CheckMenuItem;*)

	PROCEDURE EnableMenuItem* ["USER32.dll", ""] (hMenu: HMENU; uIDEnableItem: INTEGER; uEnable: SET): BOOL;
	(*END EnableMenuItem;*)

	PROCEDURE GetSubMenu* ["USER32.dll", ""] (hMenu: HMENU; nPos: INTEGER): HMENU;
	(*END GetSubMenu;*)

	PROCEDURE GetMenuItemID* ["USER32.dll", ""] (hMenu: HMENU; nPos: INTEGER): INTEGER;
	(*END GetMenuItemID;*)

	PROCEDURE GetMenuItemCount* ["USER32.dll", ""] (hMenu: HMENU): INTEGER;
	(*END GetMenuItemCount;*)

	PROCEDURE InsertMenuA* ["USER32.dll", ""] (hMenu: HMENU; uPosition: INTEGER; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrSTR): BOOL;
	(*END InsertMenuA;*)

	PROCEDURE InsertMenuW* ["USER32.dll", ""] (hMenu: HMENU; uPosition: INTEGER; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrWSTR): BOOL;
	(*END InsertMenuW;*)

	PROCEDURE InsertMenu* ["USER32.dll", "InsertMenuA"] (hMenu: HMENU; uPosition: INTEGER; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrSTR): BOOL;
	(*END InsertMenu;*)

	PROCEDURE AppendMenuA* ["USER32.dll", ""] (hMenu: HMENU; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrSTR): BOOL;
	(*END AppendMenuA;*)

	PROCEDURE AppendMenuW* ["USER32.dll", ""] (hMenu: HMENU; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrWSTR): BOOL;
	(*END AppendMenuW;*)

	PROCEDURE AppendMenu* ["USER32.dll", "AppendMenuA"] (hMenu: HMENU; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrSTR): BOOL;
	(*END AppendMenu;*)

	PROCEDURE ModifyMenuA* ["USER32.dll", ""] (hMnu: HMENU; uPosition: INTEGER; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrSTR): BOOL;
	(*END ModifyMenuA;*)

	PROCEDURE ModifyMenuW* ["USER32.dll", ""] (hMnu: HMENU; uPosition: INTEGER; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrWSTR): BOOL;
	(*END ModifyMenuW;*)

	PROCEDURE ModifyMenu* ["USER32.dll", "ModifyMenuA"] (hMnu: HMENU; uPosition: INTEGER; uFlags: SET; uIDNewItem: INTEGER; lpNewItem: PtrSTR): BOOL;
	(*END ModifyMenu;*)

	PROCEDURE RemoveMenu* ["USER32.dll", ""] (hMenu: HMENU; uPosition: INTEGER; uFlags: SET): BOOL;
	(*END RemoveMenu;*)

	PROCEDURE DeleteMenu* ["USER32.dll", ""] (hMenu: HMENU; uPosition: INTEGER; uFlags: SET): BOOL;
	(*END DeleteMenu;*)

	PROCEDURE SetMenuItemBitmaps* ["USER32.dll", ""] (hMenu: HMENU; uPosition: INTEGER; uFlags: SET; hBitmapUnchecked: HBITMAP; hBitmapChecked: HBITMAP): BOOL;
	(*END SetMenuItemBitmaps;*)

	PROCEDURE GetMenuCheckMarkDimensions* ["USER32.dll", ""] (): INTEGER;
	(*END GetMenuCheckMarkDimensions;*)

	PROCEDURE TrackPopupMenu* ["USER32.dll", ""] (hMenu: HMENU; uFlags: SET; x: INTEGER; y: INTEGER; nReserved: INTEGER; hWnd: HWND; VAR [nil] prcRect: RECT): BOOL;
	(*END TrackPopupMenu;*)

	PROCEDURE TrackPopupMenuEx* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: HWND; VAR [nil] p5: TPMPARAMS): BOOL;
	(*END TrackPopupMenuEx;*)

	PROCEDURE InsertMenuItemA* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOA): BOOL;
	(*END InsertMenuItemA;*)

	PROCEDURE InsertMenuItemW* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOW): BOOL;
	(*END InsertMenuItemW;*)

	PROCEDURE InsertMenuItem* ["USER32.dll", "InsertMenuItemA"] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOA): BOOL;
	(*END InsertMenuItem;*)

	PROCEDURE GetMenuItemInfoA* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOA): BOOL;
	(*END GetMenuItemInfoA;*)

	PROCEDURE GetMenuItemInfoW* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOW): BOOL;
	(*END GetMenuItemInfoW;*)

	PROCEDURE GetMenuItemInfo* ["USER32.dll", "GetMenuItemInfoA"] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOA): BOOL;
	(*END GetMenuItemInfo;*)

	PROCEDURE SetMenuItemInfoA* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOA): BOOL;
	(*END SetMenuItemInfoA;*)

	PROCEDURE SetMenuItemInfoW* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOW): BOOL;
	(*END SetMenuItemInfoW;*)

	PROCEDURE SetMenuItemInfo* ["USER32.dll", "SetMenuItemInfoA"] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOA): BOOL;
	(*END SetMenuItemInfo;*)

	PROCEDURE GetMenuDefaultItem* ["USER32.dll", ""] (hMenu: HMENU; fByPos: INTEGER; gmdiFlags: SET): INTEGER;
	(*END GetMenuDefaultItem;*)

	PROCEDURE SetMenuDefaultItem* ["USER32.dll", ""] (hMenu: HMENU; uItem: INTEGER; fByPos: INTEGER): BOOL;
	(*END SetMenuDefaultItem;*)

	PROCEDURE GetMenuItemRect* ["USER32.dll", ""] (hWnd: HWND; hMenu: HMENU; uItem: INTEGER; VAR [nil] lprcItem: RECT): BOOL;
	(*END GetMenuItemRect;*)

	PROCEDURE MenuItemFromPoint* ["USER32.dll", ""] (hWnd: HWND; hMenu: HMENU; ptScreen: POINT): INTEGER;
	(*END MenuItemFromPoint;*)

	PROCEDURE DragObject* ["USER32.dll", ""] (p0: HWND; p1: HWND; p2: INTEGER; p3: INTEGER; p4: HCURSOR): INTEGER;
	(*END DragObject;*)

	PROCEDURE DragDetect* ["USER32.dll", ""] (p0: HWND; p1: POINT): BOOL;
	(*END DragDetect;*)

	PROCEDURE DrawIcon* ["USER32.dll", ""] (hDC: HDC; X: INTEGER; Y: INTEGER; hIcon: HICON): BOOL;
	(*END DrawIcon;*)

	PROCEDURE DrawTextA* ["USER32.dll", ""] (hDC: HDC; lpString: PtrSTR; nCount: INTEGER; VAR [nil] lpRect: RECT; uFormat: SET): INTEGER;
	(*END DrawTextA;*)

	PROCEDURE DrawTextW* ["USER32.dll", ""] (hDC: HDC; lpString: PtrWSTR; nCount: INTEGER; VAR [nil] lpRect: RECT; uFormat: SET): INTEGER;
	(*END DrawTextW;*)

	PROCEDURE DrawText* ["USER32.dll", "DrawTextA"] (hDC: HDC; lpString: PtrSTR; nCount: INTEGER; VAR [nil] lpRect: RECT; uFormat: SET): INTEGER;
	(*END DrawText;*)

	PROCEDURE DrawTextExA* ["USER32.dll", ""] (p0: HDC; p1: PtrSTR; p2: INTEGER; VAR [nil] p3: RECT; p4: INTEGER; VAR [nil] p5: DRAWTEXTPARAMS): INTEGER;
	(*END DrawTextExA;*)

	PROCEDURE DrawTextExW* ["USER32.dll", ""] (p0: HDC; p1: PtrWSTR; p2: INTEGER; VAR [nil] p3: RECT; p4: INTEGER; VAR [nil] p5: DRAWTEXTPARAMS): INTEGER;
	(*END DrawTextExW;*)

	PROCEDURE DrawTextEx* ["USER32.dll", "DrawTextExA"] (p0: HDC; p1: PtrSTR; p2: INTEGER; VAR [nil] p3: RECT; p4: INTEGER; VAR [nil] p5: DRAWTEXTPARAMS): INTEGER;
	(*END DrawTextEx;*)

	PROCEDURE GrayStringA* ["USER32.dll", ""] (hDC: HDC; hBrush: HBRUSH; lpOutputFunc: GRAYSTRINGPROC; lpData: LPARAM; nCount: INTEGER; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER): BOOL;
	(*END GrayStringA;*)

	PROCEDURE GrayStringW* ["USER32.dll", ""] (hDC: HDC; hBrush: HBRUSH; lpOutputFunc: GRAYSTRINGPROC; lpData: LPARAM; nCount: INTEGER; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER): BOOL;
	(*END GrayStringW;*)

	PROCEDURE GrayString* ["USER32.dll", "GrayStringA"] (hDC: HDC; hBrush: HBRUSH; lpOutputFunc: GRAYSTRINGPROC; lpData: LPARAM; nCount: INTEGER; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER): BOOL;
	(*END GrayString;*)

	PROCEDURE DrawStateA* ["USER32.dll", ""] (p0: HDC; p1: HBRUSH; p2: DRAWSTATEPROC; p3: LPARAM; p4: WPARAM; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: SET): BOOL;
	(*END DrawStateA;*)

	PROCEDURE DrawStateW* ["USER32.dll", ""] (p0: HDC; p1: HBRUSH; p2: DRAWSTATEPROC; p3: LPARAM; p4: WPARAM; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: SET): BOOL;
	(*END DrawStateW;*)

	PROCEDURE DrawState* ["USER32.dll", "DrawStateA"] (p0: HDC; p1: HBRUSH; p2: DRAWSTATEPROC; p3: LPARAM; p4: WPARAM; p5: INTEGER; p6: INTEGER; p7: INTEGER; p8: INTEGER; p9: SET): BOOL;
	(*END DrawState;*)

	PROCEDURE TabbedTextOutA* ["USER32.dll", ""] (hDC: HDC; X: INTEGER; Y: INTEGER; lpString: PtrSTR; nCount: INTEGER; nTabPositions: INTEGER; VAR [nil] lpnTabStopPositions: INTEGER; nTabOrigin: INTEGER): INTEGER;
	(*END TabbedTextOutA;*)

	PROCEDURE TabbedTextOutW* ["USER32.dll", ""] (hDC: HDC; X: INTEGER; Y: INTEGER; lpString: PtrWSTR; nCount: INTEGER; nTabPositions: INTEGER; VAR [nil] lpnTabStopPositions: INTEGER; nTabOrigin: INTEGER): INTEGER;
	(*END TabbedTextOutW;*)

	PROCEDURE TabbedTextOut* ["USER32.dll", "TabbedTextOutA"] (hDC: HDC; X: INTEGER; Y: INTEGER; lpString: PtrSTR; nCount: INTEGER; nTabPositions: INTEGER; VAR [nil] lpnTabStopPositions: INTEGER; nTabOrigin: INTEGER): INTEGER;
	(*END TabbedTextOut;*)

	PROCEDURE GetTabbedTextExtentA* ["USER32.dll", ""] (hDC: HDC; lpString: PtrSTR; nCount: INTEGER; nTabPositions: INTEGER; VAR [nil] lpnTabStopPositions: INTEGER): INTEGER;
	(*END GetTabbedTextExtentA;*)

	PROCEDURE GetTabbedTextExtentW* ["USER32.dll", ""] (hDC: HDC; lpString: PtrWSTR; nCount: INTEGER; nTabPositions: INTEGER; VAR [nil] lpnTabStopPositions: INTEGER): INTEGER;
	(*END GetTabbedTextExtentW;*)

	PROCEDURE GetTabbedTextExtent* ["USER32.dll", "GetTabbedTextExtentA"] (hDC: HDC; lpString: PtrSTR; nCount: INTEGER; nTabPositions: INTEGER; VAR [nil] lpnTabStopPositions: INTEGER): INTEGER;
	(*END GetTabbedTextExtent;*)

	PROCEDURE UpdateWindow* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END UpdateWindow;*)

	PROCEDURE SetActiveWindow* ["USER32.dll", ""] (hWnd: HWND): HWND;
	(*END SetActiveWindow;*)

	PROCEDURE GetForegroundWindow* ["USER32.dll", ""] (): HWND;
	(*END GetForegroundWindow;*)

	PROCEDURE PaintDesktop* ["USER32.dll", ""] (hdc: HDC): BOOL;
	(*END PaintDesktop;*)

	PROCEDURE SetForegroundWindow* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END SetForegroundWindow;*)

	PROCEDURE WindowFromDC* ["USER32.dll", ""] (hDC: HDC): HWND;
	(*END WindowFromDC;*)

	PROCEDURE GetDC* ["USER32.dll", ""] (hWnd: HWND): HDC;
	(*END GetDC;*)

	PROCEDURE GetDCEx* ["USER32.dll", ""] (hWnd: HWND; hrgnClip: HRGN; flags: SET): HDC;
	(*END GetDCEx;*)

	PROCEDURE GetWindowDC* ["USER32.dll", ""] (hWnd: HWND): HDC;
	(*END GetWindowDC;*)

	PROCEDURE ReleaseDC* ["USER32.dll", ""] (hWnd: HWND; hDC: HDC): INTEGER;
	(*END ReleaseDC;*)

	PROCEDURE BeginPaint* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpPaint: PAINTSTRUCT): HDC;
	(*END BeginPaint;*)

	PROCEDURE EndPaint* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpPaint: PAINTSTRUCT): BOOL;
	(*END EndPaint;*)

	PROCEDURE GetUpdateRect* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpRect: RECT; bErase: BOOL): BOOL;
	(*END GetUpdateRect;*)

	PROCEDURE GetUpdateRgn* ["USER32.dll", ""] (hWnd: HWND; hRgn: HRGN; bErase: BOOL): INTEGER;
	(*END GetUpdateRgn;*)

	PROCEDURE SetWindowRgn* ["USER32.dll", ""] (hWnd: HWND; hRgn: HRGN; bRedraw: BOOL): INTEGER;
	(*END SetWindowRgn;*)

	PROCEDURE GetWindowRgn* ["USER32.dll", ""] (hWnd: HWND; hRgn: HRGN): INTEGER;
	(*END GetWindowRgn;*)

	PROCEDURE ExcludeUpdateRgn* ["USER32.dll", ""] (hDC: HDC; hWnd: HWND): INTEGER;
	(*END ExcludeUpdateRgn;*)

	PROCEDURE InvalidateRect* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpRect: RECT; bErase: BOOL): BOOL;
	(*END InvalidateRect;*)

	PROCEDURE ValidateRect* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpRect: RECT): BOOL;
	(*END ValidateRect;*)

	PROCEDURE InvalidateRgn* ["USER32.dll", ""] (hWnd: HWND; hRgn: HRGN; bErase: BOOL): BOOL;
	(*END InvalidateRgn;*)

	PROCEDURE ValidateRgn* ["USER32.dll", ""] (hWnd: HWND; hRgn: HRGN): BOOL;
	(*END ValidateRgn;*)

	PROCEDURE RedrawWindow* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lprcUpdate: RECT; hrgnUpdate: HRGN; flags: SET): BOOL;
	(*END RedrawWindow;*)

	PROCEDURE LockWindowUpdate* ["USER32.dll", ""] (hWndLock: HWND): BOOL;
	(*END LockWindowUpdate;*)

	PROCEDURE ScrollWindow* ["USER32.dll", ""] (hWnd: HWND; XAmount: INTEGER; YAmount: INTEGER; VAR [nil] lpRect: RECT; VAR [nil] lpClipRect: RECT): BOOL;
	(*END ScrollWindow;*)

	PROCEDURE ScrollDC* ["USER32.dll", ""] (hDC: HDC; dx: INTEGER; dy: INTEGER; VAR [nil] lprcScroll: RECT; VAR [nil] lprcClip: RECT; hrgnUpdate: HRGN; VAR [nil] lprcUpdate: RECT): BOOL;
	(*END ScrollDC;*)

	PROCEDURE ScrollWindowEx* ["USER32.dll", ""] (hWnd: HWND; dx: INTEGER; dy: INTEGER; VAR [nil] prcScroll: RECT; VAR [nil] prcClip: RECT; hrgnUpdate: HRGN; VAR [nil] prcUpdate: RECT; flags: SET): INTEGER;
	(*END ScrollWindowEx;*)

	PROCEDURE SetScrollPos* ["USER32.dll", ""] (hWnd: HWND; nBar: INTEGER; nPos: INTEGER; bRedraw: BOOL): INTEGER;
	(*END SetScrollPos;*)

	PROCEDURE GetScrollPos* ["USER32.dll", ""] (hWnd: HWND; nBar: INTEGER): INTEGER;
	(*END GetScrollPos;*)

	PROCEDURE SetScrollRange* ["USER32.dll", ""] (hWnd: HWND; nBar: INTEGER; nMinPos: INTEGER; nMaxPos: INTEGER; bRedraw: BOOL): BOOL;
	(*END SetScrollRange;*)

	PROCEDURE GetScrollRange* ["USER32.dll", ""] (hWnd: HWND; nBar: INTEGER; VAR [nil] lpMinPos: INTEGER; VAR [nil] lpMaxPos: INTEGER): BOOL;
	(*END GetScrollRange;*)

	PROCEDURE ShowScrollBar* ["USER32.dll", ""] (hWnd: HWND; wBar: INTEGER; bShow: BOOL): BOOL;
	(*END ShowScrollBar;*)

	PROCEDURE EnableScrollBar* ["USER32.dll", ""] (hWnd: HWND; wSBflags: INTEGER; wArrows: INTEGER): BOOL;
	(*END EnableScrollBar;*)

	PROCEDURE SetPropA* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrSTR; hData: HANDLE): BOOL;
	(*END SetPropA;*)

	PROCEDURE SetPropW* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrWSTR; hData: HANDLE): BOOL;
	(*END SetPropW;*)

	PROCEDURE SetProp* ["USER32.dll", "SetPropA"] (hWnd: HWND; lpString: PtrSTR; hData: HANDLE): BOOL;
	(*END SetProp;*)

	PROCEDURE GetPropA* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrSTR): HANDLE;
	(*END GetPropA;*)

	PROCEDURE GetPropW* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrWSTR): HANDLE;
	(*END GetPropW;*)

	PROCEDURE GetProp* ["USER32.dll", "GetPropA"] (hWnd: HWND; lpString: PtrSTR): HANDLE;
	(*END GetProp;*)

	PROCEDURE RemovePropA* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrSTR): HANDLE;
	(*END RemovePropA;*)

	PROCEDURE RemovePropW* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrWSTR): HANDLE;
	(*END RemovePropW;*)

	PROCEDURE RemoveProp* ["USER32.dll", "RemovePropA"] (hWnd: HWND; lpString: PtrSTR): HANDLE;
	(*END RemoveProp;*)

	PROCEDURE EnumPropsExA* ["USER32.dll", ""] (hWnd: HWND; lpEnumFunc: ROPENUMPROCEXA; lParam: LPARAM): INTEGER;
	(*END EnumPropsExA;*)

	PROCEDURE EnumPropsExW* ["USER32.dll", ""] (hWnd: HWND; lpEnumFunc: ROPENUMPROCEXW; lParam: LPARAM): INTEGER;
	(*END EnumPropsExW;*)

	PROCEDURE EnumPropsEx* ["USER32.dll", "EnumPropsExA"] (hWnd: HWND; lpEnumFunc: ROPENUMPROCEXA; lParam: LPARAM): INTEGER;
	(*END EnumPropsEx;*)

	PROCEDURE EnumPropsA* ["USER32.dll", ""] (hWnd: HWND; lpEnumFunc: ROPENUMPROCA): INTEGER;
	(*END EnumPropsA;*)

	PROCEDURE EnumPropsW* ["USER32.dll", ""] (hWnd: HWND; lpEnumFunc: ROPENUMPROCW): INTEGER;
	(*END EnumPropsW;*)

	PROCEDURE EnumProps* ["USER32.dll", "EnumPropsA"] (hWnd: HWND; lpEnumFunc: ROPENUMPROCA): INTEGER;
	(*END EnumProps;*)

	PROCEDURE SetWindowTextA* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrSTR): BOOL;
	(*END SetWindowTextA;*)

	PROCEDURE SetWindowTextW* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrWSTR): BOOL;
	(*END SetWindowTextW;*)

	PROCEDURE SetWindowText* ["USER32.dll", "SetWindowTextA"] (hWnd: HWND; lpString: PtrSTR): BOOL;
	(*END SetWindowText;*)

	PROCEDURE GetWindowTextA* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetWindowTextA;*)

	PROCEDURE GetWindowTextW* ["USER32.dll", ""] (hWnd: HWND; lpString: PtrWSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetWindowTextW;*)

	PROCEDURE GetWindowText* ["USER32.dll", "GetWindowTextA"] (hWnd: HWND; lpString: PtrSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetWindowText;*)

	PROCEDURE GetWindowTextLengthA* ["USER32.dll", ""] (hWnd: HWND): INTEGER;
	(*END GetWindowTextLengthA;*)

	PROCEDURE GetWindowTextLengthW* ["USER32.dll", ""] (hWnd: HWND): INTEGER;
	(*END GetWindowTextLengthW;*)

	PROCEDURE GetWindowTextLength* ["USER32.dll", "GetWindowTextLengthA"] (hWnd: HWND): INTEGER;
	(*END GetWindowTextLength;*)

	PROCEDURE GetClientRect* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpRect: RECT): BOOL;
	(*END GetClientRect;*)

	PROCEDURE GetWindowRect* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpRect: RECT): BOOL;
	(*END GetWindowRect;*)

	PROCEDURE AdjustWindowRect* ["USER32.dll", ""] (VAR [nil] lpRect: RECT; dwStyle: SET; bMenu: BOOL): BOOL;
	(*END AdjustWindowRect;*)

	PROCEDURE AdjustWindowRectEx* ["USER32.dll", ""] (VAR [nil] lpRect: RECT; dwStyle: SET; bMenu: BOOL; dwExStyle: SET): BOOL;
	(*END AdjustWindowRectEx;*)

	PROCEDURE SetWindowContextHelpId* ["USER32.dll", ""] (p0: HWND; p1: INTEGER): BOOL;
	(*END SetWindowContextHelpId;*)

	PROCEDURE GetWindowContextHelpId* ["USER32.dll", ""] (p0: HWND): INTEGER;
	(*END GetWindowContextHelpId;*)

	PROCEDURE SetMenuContextHelpId* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER): BOOL;
	(*END SetMenuContextHelpId;*)

	PROCEDURE GetMenuContextHelpId* ["USER32.dll", ""] (p0: HMENU): INTEGER;
	(*END GetMenuContextHelpId;*)

	PROCEDURE MessageBoxA* ["USER32.dll", ""] (hWnd: HWND; lpText: PtrSTR; lpCaption: PtrSTR; uType: SET): INTEGER;
	(*END MessageBoxA;*)

	PROCEDURE MessageBoxW* ["USER32.dll", ""] (hWnd: HWND; lpText: PtrWSTR; lpCaption: PtrWSTR; uType: SET): INTEGER;
	(*END MessageBoxW;*)

	PROCEDURE MessageBox* ["USER32.dll", "MessageBoxA"] (hWnd: HWND; lpText: PtrSTR; lpCaption: PtrSTR; uType: SET): INTEGER;
	(*END MessageBox;*)

	PROCEDURE MessageBoxExA* ["USER32.dll", ""] (hWnd: HWND; lpText: PtrSTR; lpCaption: PtrSTR; uType: SET; wLanguageId: SHORTINT): INTEGER;
	(*END MessageBoxExA;*)

	PROCEDURE MessageBoxExW* ["USER32.dll", ""] (hWnd: HWND; lpText: PtrWSTR; lpCaption: PtrWSTR; uType: SET; wLanguageId: SHORTINT): INTEGER;
	(*END MessageBoxExW;*)

	PROCEDURE MessageBoxEx* ["USER32.dll", "MessageBoxExA"] (hWnd: HWND; lpText: PtrSTR; lpCaption: PtrSTR; uType: SET; wLanguageId: SHORTINT): INTEGER;
	(*END MessageBoxEx;*)

	PROCEDURE MessageBoxIndirectA* ["USER32.dll", ""] (VAR [nil] p0: MSGBOXPARAMSA): INTEGER;
	(*END MessageBoxIndirectA;*)

	PROCEDURE MessageBoxIndirectW* ["USER32.dll", ""] (VAR [nil] p0: MSGBOXPARAMSW): INTEGER;
	(*END MessageBoxIndirectW;*)

	PROCEDURE MessageBoxIndirect* ["USER32.dll", "MessageBoxIndirectA"] (VAR [nil] p0: MSGBOXPARAMSA): INTEGER;
	(*END MessageBoxIndirect;*)

	PROCEDURE MessageBeep* ["USER32.dll", ""] (uType: SET): BOOL;
	(*END MessageBeep;*)

	PROCEDURE ShowCursor* ["USER32.dll", ""] (bShow: BOOL): INTEGER;
	(*END ShowCursor;*)

	PROCEDURE SetCursorPos* ["USER32.dll", ""] (X: INTEGER; Y: INTEGER): BOOL;
	(*END SetCursorPos;*)

	PROCEDURE SetCursor* ["USER32.dll", ""] (hCursor: HCURSOR): HCURSOR;
	(*END SetCursor;*)

	PROCEDURE GetCursorPos* ["USER32.dll", ""] (VAR [nil] lpPoint: POINT): BOOL;
	(*END GetCursorPos;*)

	PROCEDURE ClipCursor* ["USER32.dll", ""] (VAR [nil] lpRect: RECT): BOOL;
	(*END ClipCursor;*)

	PROCEDURE GetClipCursor* ["USER32.dll", ""] (VAR [nil] lpRect: RECT): BOOL;
	(*END GetClipCursor;*)

	PROCEDURE GetCursor* ["USER32.dll", ""] (): HCURSOR;
	(*END GetCursor;*)

	PROCEDURE CreateCaret* ["USER32.dll", ""] (hWnd: HWND; hBitmap: HBITMAP; nWidth: INTEGER; nHeight: INTEGER): BOOL;
	(*END CreateCaret;*)

	PROCEDURE GetCaretBlinkTime* ["USER32.dll", ""] (): INTEGER;
	(*END GetCaretBlinkTime;*)

	PROCEDURE SetCaretBlinkTime* ["USER32.dll", ""] (uMSeconds: INTEGER): BOOL;
	(*END SetCaretBlinkTime;*)

	PROCEDURE DestroyCaret* ["USER32.dll", ""] (): BOOL;
	(*END DestroyCaret;*)

	PROCEDURE HideCaret* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END HideCaret;*)

	PROCEDURE ShowCaret* ["USER32.dll", ""] (hWnd: HWND): BOOL;
	(*END ShowCaret;*)

	PROCEDURE SetCaretPos* ["USER32.dll", ""] (X: INTEGER; Y: INTEGER): BOOL;
	(*END SetCaretPos;*)

	PROCEDURE GetCaretPos* ["USER32.dll", ""] (VAR [nil] lpPoint: POINT): BOOL;
	(*END GetCaretPos;*)

	PROCEDURE ClientToScreen* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpPoint: POINT): BOOL;
	(*END ClientToScreen;*)

	PROCEDURE ScreenToClient* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpPoint: POINT): BOOL;
	(*END ScreenToClient;*)

	PROCEDURE MapWindowPoints* ["USER32.dll", ""] (hWndFrom: HWND; hWndTo: HWND; VAR [nil] lpPoints: POINT; cPoints: INTEGER): INTEGER;
	(*END MapWindowPoints;*)

	PROCEDURE WindowFromPoint* ["USER32.dll", ""] (Point: POINT): HWND;
	(*END WindowFromPoint;*)

	PROCEDURE ChildWindowFromPoint* ["USER32.dll", ""] (hWndParent: HWND; Point: POINT): HWND;
	(*END ChildWindowFromPoint;*)

	PROCEDURE ChildWindowFromPointEx* ["USER32.dll", ""] (p0: HWND; p1: POINT; p2: SET): HWND;
	(*END ChildWindowFromPointEx;*)

	PROCEDURE GetSysColor* ["USER32.dll", ""] (nIndex: INTEGER): INTEGER;
	(*END GetSysColor;*)

	PROCEDURE GetSysColorBrush* ["USER32.dll", ""] (nIndex: INTEGER): HBRUSH;
	(*END GetSysColorBrush;*)

	PROCEDURE SetSysColors* ["USER32.dll", ""] (cElements: INTEGER; VAR [nil] lpaElements: INTEGER; VAR [nil] lpaRgbValues: COLORREF): BOOL;
	(*END SetSysColors;*)

	PROCEDURE DrawFocusRect* ["USER32.dll", ""] (hDC: HDC; VAR [nil] lprc: RECT): BOOL;
	(*END DrawFocusRect;*)

	PROCEDURE FillRect* ["USER32.dll", ""] (hDC: HDC; VAR [nil] lprc: RECT; hbr: HBRUSH): INTEGER;
	(*END FillRect;*)

	PROCEDURE FrameRect* ["USER32.dll", ""] (hDC: HDC; VAR [nil] lprc: RECT; hbr: HBRUSH): INTEGER;
	(*END FrameRect;*)

	PROCEDURE InvertRect* ["USER32.dll", ""] (hDC: HDC; VAR [nil] lprc: RECT): BOOL;
	(*END InvertRect;*)

	PROCEDURE SetRect* ["USER32.dll", ""] (VAR [nil] lprc: RECT; xLeft: INTEGER; yTop: INTEGER; xRight: INTEGER; yBottom: INTEGER): BOOL;
	(*END SetRect;*)

	PROCEDURE SetRectEmpty* ["USER32.dll", ""] (VAR [nil] lprc: RECT): BOOL;
	(*END SetRectEmpty;*)

	PROCEDURE CopyRect* ["USER32.dll", ""] (VAR [nil] lprcDst: RECT; VAR [nil] lprcSrc: RECT): BOOL;
	(*END CopyRect;*)

	PROCEDURE InflateRect* ["USER32.dll", ""] (VAR [nil] lprc: RECT; dx: INTEGER; dy: INTEGER): BOOL;
	(*END InflateRect;*)

	PROCEDURE IntersectRect* ["USER32.dll", ""] (VAR [nil] lprcDst: RECT; VAR [nil] lprcSrc1: RECT; VAR [nil] lprcSrc2: RECT): BOOL;
	(*END IntersectRect;*)

	PROCEDURE UnionRect* ["USER32.dll", ""] (VAR [nil] lprcDst: RECT; VAR [nil] lprcSrc1: RECT; VAR [nil] lprcSrc2: RECT): BOOL;
	(*END UnionRect;*)

	PROCEDURE SubtractRect* ["USER32.dll", ""] (VAR [nil] lprcDst: RECT; VAR [nil] lprcSrc1: RECT; VAR [nil] lprcSrc2: RECT): BOOL;
	(*END SubtractRect;*)

	PROCEDURE OffsetRect* ["USER32.dll", ""] (VAR [nil] lprc: RECT; dx: INTEGER; dy: INTEGER): BOOL;
	(*END OffsetRect;*)

	PROCEDURE IsRectEmpty* ["USER32.dll", ""] (VAR [nil] lprc: RECT): BOOL;
	(*END IsRectEmpty;*)

	PROCEDURE EqualRect* ["USER32.dll", ""] (VAR [nil] lprc1: RECT; VAR [nil] lprc2: RECT): BOOL;
	(*END EqualRect;*)

	PROCEDURE PtInRect* ["USER32.dll", ""] (VAR [nil] lprc: RECT; pt: POINT): BOOL;
	(*END PtInRect;*)

	PROCEDURE GetWindowWord* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER): SHORTINT;
	(*END GetWindowWord;*)

	PROCEDURE SetWindowWord* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER; wNewWord: SHORTINT): SHORTINT;
	(*END SetWindowWord;*)

	PROCEDURE GetWindowLongA* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER): INTEGER;
	(*END GetWindowLongA;*)

	PROCEDURE GetWindowLongW* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER): INTEGER;
	(*END GetWindowLongW;*)

	PROCEDURE GetWindowLong* ["USER32.dll", "GetWindowLongA"] (hWnd: HWND; nIndex: INTEGER): INTEGER;
	(*END GetWindowLong;*)

	PROCEDURE SetWindowLongA* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER; dwNewLong: INTEGER): INTEGER;
	(*END SetWindowLongA;*)

	PROCEDURE SetWindowLongW* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER; dwNewLong: INTEGER): INTEGER;
	(*END SetWindowLongW;*)

	PROCEDURE SetWindowLong* ["USER32.dll", "SetWindowLongA"] (hWnd: HWND; nIndex: INTEGER; dwNewLong: INTEGER): INTEGER;
	(*END SetWindowLong;*)

	PROCEDURE GetClassWord* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER): SHORTINT;
	(*END GetClassWord;*)

	PROCEDURE SetClassWord* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER; wNewWord: SHORTINT): SHORTINT;
	(*END SetClassWord;*)

	PROCEDURE GetClassLongA* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER): INTEGER;
	(*END GetClassLongA;*)

	PROCEDURE GetClassLongW* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER): INTEGER;
	(*END GetClassLongW;*)

	PROCEDURE GetClassLong* ["USER32.dll", "GetClassLongA"] (hWnd: HWND; nIndex: INTEGER): INTEGER;
	(*END GetClassLong;*)

	PROCEDURE SetClassLongA* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER; dwNewLong: INTEGER): INTEGER;
	(*END SetClassLongA;*)

	PROCEDURE SetClassLongW* ["USER32.dll", ""] (hWnd: HWND; nIndex: INTEGER; dwNewLong: INTEGER): INTEGER;
	(*END SetClassLongW;*)

	PROCEDURE SetClassLong* ["USER32.dll", "SetClassLongA"] (hWnd: HWND; nIndex: INTEGER; dwNewLong: INTEGER): INTEGER;
	(*END SetClassLong;*)

	PROCEDURE GetDesktopWindow* ["USER32.dll", ""] (): HWND;
	(*END GetDesktopWindow;*)

	PROCEDURE GetParent* ["USER32.dll", ""] (hWnd: HWND): HWND;
	(*END GetParent;*)

	PROCEDURE SetParent* ["USER32.dll", ""] (hWndChild: HWND; hWndNewParent: HWND): HWND;
	(*END SetParent;*)

	PROCEDURE EnumChildWindows* ["USER32.dll", ""] (hWndParent: HWND; lpEnumFunc: WNDENUMPROC; lParam: LPARAM): BOOL;
	(*END EnumChildWindows;*)

	PROCEDURE FindWindowA* ["USER32.dll", ""] (lpClassName: PtrSTR; lpWindowName: PtrSTR): HWND;
	(*END FindWindowA;*)

	PROCEDURE FindWindowW* ["USER32.dll", ""] (lpClassName: PtrWSTR; lpWindowName: PtrWSTR): HWND;
	(*END FindWindowW;*)

	PROCEDURE FindWindow* ["USER32.dll", "FindWindowA"] (lpClassName: PtrSTR; lpWindowName: PtrSTR): HWND;
	(*END FindWindow;*)

	PROCEDURE FindWindowExA* ["USER32.dll", ""] (p0: HWND; p1: HWND; p2: PtrSTR; p3: PtrSTR): HWND;
	(*END FindWindowExA;*)

	PROCEDURE FindWindowExW* ["USER32.dll", ""] (p0: HWND; p1: HWND; p2: PtrWSTR; p3: PtrWSTR): HWND;
	(*END FindWindowExW;*)

	PROCEDURE FindWindowEx* ["USER32.dll", "FindWindowExA"] (p0: HWND; p1: HWND; p2: PtrSTR; p3: PtrSTR): HWND;
	(*END FindWindowEx;*)

	PROCEDURE EnumWindows* ["USER32.dll", ""] (lpEnumFunc: WNDENUMPROC; lParam: LPARAM): BOOL;
	(*END EnumWindows;*)

	PROCEDURE EnumThreadWindows* ["USER32.dll", ""] (dwThreadId: INTEGER; lpfn: WNDENUMPROC; lParam: LPARAM): BOOL;
	(*END EnumThreadWindows;*)

	PROCEDURE GetClassNameA* ["USER32.dll", ""] (hWnd: HWND; lpClassName: PtrSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetClassNameA;*)

	PROCEDURE GetClassNameW* ["USER32.dll", ""] (hWnd: HWND; lpClassName: PtrWSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetClassNameW;*)

	PROCEDURE GetClassName* ["USER32.dll", "GetClassNameA"] (hWnd: HWND; lpClassName: PtrSTR; nMaxCount: INTEGER): INTEGER;
	(*END GetClassName;*)

	PROCEDURE GetTopWindow* ["USER32.dll", ""] (hWnd: HWND): HWND;
	(*END GetTopWindow;*)

	PROCEDURE GetWindowThreadProcessId* ["USER32.dll", ""] (hWnd: HWND; VAR [nil] lpdwProcessId: INTEGER): INTEGER;
	(*END GetWindowThreadProcessId;*)

	PROCEDURE GetLastActivePopup* ["USER32.dll", ""] (hWnd: HWND): HWND;
	(*END GetLastActivePopup;*)

	PROCEDURE GetWindow* ["USER32.dll", ""] (hWnd: HWND; uCmd: INTEGER): HWND;
	(*END GetWindow;*)

	PROCEDURE SetWindowsHookA* ["USER32.dll", ""] (nFilterType: INTEGER; pfnFilterProc: HOOKPROC): HOOKPROC;
	(*END SetWindowsHookA;*)

	PROCEDURE SetWindowsHookW* ["USER32.dll", ""] (nFilterType: INTEGER; pfnFilterProc: HOOKPROC): HOOKPROC;
	(*END SetWindowsHookW;*)

	PROCEDURE SetWindowsHook* ["USER32.dll", "SetWindowsHookA"] (nFilterType: INTEGER; pfnFilterProc: HOOKPROC): HOOKPROC;
	(*END SetWindowsHook;*)

	PROCEDURE UnhookWindowsHook* ["USER32.dll", ""] (nCode: INTEGER; pfnFilterProc: HOOKPROC): BOOL;
	(*END UnhookWindowsHook;*)

	PROCEDURE SetWindowsHookExA* ["USER32.dll", ""] (idHook: INTEGER; lpfn: HOOKPROC; hmod: HINSTANCE; dwThreadId: INTEGER): HHOOK;
	(*END SetWindowsHookExA;*)

	PROCEDURE SetWindowsHookExW* ["USER32.dll", ""] (idHook: INTEGER; lpfn: HOOKPROC; hmod: HINSTANCE; dwThreadId: INTEGER): HHOOK;
	(*END SetWindowsHookExW;*)

	PROCEDURE SetWindowsHookEx* ["USER32.dll", "SetWindowsHookExA"] (idHook: INTEGER; lpfn: HOOKPROC; hmod: HINSTANCE; dwThreadId: INTEGER): HHOOK;
	(*END SetWindowsHookEx;*)

	PROCEDURE UnhookWindowsHookEx* ["USER32.dll", ""] (hhk: HHOOK): BOOL;
	(*END UnhookWindowsHookEx;*)

	PROCEDURE CallNextHookEx* ["USER32.dll", ""] (hhk: HHOOK; nCode: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END CallNextHookEx;*)

	PROCEDURE CheckMenuRadioItem* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): BOOL;
	(*END CheckMenuRadioItem;*)

	PROCEDURE LoadBitmapA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpBitmapName: PtrSTR): HBITMAP;
	(*END LoadBitmapA;*)

	PROCEDURE LoadBitmapW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpBitmapName: PtrWSTR): HBITMAP;
	(*END LoadBitmapW;*)

	PROCEDURE LoadBitmap* ["USER32.dll", "LoadBitmapA"] (hInstance: HINSTANCE; lpBitmapName: PtrSTR): HBITMAP;
	(*END LoadBitmap;*)

	PROCEDURE LoadCursorA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpCursorName: PtrSTR): HCURSOR;
	(*END LoadCursorA;*)

	PROCEDURE LoadCursorW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpCursorName: PtrWSTR): HCURSOR;
	(*END LoadCursorW;*)

	PROCEDURE LoadCursor* ["USER32.dll", "LoadCursorA"] (hInstance: HINSTANCE; lpCursorName: PtrSTR): HCURSOR;
	(*END LoadCursor;*)

	PROCEDURE LoadCursorFromFileA* ["USER32.dll", ""] (lpFileName: PtrSTR): HCURSOR;
	(*END LoadCursorFromFileA;*)

	PROCEDURE LoadCursorFromFileW* ["USER32.dll", ""] (lpFileName: PtrWSTR): HCURSOR;
	(*END LoadCursorFromFileW;*)

	PROCEDURE LoadCursorFromFile* ["USER32.dll", "LoadCursorFromFileA"] (lpFileName: PtrSTR): HCURSOR;
	(*END LoadCursorFromFile;*)

	PROCEDURE CreateCursor* ["USER32.dll", ""] (hInst: HINSTANCE; xHotSpot: INTEGER; yHotSpot: INTEGER; nWidth: INTEGER; nHeight: INTEGER; pvANDPlane: PtrVoid; pvXORPlane: PtrVoid): HCURSOR;
	(*END CreateCursor;*)

	PROCEDURE DestroyCursor* ["USER32.dll", ""] (hCursor: HCURSOR): BOOL;
	(*END DestroyCursor;*)

	PROCEDURE SetSystemCursor* ["USER32.dll", ""] (hcur: HCURSOR; id: INTEGER): BOOL;
	(*END SetSystemCursor;*)

	PROCEDURE LoadIconA* ["USER32.dll", ""] (hInstance: HINSTANCE; lpIconName: PtrSTR): HICON;
	(*END LoadIconA;*)

	PROCEDURE LoadIconW* ["USER32.dll", ""] (hInstance: HINSTANCE; lpIconName: PtrWSTR): HICON;
	(*END LoadIconW;*)

	PROCEDURE LoadIcon* ["USER32.dll", "LoadIconA"] (hInstance: HINSTANCE; lpIconName: PtrSTR): HICON;
	(*END LoadIcon;*)

	PROCEDURE CreateIcon* ["USER32.dll", ""] (hInstance: HINSTANCE; nWidth: INTEGER; nHeight: INTEGER; cPlanes: SHORTCHAR; cBitsPixel: SHORTCHAR; VAR [nil] lpbANDbits: SHORTCHAR; VAR [nil] lpbXORbits: SHORTCHAR): HICON;
	(*END CreateIcon;*)

	PROCEDURE DestroyIcon* ["USER32.dll", ""] (hIcon: HICON): BOOL;
	(*END DestroyIcon;*)

	PROCEDURE LookupIconIdFromDirectory* ["USER32.dll", ""] (VAR [nil] presbits: SHORTCHAR; fIcon: BOOL): INTEGER;
	(*END LookupIconIdFromDirectory;*)

	PROCEDURE LookupIconIdFromDirectoryEx* ["USER32.dll", ""] (VAR [nil] presbits: SHORTCHAR; fIcon: BOOL; cxDesired: INTEGER; cyDesired: INTEGER; Flags: SET): INTEGER;
	(*END LookupIconIdFromDirectoryEx;*)

	PROCEDURE CreateIconFromResource* ["USER32.dll", ""] (VAR [nil] presbits: SHORTCHAR; dwResSize: INTEGER; fIcon: BOOL; dwVer: INTEGER): HICON;
	(*END CreateIconFromResource;*)

	PROCEDURE CreateIconFromResourceEx* ["USER32.dll", ""] (VAR [nil] presbits: SHORTCHAR; dwResSize: INTEGER; fIcon: BOOL; dwVer: INTEGER; cxDesired: INTEGER; cyDesired: INTEGER; Flags: SET): HICON;
	(*END CreateIconFromResourceEx;*)

	PROCEDURE LoadImageA* ["USER32.dll", ""] (p0: HINSTANCE; p1: PtrSTR; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER): HANDLE;
	(*END LoadImageA;*)

	PROCEDURE LoadImageW* ["USER32.dll", ""] (p0: HINSTANCE; p1: PtrWSTR; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER): HANDLE;
	(*END LoadImageW;*)

	PROCEDURE LoadImage* ["USER32.dll", "LoadImageA"] (p0: HINSTANCE; p1: PtrSTR; p2: INTEGER; p3: INTEGER; p4: INTEGER; p5: INTEGER): HANDLE;
	(*END LoadImage;*)

	PROCEDURE CopyImage* ["USER32.dll", ""] (p0: HANDLE; p1: INTEGER; p2: INTEGER; p3: INTEGER; p4: INTEGER): HANDLE;
	(*END CopyImage;*)

	PROCEDURE DrawIconEx* ["USER32.dll", ""] (hdc: HDC; xLeft: INTEGER; yTop: INTEGER; hIcon: HICON; cxWidth: INTEGER; cyWidth: INTEGER; istepIfAniCur: INTEGER; hbrFlickerFreeDraw: HBRUSH; diFlags: SET): BOOL;
	(*END DrawIconEx;*)

	PROCEDURE CreateIconIndirect* ["USER32.dll", ""] (VAR [nil] piconinfo: ICONINFO): HICON;
	(*END CreateIconIndirect;*)

	PROCEDURE CopyIcon* ["USER32.dll", ""] (hIcon: HICON): HICON;
	(*END CopyIcon;*)

	PROCEDURE GetIconInfo* ["USER32.dll", ""] (hIcon: HICON; VAR [nil] piconinfo: ICONINFO): BOOL;
	(*END GetIconInfo;*)

	PROCEDURE LoadStringA* ["USER32.dll", ""] (hInstance: HINSTANCE; uID: INTEGER; lpBuffer: PtrSTR; nBufferMax: INTEGER): INTEGER;
	(*END LoadStringA;*)

	PROCEDURE LoadStringW* ["USER32.dll", ""] (hInstance: HINSTANCE; uID: INTEGER; lpBuffer: PtrWSTR; nBufferMax: INTEGER): INTEGER;
	(*END LoadStringW;*)

	PROCEDURE LoadString* ["USER32.dll", "LoadStringA"] (hInstance: HINSTANCE; uID: INTEGER; lpBuffer: PtrSTR; nBufferMax: INTEGER): INTEGER;
	(*END LoadString;*)

	PROCEDURE IsDialogMessageA* ["USER32.dll", ""] (hDlg: HWND; VAR [nil] lpMsg: MSG): BOOL;
	(*END IsDialogMessageA;*)

	PROCEDURE IsDialogMessageW* ["USER32.dll", ""] (hDlg: HWND; VAR [nil] lpMsg: MSG): BOOL;
	(*END IsDialogMessageW;*)

	PROCEDURE IsDialogMessage* ["USER32.dll", "IsDialogMessageA"] (hDlg: HWND; VAR [nil] lpMsg: MSG): BOOL;
	(*END IsDialogMessage;*)

	PROCEDURE MapDialogRect* ["USER32.dll", ""] (hDlg: HWND; VAR [nil] lpRect: RECT): BOOL;
	(*END MapDialogRect;*)

	PROCEDURE DlgDirListA* ["USER32.dll", ""] (hDlg: HWND; lpPathSpec: PtrSTR; nIDListBox: INTEGER; nIDStaticPath: INTEGER; uFileType: SET): INTEGER;
	(*END DlgDirListA;*)

	PROCEDURE DlgDirListW* ["USER32.dll", ""] (hDlg: HWND; lpPathSpec: PtrWSTR; nIDListBox: INTEGER; nIDStaticPath: INTEGER; uFileType: SET): INTEGER;
	(*END DlgDirListW;*)

	PROCEDURE DlgDirList* ["USER32.dll", "DlgDirListA"] (hDlg: HWND; lpPathSpec: PtrSTR; nIDListBox: INTEGER; nIDStaticPath: INTEGER; uFileType: SET): INTEGER;
	(*END DlgDirList;*)

	PROCEDURE DlgDirSelectExA* ["USER32.dll", ""] (hDlg: HWND; lpString: PtrSTR; nCount: INTEGER; nIDListBox: INTEGER): BOOL;
	(*END DlgDirSelectExA;*)

	PROCEDURE DlgDirSelectExW* ["USER32.dll", ""] (hDlg: HWND; lpString: PtrWSTR; nCount: INTEGER; nIDListBox: INTEGER): BOOL;
	(*END DlgDirSelectExW;*)

	PROCEDURE DlgDirSelectEx* ["USER32.dll", "DlgDirSelectExA"] (hDlg: HWND; lpString: PtrSTR; nCount: INTEGER; nIDListBox: INTEGER): BOOL;
	(*END DlgDirSelectEx;*)

	PROCEDURE DlgDirListComboBoxA* ["USER32.dll", ""] (hDlg: HWND; lpPathSpec: PtrSTR; nIDComboBox: INTEGER; nIDStaticPath: INTEGER; uFiletype: INTEGER): INTEGER;
	(*END DlgDirListComboBoxA;*)

	PROCEDURE DlgDirListComboBoxW* ["USER32.dll", ""] (hDlg: HWND; lpPathSpec: PtrWSTR; nIDComboBox: INTEGER; nIDStaticPath: INTEGER; uFiletype: INTEGER): INTEGER;
	(*END DlgDirListComboBoxW;*)

	PROCEDURE DlgDirListComboBox* ["USER32.dll", "DlgDirListComboBoxA"] (hDlg: HWND; lpPathSpec: PtrSTR; nIDComboBox: INTEGER; nIDStaticPath: INTEGER; uFiletype: INTEGER): INTEGER;
	(*END DlgDirListComboBox;*)

	PROCEDURE DlgDirSelectComboBoxExA* ["USER32.dll", ""] (hDlg: HWND; lpString: PtrSTR; nCount: INTEGER; nIDComboBox: INTEGER): BOOL;
	(*END DlgDirSelectComboBoxExA;*)

	PROCEDURE DlgDirSelectComboBoxExW* ["USER32.dll", ""] (hDlg: HWND; lpString: PtrWSTR; nCount: INTEGER; nIDComboBox: INTEGER): BOOL;
	(*END DlgDirSelectComboBoxExW;*)

	PROCEDURE DlgDirSelectComboBoxEx* ["USER32.dll", "DlgDirSelectComboBoxExA"] (hDlg: HWND; lpString: PtrSTR; nCount: INTEGER; nIDComboBox: INTEGER): BOOL;
	(*END DlgDirSelectComboBoxEx;*)

	PROCEDURE SetScrollInfo* ["USER32.dll", ""] (p0: HWND; p1: INTEGER; VAR [nil] p2: SCROLLINFO; p3: BOOL): INTEGER;
	(*END SetScrollInfo;*)

	PROCEDURE GetScrollInfo* ["USER32.dll", ""] (p0: HWND; p1: INTEGER; VAR [nil] p2: SCROLLINFO): BOOL;
	(*END GetScrollInfo;*)

	PROCEDURE DefFrameProcA* ["USER32.dll", ""] (hWnd: HWND; hWndMDIClient: HWND; uMsg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefFrameProcA;*)

	PROCEDURE DefFrameProcW* ["USER32.dll", ""] (hWnd: HWND; hWndMDIClient: HWND; uMsg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefFrameProcW;*)

	PROCEDURE DefFrameProc* ["USER32.dll", "DefFrameProcA"] (hWnd: HWND; hWndMDIClient: HWND; uMsg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefFrameProc;*)

	PROCEDURE DefMDIChildProcA* ["USER32.dll", ""] (hWnd: HWND; uMsg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefMDIChildProcA;*)

	PROCEDURE DefMDIChildProcW* ["USER32.dll", ""] (hWnd: HWND; uMsg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefMDIChildProcW;*)

	PROCEDURE DefMDIChildProc* ["USER32.dll", "DefMDIChildProcA"] (hWnd: HWND; uMsg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;
	(*END DefMDIChildProc;*)

	PROCEDURE TranslateMDISysAccel* ["USER32.dll", ""] (hWndClient: HWND; VAR [nil] lpMsg: MSG): BOOL;
	(*END TranslateMDISysAccel;*)

	PROCEDURE ArrangeIconicWindows* ["USER32.dll", ""] (hWnd: HWND): INTEGER;
	(*END ArrangeIconicWindows;*)

	PROCEDURE CreateMDIWindowA* ["USER32.dll", ""] (lpClassName: PtrSTR; lpWindowName: PtrSTR; dwStyle: SET; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; hWndParent: HWND; hInstance: HINSTANCE; lParam: LPARAM): HWND;
	(*END CreateMDIWindowA;*)

	PROCEDURE CreateMDIWindowW* ["USER32.dll", ""] (lpClassName: PtrWSTR; lpWindowName: PtrWSTR; dwStyle: SET; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; hWndParent: HWND; hInstance: HINSTANCE; lParam: LPARAM): HWND;
	(*END CreateMDIWindowW;*)

	PROCEDURE CreateMDIWindow* ["USER32.dll", "CreateMDIWindowA"] (lpClassName: PtrSTR; lpWindowName: PtrSTR; dwStyle: SET; X: INTEGER; Y: INTEGER; nWidth: INTEGER; nHeight: INTEGER; hWndParent: HWND; hInstance: HINSTANCE; lParam: LPARAM): HWND;
	(*END CreateMDIWindow;*)

	PROCEDURE TileWindows* ["USER32.dll", ""] (hwndParent: HWND; wHow: INTEGER; VAR [nil] lpRect: RECT; cKids: INTEGER; VAR [nil] lpKids: HWND): SHORTINT;
	(*END TileWindows;*)

	PROCEDURE CascadeWindows* ["USER32.dll", ""] (hwndParent: HWND; wHow: INTEGER; VAR [nil] lpRect: RECT; cKids: INTEGER; VAR [nil] lpKids: HWND): SHORTINT;
	(*END CascadeWindows;*)

	PROCEDURE WinHelpA* ["USER32.dll", ""] (hWndMain: HWND; lpszHelp: PtrSTR; uCommand: INTEGER; dwData: INTEGER): BOOL;
	(*END WinHelpA;*)

	PROCEDURE WinHelpW* ["USER32.dll", ""] (hWndMain: HWND; lpszHelp: PtrWSTR; uCommand: INTEGER; dwData: INTEGER): BOOL;
	(*END WinHelpW;*)

	PROCEDURE WinHelp* ["USER32.dll", "WinHelpA"] (hWndMain: HWND; lpszHelp: PtrSTR; uCommand: INTEGER; dwData: INTEGER): BOOL;
	(*END WinHelp;*)

	PROCEDURE ChangeDisplaySettingsA* ["USER32.dll", ""] (VAR [nil] lpDevMode: DEVMODEA; dwFlags: SET): INTEGER;
	(*END ChangeDisplaySettingsA;*)

	PROCEDURE ChangeDisplaySettingsW* ["USER32.dll", ""] (VAR [nil] lpDevMode: DEVMODEW; dwFlags: SET): INTEGER;
	(*END ChangeDisplaySettingsW;*)

	PROCEDURE ChangeDisplaySettings* ["USER32.dll", "ChangeDisplaySettingsA"] (VAR [nil] lpDevMode: DEVMODEA; dwFlags: SET): INTEGER;
	(*END ChangeDisplaySettings;*)

	PROCEDURE EnumDisplaySettingsA* ["USER32.dll", ""] (lpszDeviceName: PtrSTR; iModeNum: INTEGER; VAR [nil] lpDevMode: DEVMODEA): BOOL;
	(*END EnumDisplaySettingsA;*)

	PROCEDURE EnumDisplaySettingsW* ["USER32.dll", ""] (lpszDeviceName: PtrWSTR; iModeNum: INTEGER; VAR [nil] lpDevMode: DEVMODEW): BOOL;
	(*END EnumDisplaySettingsW;*)

	PROCEDURE EnumDisplaySettings* ["USER32.dll", "EnumDisplaySettingsA"] (lpszDeviceName: PtrSTR; iModeNum: INTEGER; VAR [nil] lpDevMode: DEVMODEA): BOOL;
	(*END EnumDisplaySettings;*)

	PROCEDURE SystemParametersInfoA* ["USER32.dll", ""] (uiAction: INTEGER; uiParam: INTEGER; pvParam: PtrVoid; fWinIni: INTEGER): BOOL;
	(*END SystemParametersInfoA;*)

	PROCEDURE SystemParametersInfoW* ["USER32.dll", ""] (uiAction: INTEGER; uiParam: INTEGER; pvParam: PtrVoid; fWinIni: INTEGER): BOOL;
	(*END SystemParametersInfoW;*)

	PROCEDURE SystemParametersInfo* ["USER32.dll", "SystemParametersInfoA"] (uiAction: INTEGER; uiParam: INTEGER; pvParam: PtrVoid; fWinIni: INTEGER): BOOL;
	(*END SystemParametersInfo;*)

	PROCEDURE SetDebugErrorLevel* ["USER32.dll", ""] (dwLevel: INTEGER);
	(*END SetDebugErrorLevel;*)

	PROCEDURE SetLastErrorEx* ["USER32.dll", ""] (dwErrCode: INTEGER; dwType: INTEGER);
	(*END SetLastErrorEx;*)

	PROCEDURE IsValidCodePage* (CodePage: INTEGER): BOOL;
	(*END IsValidCodePage;*)

	PROCEDURE GetACP* (): INTEGER;
	(*END GetACP;*)

	PROCEDURE GetOEMCP* (): INTEGER;
	(*END GetOEMCP;*)

	PROCEDURE GetCPInfo* (CodePage: INTEGER; VAR [nil] lpCPInfo: CPINFO): BOOL;
	(*END GetCPInfo;*)

	PROCEDURE IsDBCSLeadByte* (TestChar: SHORTCHAR): BOOL;
	(*END IsDBCSLeadByte;*)

	PROCEDURE IsDBCSLeadByteEx* (CodePage: INTEGER; TestChar: SHORTCHAR): BOOL;
	(*END IsDBCSLeadByteEx;*)

	PROCEDURE MultiByteToWideChar* (CodePage: INTEGER; dwFlags: SET; lpMultiByteStr: PtrSTR; cchMultiByte: INTEGER; lpWideCharStr: PtrWSTR; cchWideChar: INTEGER): INTEGER;
	(*END MultiByteToWideChar;*)

	PROCEDURE WideCharToMultiByte* (CodePage: INTEGER; dwFlags: SET; lpWideCharStr: PtrWSTR; cchWideChar: INTEGER; lpMultiByteStr: PtrSTR; cchMultiByte: INTEGER; lpDefaultChar: PtrSTR; VAR [nil] lpUsedDefaultChar: BOOL): INTEGER;
	(*END WideCharToMultiByte;*)

	PROCEDURE CompareStringA* (Locale: LCID; dwCmpFlags: SET; lpString1: PtrSTR; cchCount1: INTEGER; lpString2: PtrSTR; cchCount2: INTEGER): INTEGER;
	(*END CompareStringA;*)

	PROCEDURE CompareStringW* (Locale: LCID; dwCmpFlags: SET; lpString1: PtrWSTR; cchCount1: INTEGER; lpString2: PtrWSTR; cchCount2: INTEGER): INTEGER;
	(*END CompareStringW;*)

	PROCEDURE CompareString* ["CompareStringA"] (Locale: LCID; dwCmpFlags: SET; lpString1: PtrSTR; cchCount1: INTEGER; lpString2: PtrSTR; cchCount2: INTEGER): INTEGER;
	(*END CompareString;*)

	PROCEDURE LCMapStringA* (Locale: LCID; dwMapFlags: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; lpDestStr: PtrSTR; cchDest: INTEGER): INTEGER;
	(*END LCMapStringA;*)

	PROCEDURE LCMapStringW* (Locale: LCID; dwMapFlags: SET; lpSrcStr: PtrWSTR; cchSrc: INTEGER; lpDestStr: PtrWSTR; cchDest: INTEGER): INTEGER;
	(*END LCMapStringW;*)

	PROCEDURE LCMapString* ["LCMapStringA"] (Locale: LCID; dwMapFlags: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; lpDestStr: PtrSTR; cchDest: INTEGER): INTEGER;
	(*END LCMapString;*)

	PROCEDURE GetLocaleInfoA* (Locale: LCID; LCType: LCTYPE; lpLCData: PtrSTR; cchData: INTEGER): INTEGER;
	(*END GetLocaleInfoA;*)

	PROCEDURE GetLocaleInfoW* (Locale: LCID; LCType: LCTYPE; lpLCData: PtrWSTR; cchData: INTEGER): INTEGER;
	(*END GetLocaleInfoW;*)

	PROCEDURE GetLocaleInfo* ["GetLocaleInfoA"] (Locale: LCID; LCType: LCTYPE; lpLCData: PtrSTR; cchData: INTEGER): INTEGER;
	(*END GetLocaleInfo;*)

	PROCEDURE SetLocaleInfoA* (Locale: LCID; LCType: LCTYPE; lpLCData: PtrSTR): BOOL;
	(*END SetLocaleInfoA;*)

	PROCEDURE SetLocaleInfoW* (Locale: LCID; LCType: LCTYPE; lpLCData: PtrWSTR): BOOL;
	(*END SetLocaleInfoW;*)

	PROCEDURE SetLocaleInfo* ["SetLocaleInfoA"] (Locale: LCID; LCType: LCTYPE; lpLCData: PtrSTR): BOOL;
	(*END SetLocaleInfo;*)

	PROCEDURE GetTimeFormatA* (Locale: LCID; dwFlags: SET; VAR [nil] lpTime: SYSTEMTIME; lpFormat: PtrSTR; lpTimeStr: PtrSTR; cchTime: INTEGER): INTEGER;
	(*END GetTimeFormatA;*)

	PROCEDURE GetTimeFormatW* (Locale: LCID; dwFlags: SET; VAR [nil] lpTime: SYSTEMTIME; lpFormat: PtrWSTR; lpTimeStr: PtrWSTR; cchTime: INTEGER): INTEGER;
	(*END GetTimeFormatW;*)

	PROCEDURE GetTimeFormat* ["GetTimeFormatA"] (Locale: LCID; dwFlags: SET; VAR [nil] lpTime: SYSTEMTIME; lpFormat: PtrSTR; lpTimeStr: PtrSTR; cchTime: INTEGER): INTEGER;
	(*END GetTimeFormat;*)

	PROCEDURE GetDateFormatA* (Locale: LCID; dwFlags: SET; VAR [nil] lpDate: SYSTEMTIME; lpFormat: PtrSTR; lpDateStr: PtrSTR; cchDate: INTEGER): INTEGER;
	(*END GetDateFormatA;*)

	PROCEDURE GetDateFormatW* (Locale: LCID; dwFlags: SET; VAR [nil] lpDate: SYSTEMTIME; lpFormat: PtrWSTR; lpDateStr: PtrWSTR; cchDate: INTEGER): INTEGER;
	(*END GetDateFormatW;*)

	PROCEDURE GetDateFormat* ["GetDateFormatA"] (Locale: LCID; dwFlags: SET; VAR [nil] lpDate: SYSTEMTIME; lpFormat: PtrSTR; lpDateStr: PtrSTR; cchDate: INTEGER): INTEGER;
	(*END GetDateFormat;*)

	PROCEDURE GetNumberFormatA* (Locale: LCID; dwFlags: SET; lpValue: PtrSTR; VAR [nil] lpFormat: NUMBERFMTA; lpNumberStr: PtrSTR; cchNumber: INTEGER): INTEGER;
	(*END GetNumberFormatA;*)

	PROCEDURE GetNumberFormatW* (Locale: LCID; dwFlags: SET; lpValue: PtrWSTR; VAR [nil] lpFormat: NUMBERFMTW; lpNumberStr: PtrWSTR; cchNumber: INTEGER): INTEGER;
	(*END GetNumberFormatW;*)

	PROCEDURE GetNumberFormat* ["GetNumberFormatA"] (Locale: LCID; dwFlags: SET; lpValue: PtrSTR; VAR [nil] lpFormat: NUMBERFMTA; lpNumberStr: PtrSTR; cchNumber: INTEGER): INTEGER;
	(*END GetNumberFormat;*)

	PROCEDURE GetCurrencyFormatA* (Locale: LCID; dwFlags: SET; lpValue: PtrSTR; VAR [nil] lpFormat: CURRENCYFMTA; lpCurrencyStr: PtrSTR; cchCurrency: INTEGER): INTEGER;
	(*END GetCurrencyFormatA;*)

	PROCEDURE GetCurrencyFormatW* (Locale: LCID; dwFlags: SET; lpValue: PtrWSTR; VAR [nil] lpFormat: CURRENCYFMTW; lpCurrencyStr: PtrWSTR; cchCurrency: INTEGER): INTEGER;
	(*END GetCurrencyFormatW;*)

	PROCEDURE GetCurrencyFormat* ["GetCurrencyFormatA"] (Locale: LCID; dwFlags: SET; lpValue: PtrSTR; VAR [nil] lpFormat: CURRENCYFMTA; lpCurrencyStr: PtrSTR; cchCurrency: INTEGER): INTEGER;
	(*END GetCurrencyFormat;*)

	PROCEDURE EnumCalendarInfoA* (lpCalInfoEnumProc: CALINFO_ENUMPROCA; Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL;
	(*END EnumCalendarInfoA;*)

	PROCEDURE EnumCalendarInfoW* (lpCalInfoEnumProc: CALINFO_ENUMPROCW; Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL;
	(*END EnumCalendarInfoW;*)

	PROCEDURE EnumCalendarInfo* ["EnumCalendarInfoA"] (lpCalInfoEnumProc: CALINFO_ENUMPROCA; Locale: LCID; Calendar: CALID; CalType: CALTYPE): BOOL;
	(*END EnumCalendarInfo;*)

	PROCEDURE EnumTimeFormatsA* (lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA; Locale: LCID; dwFlags: SET): BOOL;
	(*END EnumTimeFormatsA;*)

	PROCEDURE EnumTimeFormatsW* (lpTimeFmtEnumProc: TIMEFMT_ENUMPROCW; Locale: LCID; dwFlags: SET): BOOL;
	(*END EnumTimeFormatsW;*)

	PROCEDURE EnumTimeFormats* ["EnumTimeFormatsA"] (lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA; Locale: LCID; dwFlags: SET): BOOL;
	(*END EnumTimeFormats;*)

	PROCEDURE EnumDateFormatsA* (lpDateFmtEnumProc: DATEFMT_ENUMPROCA; Locale: LCID; dwFlags: SET): BOOL;
	(*END EnumDateFormatsA;*)

	PROCEDURE EnumDateFormatsW* (lpDateFmtEnumProc: DATEFMT_ENUMPROCW; Locale: LCID; dwFlags: SET): BOOL;
	(*END EnumDateFormatsW;*)

	PROCEDURE EnumDateFormats* ["EnumDateFormatsA"] (lpDateFmtEnumProc: DATEFMT_ENUMPROCA; Locale: LCID; dwFlags: SET): BOOL;
	(*END EnumDateFormats;*)

	PROCEDURE IsValidLocale* (Locale: LCID; dwFlags: SET): BOOL;
	(*END IsValidLocale;*)

	PROCEDURE ConvertDefaultLocale* (Locale: LCID): LCID;
	(*END ConvertDefaultLocale;*)

	PROCEDURE GetThreadLocale* (): LCID;
	(*END GetThreadLocale;*)

	PROCEDURE SetThreadLocale* (Locale: LCID): BOOL;
	(*END SetThreadLocale;*)

	PROCEDURE GetSystemDefaultLangID* (): LANGID;
	(*END GetSystemDefaultLangID;*)

	PROCEDURE GetUserDefaultLangID* (): LANGID;
	(*END GetUserDefaultLangID;*)

	PROCEDURE GetSystemDefaultLCID* (): LCID;
	(*END GetSystemDefaultLCID;*)

	PROCEDURE GetUserDefaultLCID* (): LCID;
	(*END GetUserDefaultLCID;*)

	PROCEDURE GetStringTypeExA* (Locale: LCID; dwInfoType: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; VAR [nil] lpCharType: SHORTINT): BOOL;
	(*END GetStringTypeExA;*)

	PROCEDURE GetStringTypeExW* (Locale: LCID; dwInfoType: SET; lpSrcStr: PtrWSTR; cchSrc: INTEGER; VAR [nil] lpCharType: SHORTINT): BOOL;
	(*END GetStringTypeExW;*)

	PROCEDURE GetStringTypeEx* ["GetStringTypeExA"] (Locale: LCID; dwInfoType: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; VAR [nil] lpCharType: SHORTINT): BOOL;
	(*END GetStringTypeEx;*)

	PROCEDURE GetStringTypeA* (Locale: LCID; dwInfoType: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; VAR [nil] lpCharType: SHORTINT): BOOL;
	(*END GetStringTypeA;*)

	PROCEDURE GetStringTypeW* (dwInfoType: SET; lpSrcStr: PtrWSTR; cchSrc: INTEGER; VAR [nil] lpCharType: SHORTINT): BOOL;
	(*END GetStringTypeW;*)

	PROCEDURE FoldStringA* (dwMapFlags: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; lpDestStr: PtrSTR; cchDest: INTEGER): INTEGER;
	(*END FoldStringA;*)

	PROCEDURE FoldStringW* (dwMapFlags: SET; lpSrcStr: PtrWSTR; cchSrc: INTEGER; lpDestStr: PtrWSTR; cchDest: INTEGER): INTEGER;
	(*END FoldStringW;*)

	PROCEDURE FoldString* ["FoldStringA"] (dwMapFlags: SET; lpSrcStr: PtrSTR; cchSrc: INTEGER; lpDestStr: PtrSTR; cchDest: INTEGER): INTEGER;
	(*END FoldString;*)

	PROCEDURE EnumSystemLocalesA* (lpLocaleEnumProc: LOCALE_ENUMPROCA; dwFlags: SET): BOOL;
	(*END EnumSystemLocalesA;*)

	PROCEDURE EnumSystemLocalesW* (lpLocaleEnumProc: LOCALE_ENUMPROCW; dwFlags: SET): BOOL;
	(*END EnumSystemLocalesW;*)

	PROCEDURE EnumSystemLocales* ["EnumSystemLocalesA"] (lpLocaleEnumProc: LOCALE_ENUMPROCA; dwFlags: SET): BOOL;
	(*END EnumSystemLocales;*)

	PROCEDURE EnumSystemCodePagesA* (lpCodePageEnumProc: CODEPAGE_ENUMPROCA; dwFlags: SET): BOOL;
	(*END EnumSystemCodePagesA;*)

	PROCEDURE EnumSystemCodePagesW* (lpCodePageEnumProc: CODEPAGE_ENUMPROCW; dwFlags: SET): BOOL;
	(*END EnumSystemCodePagesW;*)

	PROCEDURE EnumSystemCodePages* ["EnumSystemCodePagesA"] (lpCodePageEnumProc: CODEPAGE_ENUMPROCA; dwFlags: SET): BOOL;
	(*END EnumSystemCodePages;*)

	PROCEDURE PeekConsoleInputA* (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsRead: INTEGER): BOOL;
	(*END PeekConsoleInputA;*)

	PROCEDURE PeekConsoleInputW* (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsRead: INTEGER): BOOL;
	(*END PeekConsoleInputW;*)

	PROCEDURE PeekConsoleInput* ["PeekConsoleInputA"] (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsRead: INTEGER): BOOL;
	(*END PeekConsoleInput;*)

	PROCEDURE ReadConsoleInputA* (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsRead: INTEGER): BOOL;
	(*END ReadConsoleInputA;*)

	PROCEDURE ReadConsoleInputW* (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsRead: INTEGER): BOOL;
	(*END ReadConsoleInputW;*)

	PROCEDURE ReadConsoleInput* ["ReadConsoleInputA"] (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsRead: INTEGER): BOOL;
	(*END ReadConsoleInput;*)

	PROCEDURE WriteConsoleInputA* (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsWritten: INTEGER): BOOL;
	(*END WriteConsoleInputA;*)

	PROCEDURE WriteConsoleInputW* (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsWritten: INTEGER): BOOL;
	(*END WriteConsoleInputW;*)

	PROCEDURE WriteConsoleInput* ["WriteConsoleInputA"] (hConsoleInput: HANDLE; VAR [nil] lpBuffer: INPUT_RECORD; nLength: INTEGER; VAR [nil] lpNumberOfEventsWritten: INTEGER): BOOL;
	(*END WriteConsoleInput;*)

	PROCEDURE ReadConsoleOutputA* (hConsoleOutput: HANDLE; VAR [nil] lpBuffer: CHAR_INFO; dwBufferSize: COORD; dwBufferCoord: COORD; VAR [nil] lpReadRegion: SMALL_RECT): BOOL;
	(*END ReadConsoleOutputA;*)

	PROCEDURE ReadConsoleOutputW* (hConsoleOutput: HANDLE; VAR [nil] lpBuffer: CHAR_INFO; dwBufferSize: COORD; dwBufferCoord: COORD; VAR [nil] lpReadRegion: SMALL_RECT): BOOL;
	(*END ReadConsoleOutputW;*)

	PROCEDURE ReadConsoleOutput* ["ReadConsoleOutputA"] (hConsoleOutput: HANDLE; VAR [nil] lpBuffer: CHAR_INFO; dwBufferSize: COORD; dwBufferCoord: COORD; VAR [nil] lpReadRegion: SMALL_RECT): BOOL;
	(*END ReadConsoleOutput;*)

	PROCEDURE WriteConsoleOutputA* (hConsoleOutput: HANDLE; VAR [nil] lpBuffer: CHAR_INFO; dwBufferSize: COORD; dwBufferCoord: COORD; VAR [nil] lpWriteRegion: SMALL_RECT): BOOL;
	(*END WriteConsoleOutputA;*)

	PROCEDURE WriteConsoleOutputW* (hConsoleOutput: HANDLE; VAR [nil] lpBuffer: CHAR_INFO; dwBufferSize: COORD; dwBufferCoord: COORD; VAR [nil] lpWriteRegion: SMALL_RECT): BOOL;
	(*END WriteConsoleOutputW;*)

	PROCEDURE WriteConsoleOutput* ["WriteConsoleOutputA"] (hConsoleOutput: HANDLE; VAR [nil] lpBuffer: CHAR_INFO; dwBufferSize: COORD; dwBufferCoord: COORD; VAR [nil] lpWriteRegion: SMALL_RECT): BOOL;
	(*END WriteConsoleOutput;*)

	PROCEDURE ReadConsoleOutputCharacterA* (hConsoleOutput: HANDLE; lpCharacter: PtrSTR; nLength: INTEGER; dwReadCoord: COORD; VAR [nil] lpNumberOfCharsRead: INTEGER): BOOL;
	(*END ReadConsoleOutputCharacterA;*)

	PROCEDURE ReadConsoleOutputCharacterW* (hConsoleOutput: HANDLE; lpCharacter: PtrWSTR; nLength: INTEGER; dwReadCoord: COORD; VAR [nil] lpNumberOfCharsRead: INTEGER): BOOL;
	(*END ReadConsoleOutputCharacterW;*)

	PROCEDURE ReadConsoleOutputCharacter* ["ReadConsoleOutputCharacterA"] (hConsoleOutput: HANDLE; lpCharacter: PtrSTR; nLength: INTEGER; dwReadCoord: COORD; VAR [nil] lpNumberOfCharsRead: INTEGER): BOOL;
	(*END ReadConsoleOutputCharacter;*)

	PROCEDURE ReadConsoleOutputAttribute* (hConsoleOutput: HANDLE; VAR [nil] lpAttribute: SHORTINT; nLength: INTEGER; dwReadCoord: COORD; VAR [nil] lpNumberOfAttrsRead: INTEGER): BOOL;
	(*END ReadConsoleOutputAttribute;*)

	PROCEDURE WriteConsoleOutputCharacterA* (hConsoleOutput: HANDLE; lpCharacter: PtrSTR; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfCharsWritten: INTEGER): BOOL;
	(*END WriteConsoleOutputCharacterA;*)

	PROCEDURE WriteConsoleOutputCharacterW* (hConsoleOutput: HANDLE; lpCharacter: PtrWSTR; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfCharsWritten: INTEGER): BOOL;
	(*END WriteConsoleOutputCharacterW;*)

	PROCEDURE WriteConsoleOutputCharacter* ["WriteConsoleOutputCharacterA"] (hConsoleOutput: HANDLE; lpCharacter: PtrSTR; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfCharsWritten: INTEGER): BOOL;
	(*END WriteConsoleOutputCharacter;*)

	PROCEDURE WriteConsoleOutputAttribute* (hConsoleOutput: HANDLE; VAR [nil] lpAttribute: SHORTINT; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfAttrsWritten: INTEGER): BOOL;
	(*END WriteConsoleOutputAttribute;*)

	PROCEDURE FillConsoleOutputCharacterA* (hConsoleOutput: HANDLE; cCharacter: SHORTCHAR; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfCharsWritten: INTEGER): BOOL;
	(*END FillConsoleOutputCharacterA;*)

	PROCEDURE FillConsoleOutputCharacterW* (hConsoleOutput: HANDLE; cCharacter: CHAR; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfCharsWritten: INTEGER): BOOL;
	(*END FillConsoleOutputCharacterW;*)

	PROCEDURE FillConsoleOutputCharacter* ["FillConsoleOutputCharacterA"] (hConsoleOutput: HANDLE; cCharacter: SHORTCHAR; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfCharsWritten: INTEGER): BOOL;
	(*END FillConsoleOutputCharacter;*)

	PROCEDURE FillConsoleOutputAttribute* (hConsoleOutput: HANDLE; wAttribute: SHORTINT; nLength: INTEGER; dwWriteCoord: COORD; VAR [nil] lpNumberOfAttrsWritten: INTEGER): BOOL;
	(*END FillConsoleOutputAttribute;*)

	PROCEDURE GetConsoleMode* (hConsoleHandle: HANDLE; VAR [nil] lpMode: SET): BOOL;
	(*END GetConsoleMode;*)

	PROCEDURE GetNumberOfConsoleInputEvents* (hConsoleInput: HANDLE; VAR [nil] lpNumberOfEvents: INTEGER): BOOL;
	(*END GetNumberOfConsoleInputEvents;*)

	PROCEDURE GetConsoleScreenBufferInfo* (hConsoleOutput: HANDLE; VAR [nil] lpConsoleScreenBufferInfo: CONSOLE_SCREEN_BUFFER_INFO): BOOL;
	(*END GetConsoleScreenBufferInfo;*)

	PROCEDURE GetLargestConsoleWindowSize* (hConsoleOutput: HANDLE): INTEGER;
	(*END GetLargestConsoleWindowSize;*)

	PROCEDURE GetConsoleCursorInfo* (hConsoleOutput: HANDLE; VAR [nil] lpConsoleCursorInfo: CONSOLE_CURSOR_INFO): BOOL;
	(*END GetConsoleCursorInfo;*)

	PROCEDURE GetNumberOfConsoleMouseButtons* (VAR [nil] lpNumberOfMouseButtons: INTEGER): BOOL;
	(*END GetNumberOfConsoleMouseButtons;*)

	PROCEDURE SetConsoleMode* (hConsoleHandle: HANDLE; dwMode: SET): BOOL;
	(*END SetConsoleMode;*)

	PROCEDURE SetConsoleActiveScreenBuffer* (hConsoleOutput: HANDLE): BOOL;
	(*END SetConsoleActiveScreenBuffer;*)

	PROCEDURE FlushConsoleInputBuffer* (hConsoleInput: HANDLE): BOOL;
	(*END FlushConsoleInputBuffer;*)

	PROCEDURE SetConsoleScreenBufferSize* (hConsoleOutput: HANDLE; dwSize: COORD): BOOL;
	(*END SetConsoleScreenBufferSize;*)

	PROCEDURE SetConsoleCursorPosition* (hConsoleOutput: HANDLE; dwCursorPosition: COORD): BOOL;
	(*END SetConsoleCursorPosition;*)

	PROCEDURE SetConsoleCursorInfo* (hConsoleOutput: HANDLE; VAR [nil] lpConsoleCursorInfo: CONSOLE_CURSOR_INFO): BOOL;
	(*END SetConsoleCursorInfo;*)

	PROCEDURE ScrollConsoleScreenBufferA* (hConsoleOutput: HANDLE; VAR [nil] lpScrollRectangle: SMALL_RECT; VAR [nil] lpClipRectangle: SMALL_RECT; dwDestinationOrigin: COORD; VAR [nil] lpFill: CHAR_INFO): BOOL;
	(*END ScrollConsoleScreenBufferA;*)

	PROCEDURE ScrollConsoleScreenBufferW* (hConsoleOutput: HANDLE; VAR [nil] lpScrollRectangle: SMALL_RECT; VAR [nil] lpClipRectangle: SMALL_RECT; dwDestinationOrigin: COORD; VAR [nil] lpFill: CHAR_INFO): BOOL;
	(*END ScrollConsoleScreenBufferW;*)

	PROCEDURE ScrollConsoleScreenBuffer* ["ScrollConsoleScreenBufferA"] (hConsoleOutput: HANDLE; VAR [nil] lpScrollRectangle: SMALL_RECT; VAR [nil] lpClipRectangle: SMALL_RECT; dwDestinationOrigin: COORD; VAR [nil] lpFill: CHAR_INFO): BOOL;
	(*END ScrollConsoleScreenBuffer;*)

	PROCEDURE SetConsoleWindowInfo* (hConsoleOutput: HANDLE; bAbsolute: BOOL; VAR [nil] lpConsoleWindow: SMALL_RECT): BOOL;
	(*END SetConsoleWindowInfo;*)

	PROCEDURE SetConsoleTextAttribute* (hConsoleOutput: HANDLE; wAttributes: SHORTINT): BOOL;
	(*END SetConsoleTextAttribute;*)

	PROCEDURE SetConsoleCtrlHandler* (HandlerRoutine: HANDLER_ROUTINE; Add: BOOL): BOOL;
	(*END SetConsoleCtrlHandler;*)

	PROCEDURE GenerateConsoleCtrlEvent* (dwCtrlEvent: INTEGER; dwProcessGroupId: INTEGER): BOOL;
	(*END GenerateConsoleCtrlEvent;*)

	PROCEDURE AllocConsole* (): BOOL;
	(*END AllocConsole;*)

	PROCEDURE FreeConsole* (): BOOL;
	(*END FreeConsole;*)

	PROCEDURE GetConsoleTitleA* (lpConsoleTitle: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetConsoleTitleA;*)

	PROCEDURE GetConsoleTitleW* (lpConsoleTitle: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END GetConsoleTitleW;*)

	PROCEDURE GetConsoleTitle* ["GetConsoleTitleA"] (lpConsoleTitle: PtrSTR; nSize: INTEGER): INTEGER;
	(*END GetConsoleTitle;*)

	PROCEDURE SetConsoleTitleA* (lpConsoleTitle: PtrSTR): BOOL;
	(*END SetConsoleTitleA;*)

	PROCEDURE SetConsoleTitleW* (lpConsoleTitle: PtrWSTR): BOOL;
	(*END SetConsoleTitleW;*)

	PROCEDURE SetConsoleTitle* ["SetConsoleTitleA"] (lpConsoleTitle: PtrSTR): BOOL;
	(*END SetConsoleTitle;*)

	PROCEDURE ReadConsoleA* (hConsoleInput: HANDLE; lpBuffer: PtrVoid; nNumberOfCharsToRead: INTEGER; VAR [nil] lpNumberOfCharsRead: INTEGER; lpReserved: PtrVoid): BOOL;
	(*END ReadConsoleA;*)

	PROCEDURE ReadConsoleW* (hConsoleInput: HANDLE; lpBuffer: PtrVoid; nNumberOfCharsToRead: INTEGER; VAR [nil] lpNumberOfCharsRead: INTEGER; lpReserved: PtrVoid): BOOL;
	(*END ReadConsoleW;*)

	PROCEDURE ReadConsole* ["ReadConsoleA"] (hConsoleInput: HANDLE; lpBuffer: PtrVoid; nNumberOfCharsToRead: INTEGER; VAR [nil] lpNumberOfCharsRead: INTEGER; lpReserved: PtrVoid): BOOL;
	(*END ReadConsole;*)

	PROCEDURE WriteConsoleA* (hConsoleOutput: HANDLE; lpBuffer: PtrVoid; nNumberOfCharsToWrite: INTEGER; VAR [nil] lpNumberOfCharsWritten: INTEGER; lpReserved: PtrVoid): BOOL;
	(*END WriteConsoleA;*)

	PROCEDURE WriteConsoleW* (hConsoleOutput: HANDLE; lpBuffer: PtrVoid; nNumberOfCharsToWrite: INTEGER; VAR [nil] lpNumberOfCharsWritten: INTEGER; lpReserved: PtrVoid): BOOL;
	(*END WriteConsoleW;*)

	PROCEDURE WriteConsole* ["WriteConsoleA"] (hConsoleOutput: HANDLE; lpBuffer: PtrVoid; nNumberOfCharsToWrite: INTEGER; VAR [nil] lpNumberOfCharsWritten: INTEGER; lpReserved: PtrVoid): BOOL;
	(*END WriteConsole;*)

	PROCEDURE CreateConsoleScreenBuffer* (dwDesiredAccess: SET; dwShareMode: SET; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; dwFlags: SET; lpScreenBufferData: PtrVoid): HANDLE;
	(*END CreateConsoleScreenBuffer;*)

	PROCEDURE GetConsoleCP* (): INTEGER;
	(*END GetConsoleCP;*)

	PROCEDURE SetConsoleCP* (wCodePageID: INTEGER): BOOL;
	(*END SetConsoleCP;*)

	PROCEDURE GetConsoleOutputCP* (): INTEGER;
	(*END GetConsoleOutputCP;*)

	PROCEDURE SetConsoleOutputCP* (wCodePageID: INTEGER): BOOL;
	(*END SetConsoleOutputCP;*)

	PROCEDURE VerFindFileA* ["VERSION.dll", ""] (uFlags: SET; szFileName: PtrSTR; szWinDir: PtrSTR; szAppDir: PtrSTR; szCurDir: PtrSTR; VAR [nil] lpuCurDirLen: INTEGER; szDestDir: PtrSTR; VAR [nil] lpuDestDirLen: INTEGER): SET;
	(*END VerFindFileA;*)

	PROCEDURE VerFindFileW* ["VERSION.dll", ""] (uFlags: SET; szFileName: PtrWSTR; szWinDir: PtrWSTR; szAppDir: PtrWSTR; szCurDir: PtrWSTR; VAR [nil] lpuCurDirLen: INTEGER; szDestDir: PtrWSTR; VAR [nil] lpuDestDirLen: INTEGER): SET;
	(*END VerFindFileW;*)

	PROCEDURE VerFindFile* ["VERSION.dll", "VerFindFileA"] (uFlags: SET; szFileName: PtrSTR; szWinDir: PtrSTR; szAppDir: PtrSTR; szCurDir: PtrSTR; VAR [nil] lpuCurDirLen: INTEGER; szDestDir: PtrSTR; VAR [nil] lpuDestDirLen: INTEGER): SET;
	(*END VerFindFile;*)

	PROCEDURE VerInstallFileA* ["VERSION.dll", ""] (uFlags: SET; szSrcFileName: PtrSTR; szDestFileName: PtrSTR; szSrcDir: PtrSTR; szDestDir: PtrSTR; szCurDir: PtrSTR; szTmpFile: PtrSTR; VAR [nil] lpuTmpFileLen: INTEGER): SET;
	(*END VerInstallFileA;*)

	PROCEDURE VerInstallFileW* ["VERSION.dll", ""] (uFlags: SET; szSrcFileName: PtrWSTR; szDestFileName: PtrWSTR; szSrcDir: PtrWSTR; szDestDir: PtrWSTR; szCurDir: PtrWSTR; szTmpFile: PtrWSTR; VAR [nil] lpuTmpFileLen: INTEGER): SET;
	(*END VerInstallFileW;*)

	PROCEDURE VerInstallFile* ["VERSION.dll", "VerInstallFileA"] (uFlags: SET; szSrcFileName: PtrSTR; szDestFileName: PtrSTR; szSrcDir: PtrSTR; szDestDir: PtrSTR; szCurDir: PtrSTR; szTmpFile: PtrSTR; VAR [nil] lpuTmpFileLen: INTEGER): SET;
	(*END VerInstallFile;*)

	PROCEDURE GetFileVersionInfoSizeA* ["VERSION.dll", ""] (lptstrFilename: PtrSTR; VAR [nil] lpdwHandle: INTEGER): INTEGER;
	(*END GetFileVersionInfoSizeA;*)

	PROCEDURE GetFileVersionInfoSizeW* ["VERSION.dll", ""] (lptstrFilename: PtrWSTR; VAR [nil] lpdwHandle: INTEGER): INTEGER;
	(*END GetFileVersionInfoSizeW;*)

	PROCEDURE GetFileVersionInfoSize* ["VERSION.dll", "GetFileVersionInfoSizeA"] (lptstrFilename: PtrSTR; VAR [nil] lpdwHandle: INTEGER): INTEGER;
	(*END GetFileVersionInfoSize;*)

	PROCEDURE GetFileVersionInfoA* ["VERSION.dll", ""] (lptstrFilename: PtrSTR; dwHandle: INTEGER; dwLen: INTEGER; lpData: PtrVoid): BOOL;
	(*END GetFileVersionInfoA;*)

	PROCEDURE GetFileVersionInfoW* ["VERSION.dll", ""] (lptstrFilename: PtrWSTR; dwHandle: INTEGER; dwLen: INTEGER; lpData: PtrVoid): BOOL;
	(*END GetFileVersionInfoW;*)

	PROCEDURE GetFileVersionInfo* ["VERSION.dll", "GetFileVersionInfoA"] (lptstrFilename: PtrSTR; dwHandle: INTEGER; dwLen: INTEGER; lpData: PtrVoid): BOOL;
	(*END GetFileVersionInfo;*)

	PROCEDURE VerLanguageNameA* (wLang: INTEGER; szLang: PtrSTR; nSize: INTEGER): INTEGER;
	(*END VerLanguageNameA;*)

	PROCEDURE VerLanguageNameW* (wLang: INTEGER; szLang: PtrWSTR; nSize: INTEGER): INTEGER;
	(*END VerLanguageNameW;*)

	PROCEDURE VerLanguageName* ["VerLanguageNameA"] (wLang: INTEGER; szLang: PtrSTR; nSize: INTEGER): INTEGER;
	(*END VerLanguageName;*)

	PROCEDURE VerQueryValueA* ["VERSION.dll", ""] (pBlock: PtrVoid; lpSubBlock: PtrSTR; lplpBuffer: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid; VAR [nil] puLen: INTEGER): BOOL;
	(*END VerQueryValueA;*)

	PROCEDURE VerQueryValueW* ["VERSION.dll", ""] (pBlock: PtrVoid; lpSubBlock: PtrWSTR; lplpBuffer: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid; VAR [nil] puLen: INTEGER): BOOL;
	(*END VerQueryValueW;*)

	PROCEDURE VerQueryValue* ["VERSION.dll", "VerQueryValueA"] (pBlock: PtrVoid; lpSubBlock: PtrSTR; lplpBuffer: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid; VAR [nil] puLen: INTEGER): BOOL;
	(*END VerQueryValue;*)

	PROCEDURE RegCloseKey* ["ADVAPI32.dll", ""] (hKey: HKEY): INTEGER;
	(*END RegCloseKey;*)

	PROCEDURE RegConnectRegistryA* ["ADVAPI32.dll", ""] (lpMachineName: PtrSTR; hKey: HKEY; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegConnectRegistryA;*)

	PROCEDURE RegConnectRegistryW* ["ADVAPI32.dll", ""] (lpMachineName: PtrWSTR; hKey: HKEY; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegConnectRegistryW;*)

	PROCEDURE RegConnectRegistry* ["ADVAPI32.dll", "RegConnectRegistryA"] (lpMachineName: PtrSTR; hKey: HKEY; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegConnectRegistry;*)

	PROCEDURE RegCreateKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegCreateKeyA;*)

	PROCEDURE RegCreateKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegCreateKeyW;*)

	PROCEDURE RegCreateKey* ["ADVAPI32.dll", "RegCreateKeyA"] (hKey: HKEY; lpSubKey: PtrSTR; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegCreateKey;*)

	PROCEDURE RegCreateKeyExA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; Reserved: INTEGER; lpClass: PtrSTR; dwOptions: SET; samDesired: REGSAM; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; VAR [nil] phkResult: HKEY; VAR [nil] lpdwDisposition: INTEGER): INTEGER;
	(*END RegCreateKeyExA;*)

	PROCEDURE RegCreateKeyExW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; Reserved: INTEGER; lpClass: PtrWSTR; dwOptions: SET; samDesired: REGSAM; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; VAR [nil] phkResult: HKEY; VAR [nil] lpdwDisposition: INTEGER): INTEGER;
	(*END RegCreateKeyExW;*)

	PROCEDURE RegCreateKeyEx* ["ADVAPI32.dll", "RegCreateKeyExA"] (hKey: HKEY; lpSubKey: PtrSTR; Reserved: INTEGER; lpClass: PtrSTR; dwOptions: SET; samDesired: REGSAM; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES; VAR [nil] phkResult: HKEY; VAR [nil] lpdwDisposition: INTEGER): INTEGER;
	(*END RegCreateKeyEx;*)

	PROCEDURE RegDeleteKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR): INTEGER;
	(*END RegDeleteKeyA;*)

	PROCEDURE RegDeleteKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR): INTEGER;
	(*END RegDeleteKeyW;*)

	PROCEDURE RegDeleteKey* ["ADVAPI32.dll", "RegDeleteKeyA"] (hKey: HKEY; lpSubKey: PtrSTR): INTEGER;
	(*END RegDeleteKey;*)

	PROCEDURE RegDeleteValueA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpValueName: PtrSTR): INTEGER;
	(*END RegDeleteValueA;*)

	PROCEDURE RegDeleteValueW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpValueName: PtrWSTR): INTEGER;
	(*END RegDeleteValueW;*)

	PROCEDURE RegDeleteValue* ["ADVAPI32.dll", "RegDeleteValueA"] (hKey: HKEY; lpValueName: PtrSTR): INTEGER;
	(*END RegDeleteValue;*)

	PROCEDURE RegEnumKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; dwIndex: INTEGER; lpName: PtrSTR; cbName: INTEGER): INTEGER;
	(*END RegEnumKeyA;*)

	PROCEDURE RegEnumKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; dwIndex: INTEGER; lpName: PtrWSTR; cbName: INTEGER): INTEGER;
	(*END RegEnumKeyW;*)

	PROCEDURE RegEnumKey* ["ADVAPI32.dll", "RegEnumKeyA"] (hKey: HKEY; dwIndex: INTEGER; lpName: PtrSTR; cbName: INTEGER): INTEGER;
	(*END RegEnumKey;*)

	PROCEDURE RegEnumKeyExA* ["ADVAPI32.dll", ""] (hKey: HKEY; dwIndex: INTEGER; lpName: PtrSTR; VAR [nil] lpcbName: INTEGER; VAR [nil] lpReserved: INTEGER; lpClass: PtrSTR; VAR [nil] lpcbClass: INTEGER; VAR [nil] lpftLastWriteTime: FILETIME): INTEGER;
	(*END RegEnumKeyExA;*)

	PROCEDURE RegEnumKeyExW* ["ADVAPI32.dll", ""] (hKey: HKEY; dwIndex: INTEGER; lpName: PtrWSTR; VAR [nil] lpcbName: INTEGER; VAR [nil] lpReserved: INTEGER; lpClass: PtrWSTR; VAR [nil] lpcbClass: INTEGER; VAR [nil] lpftLastWriteTime: FILETIME): INTEGER;
	(*END RegEnumKeyExW;*)

	PROCEDURE RegEnumKeyEx* ["ADVAPI32.dll", "RegEnumKeyExA"] (hKey: HKEY; dwIndex: INTEGER; lpName: PtrSTR; VAR [nil] lpcbName: INTEGER; VAR [nil] lpReserved: INTEGER; lpClass: PtrSTR; VAR [nil] lpcbClass: INTEGER; VAR [nil] lpftLastWriteTime: FILETIME): INTEGER;
	(*END RegEnumKeyEx;*)

	PROCEDURE RegEnumValueA* ["ADVAPI32.dll", ""] (hKey: HKEY; dwIndex: INTEGER; lpValueName: PtrSTR; VAR [nil] lpcbValueName: INTEGER; VAR [nil] lpReserved: INTEGER; VAR [nil] lpType: INTEGER; lpData: PtrVoid; VAR [nil] lpcbData: INTEGER): INTEGER;
	(*END RegEnumValueA;*)

	PROCEDURE RegEnumValueW* ["ADVAPI32.dll", ""] (hKey: HKEY; dwIndex: INTEGER; lpValueName: PtrWSTR; VAR [nil] lpcbValueName: INTEGER; VAR [nil] lpReserved: INTEGER; VAR [nil] lpType: INTEGER; lpData: PtrVoid; VAR [nil] lpcbData: INTEGER): INTEGER;
	(*END RegEnumValueW;*)

	PROCEDURE RegEnumValue* ["ADVAPI32.dll", "RegEnumValueA"] (hKey: HKEY; dwIndex: INTEGER; lpValueName: PtrSTR; VAR [nil] lpcbValueName: INTEGER; VAR [nil] lpReserved: INTEGER; VAR [nil] lpType: INTEGER; lpData: PtrVoid; VAR [nil] lpcbData: INTEGER): INTEGER;
	(*END RegEnumValue;*)

	PROCEDURE RegFlushKey* ["ADVAPI32.dll", ""] (hKey: HKEY): INTEGER;
	(*END RegFlushKey;*)

	PROCEDURE RegGetKeySecurity* ["ADVAPI32.dll", ""] (hKey: HKEY; SecurityInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR; VAR [nil] lpcbSecurityDescriptor: INTEGER): INTEGER;
	(*END RegGetKeySecurity;*)

	PROCEDURE RegLoadKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; lpFile: PtrSTR): INTEGER;
	(*END RegLoadKeyA;*)

	PROCEDURE RegLoadKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; lpFile: PtrWSTR): INTEGER;
	(*END RegLoadKeyW;*)

	PROCEDURE RegLoadKey* ["ADVAPI32.dll", "RegLoadKeyA"] (hKey: HKEY; lpSubKey: PtrSTR; lpFile: PtrSTR): INTEGER;
	(*END RegLoadKey;*)

	PROCEDURE RegNotifyChangeKeyValue* ["ADVAPI32.dll", ""] (hKey: HKEY; bWatchSubtree: BOOL; dwNotifyFilter: SET; hEvent: HANDLE; fAsynchronus: BOOL): INTEGER;
	(*END RegNotifyChangeKeyValue;*)

	PROCEDURE RegOpenKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegOpenKeyA;*)

	PROCEDURE RegOpenKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegOpenKeyW;*)

	PROCEDURE RegOpenKey* ["ADVAPI32.dll", "RegOpenKeyA"] (hKey: HKEY; lpSubKey: PtrSTR; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegOpenKey;*)

	PROCEDURE RegOpenKeyExA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; ulOptions: INTEGER; samDesired: REGSAM; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegOpenKeyExA;*)

	PROCEDURE RegOpenKeyExW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; ulOptions: INTEGER; samDesired: REGSAM; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegOpenKeyExW;*)

	PROCEDURE RegOpenKeyEx* ["ADVAPI32.dll", "RegOpenKeyExA"] (hKey: HKEY; lpSubKey: PtrSTR; ulOptions: INTEGER; samDesired: REGSAM; VAR [nil] phkResult: HKEY): INTEGER;
	(*END RegOpenKeyEx;*)

	PROCEDURE RegQueryInfoKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpClass: PtrSTR; VAR [nil] lpcbClass: INTEGER; VAR [nil] lpReserved: INTEGER; VAR [nil] lpcSubKeys: INTEGER; VAR [nil] lpcbMaxSubKeyLen: INTEGER; VAR [nil] lpcbMaxClassLen: INTEGER; VAR [nil] lpcValues: INTEGER; VAR [nil] lpcbMaxValueNameLen: INTEGER; VAR [nil] lpcbMaxValueLen: INTEGER; VAR [nil] lpcbSecurityDescriptor: INTEGER; VAR [nil] lpftLastWriteTime: FILETIME): INTEGER;
	(*END RegQueryInfoKeyA;*)

	PROCEDURE RegQueryInfoKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpClass: PtrWSTR; VAR [nil] lpcbClass: INTEGER; VAR [nil] lpReserved: INTEGER; VAR [nil] lpcSubKeys: INTEGER; VAR [nil] lpcbMaxSubKeyLen: INTEGER; VAR [nil] lpcbMaxClassLen: INTEGER; VAR [nil] lpcValues: INTEGER; VAR [nil] lpcbMaxValueNameLen: INTEGER; VAR [nil] lpcbMaxValueLen: INTEGER; VAR [nil] lpcbSecurityDescriptor: INTEGER; VAR [nil] lpftLastWriteTime: FILETIME): INTEGER;
	(*END RegQueryInfoKeyW;*)

	PROCEDURE RegQueryInfoKey* ["ADVAPI32.dll", "RegQueryInfoKeyA"] (hKey: HKEY; lpClass: PtrSTR; VAR [nil] lpcbClass: INTEGER; VAR [nil] lpReserved: INTEGER; VAR [nil] lpcSubKeys: INTEGER; VAR [nil] lpcbMaxSubKeyLen: INTEGER; VAR [nil] lpcbMaxClassLen: INTEGER; VAR [nil] lpcValues: INTEGER; VAR [nil] lpcbMaxValueNameLen: INTEGER; VAR [nil] lpcbMaxValueLen: INTEGER; VAR [nil] lpcbSecurityDescriptor: INTEGER; VAR [nil] lpftLastWriteTime: FILETIME): INTEGER;
	(*END RegQueryInfoKey;*)

	PROCEDURE RegQueryValueA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; lpValue: PtrSTR; VAR [nil] lpcbValue: INTEGER): INTEGER;
	(*END RegQueryValueA;*)

	PROCEDURE RegQueryValueW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; lpValue: PtrWSTR; VAR [nil] lpcbValue: INTEGER): INTEGER;
	(*END RegQueryValueW;*)

	PROCEDURE RegQueryValue* ["ADVAPI32.dll", "RegQueryValueA"] (hKey: HKEY; lpSubKey: PtrSTR; lpValue: PtrSTR; VAR [nil] lpcbValue: INTEGER): INTEGER;
	(*END RegQueryValue;*)

	PROCEDURE RegQueryMultipleValuesA* ["ADVAPI32.dll", ""] (hKey: HKEY; VAR [nil] val_list: VALENTA; num_vals: INTEGER; lpValueBuf: PtrSTR; VAR [nil] ldwTotsize: INTEGER): INTEGER;
	(*END RegQueryMultipleValuesA;*)

	PROCEDURE RegQueryMultipleValuesW* ["ADVAPI32.dll", ""] (hKey: HKEY; VAR [nil] val_list: VALENTW; num_vals: INTEGER; lpValueBuf: PtrWSTR; VAR [nil] ldwTotsize: INTEGER): INTEGER;
	(*END RegQueryMultipleValuesW;*)

	PROCEDURE RegQueryMultipleValues* ["ADVAPI32.dll", "RegQueryMultipleValuesA"] (hKey: HKEY; VAR [nil] val_list: VALENTA; num_vals: INTEGER; lpValueBuf: PtrSTR; VAR [nil] ldwTotsize: INTEGER): INTEGER;
	(*END RegQueryMultipleValues;*)

	PROCEDURE RegQueryValueExA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpValueName: PtrSTR; VAR [nil] lpReserved: INTEGER; VAR [nil] lpType: INTEGER; lpData: PtrVoid; VAR [nil] lpcbData: INTEGER): INTEGER;
	(*END RegQueryValueExA;*)

	PROCEDURE RegQueryValueExW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpValueName: PtrWSTR; VAR [nil] lpReserved: INTEGER; VAR [nil] lpType: INTEGER; lpData: PtrVoid; VAR [nil] lpcbData: INTEGER): INTEGER;
	(*END RegQueryValueExW;*)

	PROCEDURE RegQueryValueEx* ["ADVAPI32.dll", "RegQueryValueExA"] (hKey: HKEY; lpValueName: PtrSTR; VAR [nil] lpReserved: INTEGER; VAR [nil] lpType: INTEGER; lpData: PtrVoid; VAR [nil] lpcbData: INTEGER): INTEGER;
	(*END RegQueryValueEx;*)

	PROCEDURE RegReplaceKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; lpNewFile: PtrSTR; lpOldFile: PtrSTR): INTEGER;
	(*END RegReplaceKeyA;*)

	PROCEDURE RegReplaceKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; lpNewFile: PtrWSTR; lpOldFile: PtrWSTR): INTEGER;
	(*END RegReplaceKeyW;*)

	PROCEDURE RegReplaceKey* ["ADVAPI32.dll", "RegReplaceKeyA"] (hKey: HKEY; lpSubKey: PtrSTR; lpNewFile: PtrSTR; lpOldFile: PtrSTR): INTEGER;
	(*END RegReplaceKey;*)

	PROCEDURE RegRestoreKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpFile: PtrSTR; dwFlags: SET): INTEGER;
	(*END RegRestoreKeyA;*)

	PROCEDURE RegRestoreKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpFile: PtrWSTR; dwFlags: SET): INTEGER;
	(*END RegRestoreKeyW;*)

	PROCEDURE RegRestoreKey* ["ADVAPI32.dll", "RegRestoreKeyA"] (hKey: HKEY; lpFile: PtrSTR; dwFlags: SET): INTEGER;
	(*END RegRestoreKey;*)

	PROCEDURE RegSaveKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpFile: PtrSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): INTEGER;
	(*END RegSaveKeyA;*)

	PROCEDURE RegSaveKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpFile: PtrWSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): INTEGER;
	(*END RegSaveKeyW;*)

	PROCEDURE RegSaveKey* ["ADVAPI32.dll", "RegSaveKeyA"] (hKey: HKEY; lpFile: PtrSTR; VAR [nil] lpSecurityAttributes: SECURITY_ATTRIBUTES): INTEGER;
	(*END RegSaveKey;*)

	PROCEDURE RegSetKeySecurity* ["ADVAPI32.dll", ""] (hKey: HKEY; SecurityInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSECURITY_DESCRIPTOR): INTEGER;
	(*END RegSetKeySecurity;*)

	PROCEDURE RegSetValueA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR; dwType: INTEGER; lpData: PtrSTR; cbData: INTEGER): INTEGER;
	(*END RegSetValueA;*)

	PROCEDURE RegSetValueW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR; dwType: INTEGER; lpData: PtrWSTR; cbData: INTEGER): INTEGER;
	(*END RegSetValueW;*)

	PROCEDURE RegSetValue* ["ADVAPI32.dll", "RegSetValueA"] (hKey: HKEY; lpSubKey: PtrSTR; dwType: INTEGER; lpData: PtrSTR; cbData: INTEGER): INTEGER;
	(*END RegSetValue;*)

	PROCEDURE RegSetValueExA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpValueName: PtrSTR; Reserved: INTEGER; dwType: INTEGER; lpData: PtrVoid; cbData: INTEGER): INTEGER;
	(*END RegSetValueExA;*)

	PROCEDURE RegSetValueExW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpValueName: PtrWSTR; Reserved: INTEGER; dwType: INTEGER; lpData: PtrVoid; cbData: INTEGER): INTEGER;
	(*END RegSetValueExW;*)

	PROCEDURE RegSetValueEx* ["ADVAPI32.dll", "RegSetValueExA"] (hKey: HKEY; lpValueName: PtrSTR; Reserved: INTEGER; dwType: INTEGER; lpData: PtrVoid; cbData: INTEGER): INTEGER;
	(*END RegSetValueEx;*)

	PROCEDURE RegUnLoadKeyA* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrSTR): INTEGER;
	(*END RegUnLoadKeyA;*)

	PROCEDURE RegUnLoadKeyW* ["ADVAPI32.dll", ""] (hKey: HKEY; lpSubKey: PtrWSTR): INTEGER;
	(*END RegUnLoadKeyW;*)

	PROCEDURE RegUnLoadKey* ["ADVAPI32.dll", "RegUnLoadKeyA"] (hKey: HKEY; lpSubKey: PtrSTR): INTEGER;
	(*END RegUnLoadKey;*)

	PROCEDURE InitiateSystemShutdownA* ["ADVAPI32.dll", ""] (lpMachineName: PtrSTR; lpMessage: PtrSTR; dwTimeout: INTEGER; bForceAppsClosed: BOOL; bRebootAfterShutdown: BOOL): BOOL;
	(*END InitiateSystemShutdownA;*)

	PROCEDURE InitiateSystemShutdownW* ["ADVAPI32.dll", ""] (lpMachineName: PtrWSTR; lpMessage: PtrWSTR; dwTimeout: INTEGER; bForceAppsClosed: BOOL; bRebootAfterShutdown: BOOL): BOOL;
	(*END InitiateSystemShutdownW;*)

	PROCEDURE InitiateSystemShutdown* ["ADVAPI32.dll", "InitiateSystemShutdownA"] (lpMachineName: PtrSTR; lpMessage: PtrSTR; dwTimeout: INTEGER; bForceAppsClosed: BOOL; bRebootAfterShutdown: BOOL): BOOL;
	(*END InitiateSystemShutdown;*)

	PROCEDURE AbortSystemShutdownA* ["ADVAPI32.dll", ""] (lpMachineName: PtrSTR): BOOL;
	(*END AbortSystemShutdownA;*)

	PROCEDURE AbortSystemShutdownW* ["ADVAPI32.dll", ""] (lpMachineName: PtrWSTR): BOOL;
	(*END AbortSystemShutdownW;*)

	PROCEDURE AbortSystemShutdown* ["ADVAPI32.dll", "AbortSystemShutdownA"] (lpMachineName: PtrSTR): BOOL;
	(*END AbortSystemShutdown;*)

	PROCEDURE DdeSetQualityOfService* ["USER32.dll", ""] (hwndClient: HWND; VAR [nil] pqosNew: SECURITY_QUALITY_OF_SERVICE; VAR [nil] pqosPrev: SECURITY_QUALITY_OF_SERVICE): BOOL;
	(*END DdeSetQualityOfService;*)

	PROCEDURE ImpersonateDdeClientWindow* ["USER32.dll", ""] (hWndClient: HWND; hWndServer: HWND): BOOL;
	(*END ImpersonateDdeClientWindow;*)

	PROCEDURE PackDDElParam* ["USER32.dll", ""] (msg: INTEGER; uiLo: INTEGER; uiHi: INTEGER): INTEGER;
	(*END PackDDElParam;*)

	PROCEDURE UnpackDDElParam* ["USER32.dll", ""] (msg: INTEGER; lParam: INTEGER; VAR [nil] puiLo: INTEGER; VAR [nil] puiHi: INTEGER): BOOL;
	(*END UnpackDDElParam;*)

	PROCEDURE FreeDDElParam* ["USER32.dll", ""] (msg: INTEGER; lParam: INTEGER): BOOL;
	(*END FreeDDElParam;*)

	PROCEDURE ReuseDDElParam* ["USER32.dll", ""] (lParam: INTEGER; msgIn: INTEGER; msgOut: INTEGER; uiLo: INTEGER; uiHi: INTEGER): INTEGER;
	(*END ReuseDDElParam;*)

	PROCEDURE DdeInitializeA* ["USER32.dll", ""] (VAR [nil] pidInst: INTEGER; pfnCallback: FNCALLBACK; afCmd: INTEGER; ulRes: INTEGER): INTEGER;
	(*END DdeInitializeA;*)

	PROCEDURE DdeInitializeW* ["USER32.dll", ""] (VAR [nil] pidInst: INTEGER; pfnCallback: FNCALLBACK; afCmd: INTEGER; ulRes: INTEGER): INTEGER;
	(*END DdeInitializeW;*)

	PROCEDURE DdeInitialize* ["USER32.dll", "DdeInitializeA"] (VAR [nil] pidInst: INTEGER; pfnCallback: FNCALLBACK; afCmd: INTEGER; ulRes: INTEGER): INTEGER;
	(*END DdeInitialize;*)

	PROCEDURE DdeUninitialize* ["USER32.dll", ""] (idInst: INTEGER): BOOL;
	(*END DdeUninitialize;*)

	PROCEDURE DdeConnectList* ["USER32.dll", ""] (idInst: INTEGER; hszService: HSZ; hszTopic: HSZ; hConvList: HCONVLIST; VAR [nil] pCC: CONVCONTEXT): HCONVLIST;
	(*END DdeConnectList;*)

	PROCEDURE DdeQueryNextServer* ["USER32.dll", ""] (hConvList: HCONVLIST; hConvPrev: HCONV): HCONV;
	(*END DdeQueryNextServer;*)

	PROCEDURE DdeDisconnectList* ["USER32.dll", ""] (hConvList: HCONVLIST): BOOL;
	(*END DdeDisconnectList;*)

	PROCEDURE DdeConnect* ["USER32.dll", ""] (idInst: INTEGER; hszService: HSZ; hszTopic: HSZ; VAR [nil] pCC: CONVCONTEXT): HCONV;
	(*END DdeConnect;*)

	PROCEDURE DdeDisconnect* ["USER32.dll", ""] (hConv: HCONV): BOOL;
	(*END DdeDisconnect;*)

	PROCEDURE DdeReconnect* ["USER32.dll", ""] (hConv: HCONV): HCONV;
	(*END DdeReconnect;*)

	PROCEDURE DdeQueryConvInfo* ["USER32.dll", ""] (hConv: HCONV; idTransaction: INTEGER; VAR [nil] pConvInfo: CONVINFO): INTEGER;
	(*END DdeQueryConvInfo;*)

	PROCEDURE DdeSetUserHandle* ["USER32.dll", ""] (hConv: HCONV; id: INTEGER; hUser: INTEGER): BOOL;
	(*END DdeSetUserHandle;*)

	PROCEDURE DdeAbandonTransaction* ["USER32.dll", ""] (idInst: INTEGER; hConv: HCONV; idTransaction: INTEGER): BOOL;
	(*END DdeAbandonTransaction;*)

	PROCEDURE DdePostAdvise* ["USER32.dll", ""] (idInst: INTEGER; hszTopic: HSZ; hszItem: HSZ): BOOL;
	(*END DdePostAdvise;*)

	PROCEDURE DdeEnableCallback* ["USER32.dll", ""] (idInst: INTEGER; hConv: HCONV; wCmd: INTEGER): BOOL;
	(*END DdeEnableCallback;*)

	PROCEDURE DdeImpersonateClient* ["USER32.dll", ""] (hConv: HCONV): BOOL;
	(*END DdeImpersonateClient;*)

	PROCEDURE DdeNameService* ["USER32.dll", ""] (idInst: INTEGER; hsz1: HSZ; hsz2: HSZ; afCmd: INTEGER): HDDEDATA;
	(*END DdeNameService;*)

	PROCEDURE DdeClientTransaction* ["USER32.dll", ""] (VAR [nil] pData: SHORTCHAR; cbData: INTEGER; hConv: HCONV; hszItem: HSZ; wFmt: INTEGER; wType: INTEGER; dwTimeout: INTEGER; VAR [nil] pdwResult: INTEGER): HDDEDATA;
	(*END DdeClientTransaction;*)

	PROCEDURE DdeCreateDataHandle* ["USER32.dll", ""] (idInst: INTEGER; VAR [nil] pSrc: SHORTCHAR; cb: INTEGER; cbOff: INTEGER; hszItem: HSZ; wFmt: INTEGER; afCmd: INTEGER): HDDEDATA;
	(*END DdeCreateDataHandle;*)

	PROCEDURE DdeAddData* ["USER32.dll", ""] (hData: HDDEDATA; VAR [nil] pSrc: SHORTCHAR; cb: INTEGER; cbOff: INTEGER): HDDEDATA;
	(*END DdeAddData;*)

	PROCEDURE DdeGetData* ["USER32.dll", ""] (hData: HDDEDATA; VAR [nil] pDst: SHORTCHAR; cbMax: INTEGER; cbOff: INTEGER): INTEGER;
	(*END DdeGetData;*)

	PROCEDURE DdeAccessData* ["USER32.dll", ""] (hData: HDDEDATA; VAR [nil] pcbDataSize: INTEGER): RetDdeAccessData;
	(*END DdeAccessData;*)

	PROCEDURE DdeUnaccessData* ["USER32.dll", ""] (hData: HDDEDATA): BOOL;
	(*END DdeUnaccessData;*)

	PROCEDURE DdeFreeDataHandle* ["USER32.dll", ""] (hData: HDDEDATA): BOOL;
	(*END DdeFreeDataHandle;*)

	PROCEDURE DdeGetLastError* ["USER32.dll", ""] (idInst: INTEGER): INTEGER;
	(*END DdeGetLastError;*)

	PROCEDURE DdeCreateStringHandleA* ["USER32.dll", ""] (idInst: INTEGER; psz: PtrSTR; iCodePage: INTEGER): HSZ;
	(*END DdeCreateStringHandleA;*)

	PROCEDURE DdeCreateStringHandleW* ["USER32.dll", ""] (idInst: INTEGER; psz: PtrWSTR; iCodePage: INTEGER): HSZ;
	(*END DdeCreateStringHandleW;*)

	PROCEDURE DdeCreateStringHandle* ["USER32.dll", "DdeCreateStringHandleA"] (idInst: INTEGER; psz: PtrSTR; iCodePage: INTEGER): HSZ;
	(*END DdeCreateStringHandle;*)

	PROCEDURE DdeQueryStringA* ["USER32.dll", ""] (idInst: INTEGER; hsz: HSZ; psz: PtrSTR; cchMax: INTEGER; iCodePage: INTEGER): INTEGER;
	(*END DdeQueryStringA;*)

	PROCEDURE DdeQueryStringW* ["USER32.dll", ""] (idInst: INTEGER; hsz: HSZ; psz: PtrWSTR; cchMax: INTEGER; iCodePage: INTEGER): INTEGER;
	(*END DdeQueryStringW;*)

	PROCEDURE DdeQueryString* ["USER32.dll", "DdeQueryStringA"] (idInst: INTEGER; hsz: HSZ; psz: PtrSTR; cchMax: INTEGER; iCodePage: INTEGER): INTEGER;
	(*END DdeQueryString;*)

	PROCEDURE DdeFreeStringHandle* ["USER32.dll", ""] (idInst: INTEGER; hsz: HSZ): BOOL;
	(*END DdeFreeStringHandle;*)

	PROCEDURE DdeKeepStringHandle* ["USER32.dll", ""] (idInst: INTEGER; hsz: HSZ): BOOL;
	(*END DdeKeepStringHandle;*)

	PROCEDURE DdeCmpStringHandles* ["USER32.dll", ""] (hsz1: HSZ; hsz2: HSZ): INTEGER;
	(*END DdeCmpStringHandles;*)
		
	PROCEDURE SendInput* ["USER32.dll", ""] (nInputs: INTEGER; pInputs: POINTER TO ARRAY [untagged] OF INPUT; cbSize: INTEGER): INTEGER;
	(*END SendInput;*)

	PROCEDURE LZStart* ["LZ32.dll", ""] (): INTEGER;
	(*END LZStart;*)

	PROCEDURE LZDone* ["LZ32.dll", ""] ();
	(*END LZDone;*)

	PROCEDURE CopyLZFile* ["LZ32.dll", ""] (p0: INTEGER; p1: INTEGER): INTEGER;
	(*END CopyLZFile;*)

	PROCEDURE LZCopy* ["LZ32.dll", ""] (p0: INTEGER; p1: INTEGER): INTEGER;
	(*END LZCopy;*)

	PROCEDURE LZInit* ["LZ32.dll", ""] (p0: INTEGER): INTEGER;
	(*END LZInit;*)

	PROCEDURE GetExpandedNameA* ["LZ32.dll", ""] (p0: PtrSTR; p1: PtrSTR): INTEGER;
	(*END GetExpandedNameA;*)

	PROCEDURE GetExpandedNameW* ["LZ32.dll", ""] (p0: PtrWSTR; p1: PtrWSTR): INTEGER;
	(*END GetExpandedNameW;*)

	PROCEDURE GetExpandedName* ["LZ32.dll", "GetExpandedNameA"] (p0: PtrSTR; p1: PtrSTR): INTEGER;
	(*END GetExpandedName;*)

	PROCEDURE LZOpenFileA* ["LZ32.dll", ""] (p0: PtrSTR; VAR [nil] p1: OFSTRUCT; p2: SHORTINT): INTEGER;
	(*END LZOpenFileA;*)

	PROCEDURE LZOpenFileW* ["LZ32.dll", ""] (p0: PtrWSTR; VAR [nil] p1: OFSTRUCT; p2: SHORTINT): INTEGER;
	(*END LZOpenFileW;*)

	PROCEDURE LZOpenFile* ["LZ32.dll", "LZOpenFileA"] (p0: PtrSTR; VAR [nil] p1: OFSTRUCT; p2: SHORTINT): INTEGER;
	(*END LZOpenFile;*)

	PROCEDURE LZSeek* ["LZ32.dll", ""] (p0: INTEGER; p1: INTEGER; p2: INTEGER): INTEGER;
	(*END LZSeek;*)

	PROCEDURE LZRead* ["LZ32.dll", ""] (p0: INTEGER; p1: PtrSTR; p2: INTEGER): INTEGER;
	(*END LZRead;*)

	PROCEDURE LZClose* ["LZ32.dll", ""] (p0: INTEGER);
	(*END LZClose;*)

	PROCEDURE DragQueryFileA* ["SHELL32.dll", ""] (p0: HDROP; p1: INTEGER; p2: PtrSTR; p3: INTEGER): INTEGER;
	(*END DragQueryFileA;*)

	PROCEDURE DragQueryFileW* ["SHELL32.dll", ""] (p0: HDROP; p1: INTEGER; p2: PtrWSTR; p3: INTEGER): INTEGER;
	(*END DragQueryFileW;*)

	PROCEDURE DragQueryFile* ["SHELL32.dll", "DragQueryFileA"] (p0: HDROP; p1: INTEGER; p2: PtrSTR; p3: INTEGER): INTEGER;
	(*END DragQueryFile;*)

	PROCEDURE DragQueryPoint* ["SHELL32.dll", ""] (p0: HDROP; VAR [nil] p1: POINT): BOOL;
	(*END DragQueryPoint;*)

	PROCEDURE DragFinish* ["SHELL32.dll", ""] (p0: HDROP);
	(*END DragFinish;*)

	PROCEDURE DragAcceptFiles* ["SHELL32.dll", ""] (p0: HWND; p1: BOOL);
	(*END DragAcceptFiles;*)

	PROCEDURE ShellExecuteA* ["SHELL32.dll", ""] (hwnd: HWND; lpOperation: PtrSTR; lpFile: PtrSTR; lpParameters: PtrSTR; lpDirectory: PtrSTR; nShowCmd: INTEGER): HINSTANCE;
	(*END ShellExecuteA;*)

	PROCEDURE ShellExecuteW* ["SHELL32.dll", ""] (hwnd: HWND; lpOperation: PtrWSTR; lpFile: PtrWSTR; lpParameters: PtrWSTR; lpDirectory: PtrWSTR; nShowCmd: INTEGER): HINSTANCE;
	(*END ShellExecuteW;*)

	PROCEDURE ShellExecute* ["SHELL32.dll", "ShellExecuteA"] (hwnd: HWND; lpOperation: PtrSTR; lpFile: PtrSTR; lpParameters: PtrSTR; lpDirectory: PtrSTR; nShowCmd: INTEGER): HINSTANCE;
	(*END ShellExecute;*)

	PROCEDURE FindExecutableA* ["SHELL32.dll", ""] (lpFile: PtrSTR; lpDirectory: PtrSTR; lpResult: PtrSTR): HINSTANCE;
	(*END FindExecutableA;*)

	PROCEDURE FindExecutableW* ["SHELL32.dll", ""] (lpFile: PtrWSTR; lpDirectory: PtrWSTR; lpResult: PtrWSTR): HINSTANCE;
	(*END FindExecutableW;*)

	PROCEDURE FindExecutable* ["SHELL32.dll", "FindExecutableA"] (lpFile: PtrSTR; lpDirectory: PtrSTR; lpResult: PtrSTR): HINSTANCE;
	(*END FindExecutable;*)

	PROCEDURE CommandLineToArgvW* ["SHELL32.dll", ""] (lpCmdLine: PtrWSTR; VAR [nil] pNumArgs: INTEGER): RetCommandLineToArgvW;
	(*END CommandLineToArgvW;*)

	PROCEDURE ShellAboutA* ["SHELL32.dll", ""] (hWnd: HWND; szApp: PtrSTR; szOtherStuff: PtrSTR; hIcon: HICON): INTEGER;
	(*END ShellAboutA;*)

	PROCEDURE ShellAboutW* ["SHELL32.dll", ""] (hWnd: HWND; szApp: PtrWSTR; szOtherStuff: PtrWSTR; hIcon: HICON): INTEGER;
	(*END ShellAboutW;*)

	PROCEDURE ShellAbout* ["SHELL32.dll", "ShellAboutA"] (hWnd: HWND; szApp: PtrSTR; szOtherStuff: PtrSTR; hIcon: HICON): INTEGER;
	(*END ShellAbout;*)

	PROCEDURE DuplicateIcon* ["SHELL32.dll", ""] (hInst: HINSTANCE; hIcon: HICON): HICON;
	(*END DuplicateIcon;*)

	PROCEDURE ExtractAssociatedIconA* ["SHELL32.dll", ""] (hInst: HINSTANCE; lpIconPath: PtrSTR; VAR [nil] lpiIcon: SHORTINT): HICON;
	(*END ExtractAssociatedIconA;*)

	PROCEDURE ExtractAssociatedIconW* ["SHELL32.dll", ""] (hInst: HINSTANCE; lpIconPath: PtrWSTR; VAR [nil] lpiIcon: SHORTINT): HICON;
	(*END ExtractAssociatedIconW;*)

	PROCEDURE ExtractAssociatedIcon* ["SHELL32.dll", "ExtractAssociatedIconA"] (hInst: HINSTANCE; lpIconPath: PtrSTR; VAR [nil] lpiIcon: SHORTINT): HICON;
	(*END ExtractAssociatedIcon;*)

	PROCEDURE ExtractIconA* ["SHELL32.dll", ""] (hInst: HINSTANCE; lpszExeFileName: PtrSTR; nIconIndex: INTEGER): HICON;
	(*END ExtractIconA;*)

	PROCEDURE ExtractIconW* ["SHELL32.dll", ""] (hInst: HINSTANCE; lpszExeFileName: PtrWSTR; nIconIndex: INTEGER): HICON;
	(*END ExtractIconW;*)

	PROCEDURE ExtractIcon* ["SHELL32.dll", "ExtractIconA"] (hInst: HINSTANCE; lpszExeFileName: PtrSTR; nIconIndex: INTEGER): HICON;
	(*END ExtractIcon;*)

	PROCEDURE SHAppBarMessage* ["SHELL32.dll", ""] (dwMessage: INTEGER; VAR [nil] pData: APPBARDATA): INTEGER;
	(*END SHAppBarMessage;*)

	PROCEDURE DoEnvironmentSubstA* ["SHELL32.dll", ""] (szString: PtrSTR; cbString: INTEGER): INTEGER;
	(*END DoEnvironmentSubstA;*)

	PROCEDURE DoEnvironmentSubstW* ["SHELL32.dll", ""] (szString: PtrWSTR; cbString: INTEGER): INTEGER;
	(*END DoEnvironmentSubstW;*)

	PROCEDURE DoEnvironmentSubst* ["SHELL32.dll", "DoEnvironmentSubstA"] (szString: PtrSTR; cbString: INTEGER): INTEGER;
	(*END DoEnvironmentSubst;*)

	PROCEDURE ExtractIconExA* ["SHELL32.dll", ""] (lpszFile: PtrSTR; nIconIndex: INTEGER; VAR [nil] phiconLarge: HICON; VAR [nil] phiconSmall: HICON; nIcons: INTEGER): INTEGER;
	(*END ExtractIconExA;*)

	PROCEDURE ExtractIconExW* ["SHELL32.dll", ""] (lpszFile: PtrWSTR; nIconIndex: INTEGER; VAR [nil] phiconLarge: HICON; VAR [nil] phiconSmall: HICON; nIcons: INTEGER): INTEGER;
	(*END ExtractIconExW;*)

	PROCEDURE ExtractIconEx* ["SHELL32.dll", "ExtractIconExA"] (lpszFile: PtrSTR; nIconIndex: INTEGER; VAR [nil] phiconLarge: HICON; VAR [nil] phiconSmall: HICON; nIcons: INTEGER): INTEGER;
	(*END ExtractIconEx;*)

	PROCEDURE SHFileOperationA* ["SHELL32.dll", ""] (VAR [nil] lpFileOp: SHFILEOPSTRUCTA): INTEGER;
	(*END SHFileOperationA;*)

	PROCEDURE SHFileOperationW* ["SHELL32.dll", ""] (VAR [nil] lpFileOp: SHFILEOPSTRUCTW): INTEGER;
	(*END SHFileOperationW;*)

	PROCEDURE SHFileOperation* ["SHELL32.dll", "SHFileOperationA"] (VAR [nil] lpFileOp: SHFILEOPSTRUCTA): INTEGER;
	(*END SHFileOperation;*)

	PROCEDURE SHFreeNameMappings* ["SHELL32.dll", ""] (hNameMappings: HANDLE);
	(*END SHFreeNameMappings;*)

	PROCEDURE ShellExecuteExA* ["SHELL32.dll", ""] (VAR [nil] lpExecInfo: SHELLEXECUTEINFOA): BOOL;
	(*END ShellExecuteExA;*)

	PROCEDURE ShellExecuteExW* ["SHELL32.dll", ""] (VAR [nil] lpExecInfo: SHELLEXECUTEINFOW): BOOL;
	(*END ShellExecuteExW;*)

	PROCEDURE ShellExecuteEx* ["SHELL32.dll", "ShellExecuteExA"] (VAR [nil] lpExecInfo: SHELLEXECUTEINFOA): BOOL;
	(*END ShellExecuteEx;*)

	PROCEDURE Shell_NotifyIconA* ["SHELL32.dll", ""] (dwMessage: INTEGER; VAR [nil] lpData: NOTIFYICONDATAA): BOOL;
	(*END Shell_NotifyIconA;*)

	PROCEDURE Shell_NotifyIconW* ["SHELL32.dll", ""] (dwMessage: INTEGER; VAR [nil] lpData: NOTIFYICONDATAW): BOOL;
	(*END Shell_NotifyIconW;*)

	PROCEDURE Shell_NotifyIcon* ["SHELL32.dll", "Shell_NotifyIconA"] (dwMessage: INTEGER; VAR [nil] lpData: NOTIFYICONDATAA): BOOL;
	(*END Shell_NotifyIcon;*)

	PROCEDURE SHGetFileInfoA* ["SHELL32.dll", ""] (pszPath: PtrSTR; dwFileAttributes: SET; VAR [nil] psfi: SHFILEINFOA; cbFileInfo: INTEGER; uFlags: SET): INTEGER;
	(*END SHGetFileInfoA;*)

	PROCEDURE SHGetFileInfoW* ["SHELL32.dll", ""] (pszPath: PtrWSTR; dwFileAttributes: SET; VAR [nil] psfi: SHFILEINFOW; cbFileInfo: INTEGER; uFlags: SET): INTEGER;
	(*END SHGetFileInfoW;*)

	PROCEDURE SHGetFileInfo* ["SHELL32.dll", "SHGetFileInfoA"] (pszPath: PtrSTR; dwFileAttributes: SET; VAR [nil] psfi: SHFILEINFOA; cbFileInfo: INTEGER; uFlags: SET): INTEGER;
	(*END SHGetFileInfo;*)

	PROCEDURE SHGetNewLinkInfoA* ["SHELL32.dll", ""] (pszLinkTo: PtrSTR; pszDir: PtrSTR; pszName: PtrSTR; VAR [nil] pfMustCopy: BOOL; uFlags: SET): BOOL;
	(*END SHGetNewLinkInfoA;*)

	PROCEDURE SHGetNewLinkInfoW* ["SHELL32.dll", ""] (pszLinkTo: PtrWSTR; pszDir: PtrWSTR; pszName: PtrWSTR; VAR [nil] pfMustCopy: BOOL; uFlags: SET): BOOL;
	(*END SHGetNewLinkInfoW;*)

	PROCEDURE SHGetNewLinkInfo* ["SHELL32.dll", "SHGetNewLinkInfoA"] (pszLinkTo: PtrSTR; pszDir: PtrSTR; pszName: PtrSTR; VAR [nil] pfMustCopy: BOOL; uFlags: SET): BOOL;
	(*END SHGetNewLinkInfo;*)

	PROCEDURE CreatePropertySheetPageA* ["COMCTL32.dll", ""] (VAR [nil] p0: PROPSHEETPAGEA): Ptr_PSP;
	(*END CreatePropertySheetPageA;*)

	PROCEDURE CreatePropertySheetPageW* ["COMCTL32.dll", ""] (VAR [nil] p0: PROPSHEETPAGEW): Ptr_PSP;
	(*END CreatePropertySheetPageW;*)

	PROCEDURE DestroyPropertySheetPage* ["COMCTL32.dll", ""] (p0: Ptr_PSP): BOOL;
	(*END DestroyPropertySheetPage;*)

	PROCEDURE PropertySheetA* ["COMCTL32.dll", ""] (VAR [nil] p0: PROPSHEETHEADERA): INTEGER;
	(*END PropertySheetA;*)

	PROCEDURE PropertySheetW* ["COMCTL32.dll", ""] (VAR [nil] p0: PROPSHEETHEADERW): INTEGER;
	(*END PropertySheetW;*)

	PROCEDURE CreatePropertySheetPage* ["COMCTL32.dll", "CreatePropertySheetPageA"] (VAR [nil] p0: PROPSHEETPAGEA): Ptr_PSP;
	(*END CreatePropertySheetPage;*)

	PROCEDURE PropertySheet* ["COMCTL32.dll", "PropertySheetA"] (VAR [nil] p0: PROPSHEETHEADERA): INTEGER;
	(*END PropertySheet;*)

	PROCEDURE EnumPrintersA* ["WINSPOOL.drv", ""] (Flags: SET; Name: PtrSTR; Level: INTEGER; VAR [nil] pPrinterEnum: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintersA;*)

	PROCEDURE EnumPrintersW* ["WINSPOOL.drv", ""] (Flags: SET; Name: PtrWSTR; Level: INTEGER; VAR [nil] pPrinterEnum: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintersW;*)

	PROCEDURE EnumPrinters* ["WINSPOOL.drv", "EnumPrintersA"] (Flags: SET; Name: PtrSTR; Level: INTEGER; VAR [nil] pPrinterEnum: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrinters;*)

	PROCEDURE OpenPrinterA* ["WINSPOOL.drv", ""] (pPrinterName: PtrSTR; VAR [nil] phPrinter: HANDLE; VAR [nil] pDefault: PRINTER_DEFAULTSA): BOOL;
	(*END OpenPrinterA;*)

	PROCEDURE OpenPrinterW* ["WINSPOOL.drv", ""] (pPrinterName: PtrWSTR; VAR [nil] phPrinter: HANDLE; VAR [nil] pDefault: PRINTER_DEFAULTSW): BOOL;
	(*END OpenPrinterW;*)

	PROCEDURE OpenPrinter* ["WINSPOOL.drv", "OpenPrinterA"] (pPrinterName: PtrSTR; VAR [nil] phPrinter: HANDLE; VAR [nil] pDefault: PRINTER_DEFAULTSA): BOOL;
	(*END OpenPrinter;*)

	PROCEDURE ResetPrinterA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; VAR [nil] pDefault: PRINTER_DEFAULTSA): BOOL;
	(*END ResetPrinterA;*)

	PROCEDURE ResetPrinterW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; VAR [nil] pDefault: PRINTER_DEFAULTSW): BOOL;
	(*END ResetPrinterW;*)

	PROCEDURE ResetPrinter* ["WINSPOOL.drv", "ResetPrinterA"] (hPrinter: HANDLE; VAR [nil] pDefault: PRINTER_DEFAULTSA): BOOL;
	(*END ResetPrinter;*)

	PROCEDURE SetJobA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; JobId: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; Command: INTEGER): BOOL;
	(*END SetJobA;*)

	PROCEDURE SetJobW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; JobId: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; Command: INTEGER): BOOL;
	(*END SetJobW;*)

	PROCEDURE SetJob* ["WINSPOOL.drv", "SetJobA"] (hPrinter: HANDLE; JobId: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; Command: INTEGER): BOOL;
	(*END SetJob;*)

	PROCEDURE GetJobA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; JobId: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetJobA;*)

	PROCEDURE GetJobW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; JobId: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetJobW;*)

	PROCEDURE GetJob* ["WINSPOOL.drv", "GetJobA"] (hPrinter: HANDLE; JobId: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetJob;*)

	PROCEDURE EnumJobsA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; FirstJob: INTEGER; NoJobs: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumJobsA;*)

	PROCEDURE EnumJobsW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; FirstJob: INTEGER; NoJobs: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumJobsW;*)

	PROCEDURE EnumJobs* ["WINSPOOL.drv", "EnumJobsA"] (hPrinter: HANDLE; FirstJob: INTEGER; NoJobs: INTEGER; Level: INTEGER; VAR [nil] pJob: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumJobs;*)

	PROCEDURE AddPrinterA* ["WINSPOOL.drv", ""] (pName: PtrSTR; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR): HANDLE;
	(*END AddPrinterA;*)

	PROCEDURE AddPrinterW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR): HANDLE;
	(*END AddPrinterW;*)

	PROCEDURE AddPrinter* ["WINSPOOL.drv", "AddPrinterA"] (pName: PtrSTR; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR): HANDLE;
	(*END AddPrinter;*)

	PROCEDURE DeletePrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE): BOOL;
	(*END DeletePrinter;*)

	PROCEDURE SetPrinterA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR; Command: INTEGER): BOOL;
	(*END SetPrinterA;*)

	PROCEDURE SetPrinterW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR; Command: INTEGER): BOOL;
	(*END SetPrinterW;*)

	PROCEDURE SetPrinter* ["WINSPOOL.drv", "SetPrinterA"] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR; Command: INTEGER): BOOL;
	(*END SetPrinter;*)

	PROCEDURE GetPrinterA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterA;*)

	PROCEDURE GetPrinterW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterW;*)

	PROCEDURE GetPrinter* ["WINSPOOL.drv", "GetPrinterA"] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pPrinter: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinter;*)

	PROCEDURE AddPrinterDriverA* ["WINSPOOL.drv", ""] (pName: PtrSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR): BOOL;
	(*END AddPrinterDriverA;*)

	PROCEDURE AddPrinterDriverW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR): BOOL;
	(*END AddPrinterDriverW;*)

	PROCEDURE AddPrinterDriver* ["WINSPOOL.drv", "AddPrinterDriverA"] (pName: PtrSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR): BOOL;
	(*END AddPrinterDriver;*)

	PROCEDURE EnumPrinterDriversA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrinterDriversA;*)

	PROCEDURE EnumPrinterDriversW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrinterDriversW;*)

	PROCEDURE EnumPrinterDrivers* ["WINSPOOL.drv", "EnumPrinterDriversA"] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrinterDrivers;*)

	PROCEDURE GetPrinterDriverA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterDriverA;*)

	PROCEDURE GetPrinterDriverW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pEnvironment: PtrWSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterDriverW;*)

	PROCEDURE GetPrinterDriver* ["WINSPOOL.drv", "GetPrinterDriverA"] (hPrinter: HANDLE; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pDriverInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterDriver;*)

	PROCEDURE GetPrinterDriverDirectoryA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pDriverDirectory: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterDriverDirectoryA;*)

	PROCEDURE GetPrinterDriverDirectoryW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; Level: INTEGER; VAR [nil] pDriverDirectory: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterDriverDirectoryW;*)

	PROCEDURE GetPrinterDriverDirectory* ["WINSPOOL.drv", "GetPrinterDriverDirectoryA"] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pDriverDirectory: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrinterDriverDirectory;*)

	PROCEDURE DeletePrinterDriverA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; pDriverName: PtrSTR): BOOL;
	(*END DeletePrinterDriverA;*)

	PROCEDURE DeletePrinterDriverW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; pDriverName: PtrWSTR): BOOL;
	(*END DeletePrinterDriverW;*)

	PROCEDURE DeletePrinterDriver* ["WINSPOOL.drv", "DeletePrinterDriverA"] (pName: PtrSTR; pEnvironment: PtrSTR; pDriverName: PtrSTR): BOOL;
	(*END DeletePrinterDriver;*)

	PROCEDURE AddPrintProcessorA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; pPathName: PtrSTR; pPrintProcessorName: PtrSTR): BOOL;
	(*END AddPrintProcessorA;*)

	PROCEDURE AddPrintProcessorW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; pPathName: PtrWSTR; pPrintProcessorName: PtrWSTR): BOOL;
	(*END AddPrintProcessorW;*)

	PROCEDURE AddPrintProcessor* ["WINSPOOL.drv", "AddPrintProcessorA"] (pName: PtrSTR; pEnvironment: PtrSTR; pPathName: PtrSTR; pPrintProcessorName: PtrSTR): BOOL;
	(*END AddPrintProcessor;*)

	PROCEDURE EnumPrintProcessorsA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pPrintProcessorInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintProcessorsA;*)

	PROCEDURE EnumPrintProcessorsW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; Level: INTEGER; VAR [nil] pPrintProcessorInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintProcessorsW;*)

	PROCEDURE EnumPrintProcessors* ["WINSPOOL.drv", "EnumPrintProcessorsA"] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pPrintProcessorInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintProcessors;*)

	PROCEDURE GetPrintProcessorDirectoryA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pPrintProcessorInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrintProcessorDirectoryA;*)

	PROCEDURE GetPrintProcessorDirectoryW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; Level: INTEGER; VAR [nil] pPrintProcessorInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrintProcessorDirectoryW;*)

	PROCEDURE GetPrintProcessorDirectory* ["WINSPOOL.drv", "GetPrintProcessorDirectoryA"] (pName: PtrSTR; pEnvironment: PtrSTR; Level: INTEGER; VAR [nil] pPrintProcessorInfo: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetPrintProcessorDirectory;*)

	PROCEDURE EnumPrintProcessorDatatypesA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pPrintProcessorName: PtrSTR; Level: INTEGER; VAR [nil] pDatatypes: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintProcessorDatatypesA;*)

	PROCEDURE EnumPrintProcessorDatatypesW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pPrintProcessorName: PtrWSTR; Level: INTEGER; VAR [nil] pDatatypes: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintProcessorDatatypesW;*)

	PROCEDURE EnumPrintProcessorDatatypes* ["WINSPOOL.drv", "EnumPrintProcessorDatatypesA"] (pName: PtrSTR; pPrintProcessorName: PtrSTR; Level: INTEGER; VAR [nil] pDatatypes: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPrintProcessorDatatypes;*)

	PROCEDURE DeletePrintProcessorA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; pPrintProcessorName: PtrSTR): BOOL;
	(*END DeletePrintProcessorA;*)

	PROCEDURE DeletePrintProcessorW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; pPrintProcessorName: PtrWSTR): BOOL;
	(*END DeletePrintProcessorW;*)

	PROCEDURE DeletePrintProcessor* ["WINSPOOL.drv", "DeletePrintProcessorA"] (pName: PtrSTR; pEnvironment: PtrSTR; pPrintProcessorName: PtrSTR): BOOL;
	(*END DeletePrintProcessor;*)

	PROCEDURE StartDocPrinterA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pDocInfo: SHORTCHAR): INTEGER;
	(*END StartDocPrinterA;*)

	PROCEDURE StartDocPrinterW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pDocInfo: SHORTCHAR): INTEGER;
	(*END StartDocPrinterW;*)

	PROCEDURE StartDocPrinter* ["WINSPOOL.drv", "StartDocPrinterA"] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pDocInfo: SHORTCHAR): INTEGER;
	(*END StartDocPrinter;*)

	PROCEDURE StartPagePrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE): BOOL;
	(*END StartPagePrinter;*)

	PROCEDURE WritePrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pBuf: PtrVoid; cbBuf: INTEGER; VAR [nil] pcWritten: INTEGER): BOOL;
	(*END WritePrinter;*)

	PROCEDURE EndPagePrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE): BOOL;
	(*END EndPagePrinter;*)

	PROCEDURE AbortPrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE): BOOL;
	(*END AbortPrinter;*)

	PROCEDURE ReadPrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pBuf: PtrVoid; cbBuf: INTEGER; VAR [nil] pNoBytesRead: INTEGER): BOOL;
	(*END ReadPrinter;*)

	PROCEDURE EndDocPrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE): BOOL;
	(*END EndDocPrinter;*)

	PROCEDURE AddJobA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pData: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END AddJobA;*)

	PROCEDURE AddJobW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pData: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END AddJobW;*)

	PROCEDURE AddJob* ["WINSPOOL.drv", "AddJobA"] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pData: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END AddJob;*)

	PROCEDURE ScheduleJob* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; JobId: INTEGER): BOOL;
	(*END ScheduleJob;*)

	PROCEDURE PrinterProperties* ["WINSPOOL.drv", ""] (hWnd: HWND; hPrinter: HANDLE): BOOL;
	(*END PrinterProperties;*)

	PROCEDURE DocumentPropertiesA* ["WINSPOOL.drv", ""] (hWnd: HWND; hPrinter: HANDLE; pDeviceName: PtrSTR; VAR [nil] pDevModeOutput: DEVMODEA; VAR [nil] pDevModeInput: DEVMODEA; fMode: SET): INTEGER;
	(*END DocumentPropertiesA;*)

	PROCEDURE DocumentPropertiesW* ["WINSPOOL.drv", ""] (hWnd: HWND; hPrinter: HANDLE; pDeviceName: PtrWSTR; VAR [nil] pDevModeOutput: DEVMODEW; VAR [nil] pDevModeInput: DEVMODEW; fMode: SET): INTEGER;
	(*END DocumentPropertiesW;*)

	PROCEDURE DocumentProperties* ["WINSPOOL.drv", "DocumentPropertiesA"] (hWnd: HWND; hPrinter: HANDLE; pDeviceName: PtrSTR; VAR [nil] pDevModeOutput: DEVMODEA; VAR [nil] pDevModeInput: DEVMODEA; fMode: SET): INTEGER;
	(*END DocumentProperties;*)

	PROCEDURE AdvancedDocumentPropertiesA* ["WINSPOOL.drv", ""] (hWnd: HWND; hPrinter: HANDLE; pDeviceName: PtrSTR; VAR [nil] pDevModeOutput: DEVMODEA; VAR [nil] pDevModeInput: DEVMODEA): INTEGER;
	(*END AdvancedDocumentPropertiesA;*)

	PROCEDURE AdvancedDocumentPropertiesW* ["WINSPOOL.drv", ""] (hWnd: HWND; hPrinter: HANDLE; pDeviceName: PtrWSTR; VAR [nil] pDevModeOutput: DEVMODEW; VAR [nil] pDevModeInput: DEVMODEW): INTEGER;
	(*END AdvancedDocumentPropertiesW;*)

	PROCEDURE AdvancedDocumentProperties* ["WINSPOOL.drv", "AdvancedDocumentPropertiesA"] (hWnd: HWND; hPrinter: HANDLE; pDeviceName: PtrSTR; VAR [nil] pDevModeOutput: DEVMODEA; VAR [nil] pDevModeInput: DEVMODEA): INTEGER;
	(*END AdvancedDocumentProperties;*)

	PROCEDURE GetPrinterDataA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pValueName: PtrSTR; VAR [nil] pType: INTEGER; VAR [nil] pData: SHORTCHAR; nSize: INTEGER; VAR [nil] pcbNeeded: INTEGER): INTEGER;
	(*END GetPrinterDataA;*)

	PROCEDURE GetPrinterDataW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pValueName: PtrWSTR; VAR [nil] pType: INTEGER; VAR [nil] pData: SHORTCHAR; nSize: INTEGER; VAR [nil] pcbNeeded: INTEGER): INTEGER;
	(*END GetPrinterDataW;*)

	PROCEDURE GetPrinterData* ["WINSPOOL.drv", "GetPrinterDataA"] (hPrinter: HANDLE; pValueName: PtrSTR; VAR [nil] pType: INTEGER; VAR [nil] pData: SHORTCHAR; nSize: INTEGER; VAR [nil] pcbNeeded: INTEGER): INTEGER;
	(*END GetPrinterData;*)

	PROCEDURE SetPrinterDataA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pValueName: PtrSTR; Type: INTEGER; VAR [nil] pData: SHORTCHAR; cbData: INTEGER): INTEGER;
	(*END SetPrinterDataA;*)

	PROCEDURE SetPrinterDataW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pValueName: PtrWSTR; Type: INTEGER; VAR [nil] pData: SHORTCHAR; cbData: INTEGER): INTEGER;
	(*END SetPrinterDataW;*)

	PROCEDURE SetPrinterData* ["WINSPOOL.drv", "SetPrinterDataA"] (hPrinter: HANDLE; pValueName: PtrSTR; Type: INTEGER; VAR [nil] pData: SHORTCHAR; cbData: INTEGER): INTEGER;
	(*END SetPrinterData;*)

	PROCEDURE WaitForPrinterChange* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Flags: SET): INTEGER;
	(*END WaitForPrinterChange;*)

	PROCEDURE FindFirstPrinterChangeNotification* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; fdwFlags: SET; fdwOptions: INTEGER; pPrinterNotifyOptions: PtrVoid): HANDLE;
	(*END FindFirstPrinterChangeNotification;*)

	PROCEDURE FindNextPrinterChangeNotification* ["WINSPOOL.drv", ""] (hChange: HANDLE; VAR [nil] pdwChange: INTEGER; pvReserved: PtrVoid; ppPrinterNotifyInfo: POINTER TO (*?*) ARRAY [untagged] OF PtrVoid): BOOL;
	(*END FindNextPrinterChangeNotification;*)

	PROCEDURE FreePrinterNotifyInfo* ["WINSPOOL.drv", ""] (VAR [nil] pPrinterNotifyInfo: PRINTER_NOTIFY_INFO): BOOL;
	(*END FreePrinterNotifyInfo;*)

	PROCEDURE FindClosePrinterChangeNotification* ["WINSPOOL.drv", ""] (hChange: HANDLE): BOOL;
	(*END FindClosePrinterChangeNotification;*)

	PROCEDURE PrinterMessageBoxA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Error: INTEGER; hWnd: HWND; pText: PtrSTR; pCaption: PtrSTR; dwType: INTEGER): INTEGER;
	(*END PrinterMessageBoxA;*)

	PROCEDURE PrinterMessageBoxW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Error: INTEGER; hWnd: HWND; pText: PtrWSTR; pCaption: PtrWSTR; dwType: INTEGER): INTEGER;
	(*END PrinterMessageBoxW;*)

	PROCEDURE PrinterMessageBox* ["WINSPOOL.drv", "PrinterMessageBoxA"] (hPrinter: HANDLE; Error: INTEGER; hWnd: HWND; pText: PtrSTR; pCaption: PtrSTR; dwType: INTEGER): INTEGER;
	(*END PrinterMessageBox;*)

	PROCEDURE ClosePrinter* ["WINSPOOL.drv", ""] (hPrinter: HANDLE): BOOL;
	(*END ClosePrinter;*)

	PROCEDURE AddFormA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pForm: SHORTCHAR): BOOL;
	(*END AddFormA;*)

	PROCEDURE AddFormW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pForm: SHORTCHAR): BOOL;
	(*END AddFormW;*)

	PROCEDURE AddForm* ["WINSPOOL.drv", "AddFormA"] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pForm: SHORTCHAR): BOOL;
	(*END AddForm;*)

	PROCEDURE DeleteFormA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pFormName: PtrSTR): BOOL;
	(*END DeleteFormA;*)

	PROCEDURE DeleteFormW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pFormName: PtrWSTR): BOOL;
	(*END DeleteFormW;*)

	PROCEDURE DeleteForm* ["WINSPOOL.drv", "DeleteFormA"] (hPrinter: HANDLE; pFormName: PtrSTR): BOOL;
	(*END DeleteForm;*)

	PROCEDURE GetFormA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pFormName: PtrSTR; Level: INTEGER; VAR [nil] pForm: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetFormA;*)

	PROCEDURE GetFormW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pFormName: PtrWSTR; Level: INTEGER; VAR [nil] pForm: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetFormW;*)

	PROCEDURE GetForm* ["WINSPOOL.drv", "GetFormA"] (hPrinter: HANDLE; pFormName: PtrSTR; Level: INTEGER; VAR [nil] pForm: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER): BOOL;
	(*END GetForm;*)

	PROCEDURE SetFormA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pFormName: PtrSTR; Level: INTEGER; VAR [nil] pForm: SHORTCHAR): BOOL;
	(*END SetFormA;*)

	PROCEDURE SetFormW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; pFormName: PtrWSTR; Level: INTEGER; VAR [nil] pForm: SHORTCHAR): BOOL;
	(*END SetFormW;*)

	PROCEDURE SetForm* ["WINSPOOL.drv", "SetFormA"] (hPrinter: HANDLE; pFormName: PtrSTR; Level: INTEGER; VAR [nil] pForm: SHORTCHAR): BOOL;
	(*END SetForm;*)

	PROCEDURE EnumFormsA* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pForm: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumFormsA;*)

	PROCEDURE EnumFormsW* ["WINSPOOL.drv", ""] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pForm: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumFormsW;*)

	PROCEDURE EnumForms* ["WINSPOOL.drv", "EnumFormsA"] (hPrinter: HANDLE; Level: INTEGER; VAR [nil] pForm: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumForms;*)

	PROCEDURE EnumMonitorsA* ["WINSPOOL.drv", ""] (pName: PtrSTR; Level: INTEGER; VAR [nil] pMonitors: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumMonitorsA;*)

	PROCEDURE EnumMonitorsW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; Level: INTEGER; VAR [nil] pMonitors: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumMonitorsW;*)

	PROCEDURE EnumMonitors* ["WINSPOOL.drv", "EnumMonitorsA"] (pName: PtrSTR; Level: INTEGER; VAR [nil] pMonitors: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumMonitors;*)

	PROCEDURE AddMonitorA* ["WINSPOOL.drv", ""] (pName: PtrSTR; Level: INTEGER; VAR [nil] pMonitors: SHORTCHAR): BOOL;
	(*END AddMonitorA;*)

	PROCEDURE AddMonitorW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; Level: INTEGER; VAR [nil] pMonitors: SHORTCHAR): BOOL;
	(*END AddMonitorW;*)

	PROCEDURE AddMonitor* ["WINSPOOL.drv", "AddMonitorA"] (pName: PtrSTR; Level: INTEGER; VAR [nil] pMonitors: SHORTCHAR): BOOL;
	(*END AddMonitor;*)

	PROCEDURE DeleteMonitorA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; pMonitorName: PtrSTR): BOOL;
	(*END DeleteMonitorA;*)

	PROCEDURE DeleteMonitorW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; pMonitorName: PtrWSTR): BOOL;
	(*END DeleteMonitorW;*)

	PROCEDURE DeleteMonitor* ["WINSPOOL.drv", "DeleteMonitorA"] (pName: PtrSTR; pEnvironment: PtrSTR; pMonitorName: PtrSTR): BOOL;
	(*END DeleteMonitor;*)

	PROCEDURE EnumPortsA* ["WINSPOOL.drv", ""] (pName: PtrSTR; Level: INTEGER; VAR [nil] pPorts: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPortsA;*)

	PROCEDURE EnumPortsW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; Level: INTEGER; VAR [nil] pPorts: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPortsW;*)

	PROCEDURE EnumPorts* ["WINSPOOL.drv", "EnumPortsA"] (pName: PtrSTR; Level: INTEGER; VAR [nil] pPorts: SHORTCHAR; cbBuf: INTEGER; VAR [nil] pcbNeeded: INTEGER; VAR [nil] pcReturned: INTEGER): BOOL;
	(*END EnumPorts;*)

	PROCEDURE AddPortA* ["WINSPOOL.drv", ""] (pName: PtrSTR; hWnd: HWND; pMonitorName: PtrSTR): BOOL;
	(*END AddPortA;*)

	PROCEDURE AddPortW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; hWnd: HWND; pMonitorName: PtrWSTR): BOOL;
	(*END AddPortW;*)

	PROCEDURE AddPort* ["WINSPOOL.drv", "AddPortA"] (pName: PtrSTR; hWnd: HWND; pMonitorName: PtrSTR): BOOL;
	(*END AddPort;*)

	PROCEDURE ConfigurePortA* ["WINSPOOL.drv", ""] (pName: PtrSTR; hWnd: HWND; pPortName: PtrSTR): BOOL;
	(*END ConfigurePortA;*)

	PROCEDURE ConfigurePortW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; hWnd: HWND; pPortName: PtrWSTR): BOOL;
	(*END ConfigurePortW;*)

	PROCEDURE ConfigurePort* ["WINSPOOL.drv", "ConfigurePortA"] (pName: PtrSTR; hWnd: HWND; pPortName: PtrSTR): BOOL;
	(*END ConfigurePort;*)

	PROCEDURE DeletePortA* ["WINSPOOL.drv", ""] (pName: PtrSTR; hWnd: HWND; pPortName: PtrSTR): BOOL;
	(*END DeletePortA;*)

	PROCEDURE DeletePortW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; hWnd: HWND; pPortName: PtrWSTR): BOOL;
	(*END DeletePortW;*)

	PROCEDURE DeletePort* ["WINSPOOL.drv", "DeletePortA"] (pName: PtrSTR; hWnd: HWND; pPortName: PtrSTR): BOOL;
	(*END DeletePort;*)

	PROCEDURE AddPrinterConnectionA* ["WINSPOOL.drv", ""] (pName: PtrSTR): BOOL;
	(*END AddPrinterConnectionA;*)

	PROCEDURE AddPrinterConnectionW* ["WINSPOOL.drv", ""] (pName: PtrWSTR): BOOL;
	(*END AddPrinterConnectionW;*)

	PROCEDURE AddPrinterConnection* ["WINSPOOL.drv", "AddPrinterConnectionA"] (pName: PtrSTR): BOOL;
	(*END AddPrinterConnection;*)

	PROCEDURE DeletePrinterConnectionA* ["WINSPOOL.drv", ""] (pName: PtrSTR): BOOL;
	(*END DeletePrinterConnectionA;*)

	PROCEDURE DeletePrinterConnectionW* ["WINSPOOL.drv", ""] (pName: PtrWSTR): BOOL;
	(*END DeletePrinterConnectionW;*)

	PROCEDURE DeletePrinterConnection* ["WINSPOOL.drv", "DeletePrinterConnectionA"] (pName: PtrSTR): BOOL;
	(*END DeletePrinterConnection;*)

	PROCEDURE ConnectToPrinterDlg* ["WINSPOOL.drv", ""] (hwnd: HWND; Flags: SET): HANDLE;
	(*END ConnectToPrinterDlg;*)

	PROCEDURE AddPrintProvidorA* ["WINSPOOL.drv", ""] (pName: PtrSTR; level: INTEGER; VAR [nil] pProvidorInfo: SHORTCHAR): BOOL;
	(*END AddPrintProvidorA;*)

	PROCEDURE AddPrintProvidorW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; level: INTEGER; VAR [nil] pProvidorInfo: SHORTCHAR): BOOL;
	(*END AddPrintProvidorW;*)

	PROCEDURE AddPrintProvidor* ["WINSPOOL.drv", "AddPrintProvidorA"] (pName: PtrSTR; level: INTEGER; VAR [nil] pProvidorInfo: SHORTCHAR): BOOL;
	(*END AddPrintProvidor;*)

	PROCEDURE DeletePrintProvidorA* ["WINSPOOL.drv", ""] (pName: PtrSTR; pEnvironment: PtrSTR; pPrintProvidorName: PtrSTR): BOOL;
	(*END DeletePrintProvidorA;*)

	PROCEDURE DeletePrintProvidorW* ["WINSPOOL.drv", ""] (pName: PtrWSTR; pEnvironment: PtrWSTR; pPrintProvidorName: PtrWSTR): BOOL;
	(*END DeletePrintProvidorW;*)

	PROCEDURE DeletePrintProvidor* ["WINSPOOL.drv", "DeletePrintProvidorA"] (pName: PtrSTR; pEnvironment: PtrSTR; pPrintProvidorName: PtrSTR): BOOL;
	(*END DeletePrintProvidor;*)

	PROCEDURE ChangeServiceConfigA* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwServiceType: SET; dwStartType: INTEGER; dwErrorControl: INTEGER; lpBinaryPathName: PtrSTR; lpLoadOrderGroup: PtrSTR; VAR [nil] lpdwTagId: INTEGER; lpDependencies: PtrSTR; lpServiceStartName: PtrSTR; lpPassword: PtrSTR; lpDisplayName: PtrSTR): BOOL;
	(*END ChangeServiceConfigA;*)

	PROCEDURE ChangeServiceConfigW* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwServiceType: SET; dwStartType: INTEGER; dwErrorControl: INTEGER; lpBinaryPathName: PtrWSTR; lpLoadOrderGroup: PtrWSTR; VAR [nil] lpdwTagId: INTEGER; lpDependencies: PtrWSTR; lpServiceStartName: PtrWSTR; lpPassword: PtrWSTR; lpDisplayName: PtrWSTR): BOOL;
	(*END ChangeServiceConfigW;*)

	PROCEDURE ChangeServiceConfig* ["ADVAPI32.dll", "ChangeServiceConfigA"] (hService: SC_HANDLE; dwServiceType: SET; dwStartType: INTEGER; dwErrorControl: INTEGER; lpBinaryPathName: PtrSTR; lpLoadOrderGroup: PtrSTR; VAR [nil] lpdwTagId: INTEGER; lpDependencies: PtrSTR; lpServiceStartName: PtrSTR; lpPassword: PtrSTR; lpDisplayName: PtrSTR): BOOL;
	(*END ChangeServiceConfig;*)

	PROCEDURE CloseServiceHandle* ["ADVAPI32.dll", ""] (hSCObject: SC_HANDLE): BOOL;
	(*END CloseServiceHandle;*)

	PROCEDURE ControlService* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwControl: INTEGER; VAR [nil] lpServiceStatus: SERVICE_STATUS): BOOL;
	(*END ControlService;*)

	PROCEDURE CreateServiceA* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpServiceName: PtrSTR; lpDisplayName: PtrSTR; dwDesiredAccess: SET; dwServiceType: SET; dwStartType: INTEGER; dwErrorControl: INTEGER; lpBinaryPathName: PtrSTR; lpLoadOrderGroup: PtrSTR; VAR [nil] lpdwTagId: INTEGER; lpDependencies: PtrSTR; lpServiceStartName: PtrSTR; lpPassword: PtrSTR): SC_HANDLE;
	(*END CreateServiceA;*)

	PROCEDURE CreateServiceW* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpServiceName: PtrWSTR; lpDisplayName: PtrWSTR; dwDesiredAccess: SET; dwServiceType: SET; dwStartType: INTEGER; dwErrorControl: INTEGER; lpBinaryPathName: PtrWSTR; lpLoadOrderGroup: PtrWSTR; VAR [nil] lpdwTagId: INTEGER; lpDependencies: PtrWSTR; lpServiceStartName: PtrWSTR; lpPassword: PtrWSTR): SC_HANDLE;
	(*END CreateServiceW;*)

	PROCEDURE CreateService* ["ADVAPI32.dll", "CreateServiceA"] (hSCManager: SC_HANDLE; lpServiceName: PtrSTR; lpDisplayName: PtrSTR; dwDesiredAccess: SET; dwServiceType: SET; dwStartType: INTEGER; dwErrorControl: INTEGER; lpBinaryPathName: PtrSTR; lpLoadOrderGroup: PtrSTR; VAR [nil] lpdwTagId: INTEGER; lpDependencies: PtrSTR; lpServiceStartName: PtrSTR; lpPassword: PtrSTR): SC_HANDLE;
	(*END CreateService;*)

	PROCEDURE DeleteService* ["ADVAPI32.dll", ""] (hService: SC_HANDLE): BOOL;
	(*END DeleteService;*)

	PROCEDURE EnumDependentServicesA* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwServiceState: INTEGER; VAR [nil] lpServices: ENUM_SERVICE_STATUSA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER; VAR [nil] lpServicesReturned: INTEGER): BOOL;
	(*END EnumDependentServicesA;*)

	PROCEDURE EnumDependentServicesW* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwServiceState: INTEGER; VAR [nil] lpServices: ENUM_SERVICE_STATUSW; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER; VAR [nil] lpServicesReturned: INTEGER): BOOL;
	(*END EnumDependentServicesW;*)

	PROCEDURE EnumDependentServices* ["ADVAPI32.dll", "EnumDependentServicesA"] (hService: SC_HANDLE; dwServiceState: INTEGER; VAR [nil] lpServices: ENUM_SERVICE_STATUSA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER; VAR [nil] lpServicesReturned: INTEGER): BOOL;
	(*END EnumDependentServices;*)

	PROCEDURE EnumServicesStatusA* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; dwServiceType: SET; dwServiceState: INTEGER; VAR [nil] lpServices: ENUM_SERVICE_STATUSA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER; VAR [nil] lpServicesReturned: INTEGER; VAR [nil] lpResumeHandle: INTEGER): BOOL;
	(*END EnumServicesStatusA;*)

	PROCEDURE EnumServicesStatusW* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; dwServiceType: SET; dwServiceState: INTEGER; VAR [nil] lpServices: ENUM_SERVICE_STATUSW; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER; VAR [nil] lpServicesReturned: INTEGER; VAR [nil] lpResumeHandle: INTEGER): BOOL;
	(*END EnumServicesStatusW;*)

	PROCEDURE EnumServicesStatus* ["ADVAPI32.dll", "EnumServicesStatusA"] (hSCManager: SC_HANDLE; dwServiceType: SET; dwServiceState: INTEGER; VAR [nil] lpServices: ENUM_SERVICE_STATUSA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER; VAR [nil] lpServicesReturned: INTEGER; VAR [nil] lpResumeHandle: INTEGER): BOOL;
	(*END EnumServicesStatus;*)

	PROCEDURE GetServiceKeyNameA* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpDisplayName: PtrSTR; lpServiceName: PtrSTR; VAR [nil] lpcchBuffer: INTEGER): BOOL;
	(*END GetServiceKeyNameA;*)

	PROCEDURE GetServiceKeyNameW* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpDisplayName: PtrWSTR; lpServiceName: PtrWSTR; VAR [nil] lpcchBuffer: INTEGER): BOOL;
	(*END GetServiceKeyNameW;*)

	PROCEDURE GetServiceKeyName* ["ADVAPI32.dll", "GetServiceKeyNameA"] (hSCManager: SC_HANDLE; lpDisplayName: PtrSTR; lpServiceName: PtrSTR; VAR [nil] lpcchBuffer: INTEGER): BOOL;
	(*END GetServiceKeyName;*)

	PROCEDURE GetServiceDisplayNameA* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpServiceName: PtrSTR; lpDisplayName: PtrSTR; VAR [nil] lpcchBuffer: INTEGER): BOOL;
	(*END GetServiceDisplayNameA;*)

	PROCEDURE GetServiceDisplayNameW* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpServiceName: PtrWSTR; lpDisplayName: PtrWSTR; VAR [nil] lpcchBuffer: INTEGER): BOOL;
	(*END GetServiceDisplayNameW;*)

	PROCEDURE GetServiceDisplayName* ["ADVAPI32.dll", "GetServiceDisplayNameA"] (hSCManager: SC_HANDLE; lpServiceName: PtrSTR; lpDisplayName: PtrSTR; VAR [nil] lpcchBuffer: INTEGER): BOOL;
	(*END GetServiceDisplayName;*)

	PROCEDURE LockServiceDatabase* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE): SC_LOCK;
	(*END LockServiceDatabase;*)

	PROCEDURE NotifyBootConfigStatus* ["ADVAPI32.dll", ""] (BootAcceptable: BOOL): BOOL;
	(*END NotifyBootConfigStatus;*)

	PROCEDURE OpenSCManagerA* ["ADVAPI32.dll", ""] (lpMachineName: PtrSTR; lpDatabaseName: PtrSTR; dwDesiredAccess: SET): SC_HANDLE;
	(*END OpenSCManagerA;*)

	PROCEDURE OpenSCManagerW* ["ADVAPI32.dll", ""] (lpMachineName: PtrWSTR; lpDatabaseName: PtrWSTR; dwDesiredAccess: SET): SC_HANDLE;
	(*END OpenSCManagerW;*)

	PROCEDURE OpenSCManager* ["ADVAPI32.dll", "OpenSCManagerA"] (lpMachineName: PtrSTR; lpDatabaseName: PtrSTR; dwDesiredAccess: SET): SC_HANDLE;
	(*END OpenSCManager;*)

	PROCEDURE OpenServiceA* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpServiceName: PtrSTR; dwDesiredAccess: SET): SC_HANDLE;
	(*END OpenServiceA;*)

	PROCEDURE OpenServiceW* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; lpServiceName: PtrWSTR; dwDesiredAccess: SET): SC_HANDLE;
	(*END OpenServiceW;*)

	PROCEDURE OpenService* ["ADVAPI32.dll", "OpenServiceA"] (hSCManager: SC_HANDLE; lpServiceName: PtrSTR; dwDesiredAccess: SET): SC_HANDLE;
	(*END OpenService;*)

	PROCEDURE QueryServiceConfigA* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; VAR [nil] lpServiceConfig: QUERY_SERVICE_CONFIGA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceConfigA;*)

	PROCEDURE QueryServiceConfigW* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; VAR [nil] lpServiceConfig: QUERY_SERVICE_CONFIGW; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceConfigW;*)

	PROCEDURE QueryServiceConfig* ["ADVAPI32.dll", "QueryServiceConfigA"] (hService: SC_HANDLE; VAR [nil] lpServiceConfig: QUERY_SERVICE_CONFIGA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceConfig;*)

	PROCEDURE QueryServiceLockStatusA* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; VAR [nil] lpLockStatus: QUERY_SERVICE_LOCK_STATUSA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceLockStatusA;*)

	PROCEDURE QueryServiceLockStatusW* ["ADVAPI32.dll", ""] (hSCManager: SC_HANDLE; VAR [nil] lpLockStatus: QUERY_SERVICE_LOCK_STATUSW; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceLockStatusW;*)

	PROCEDURE QueryServiceLockStatus* ["ADVAPI32.dll", "QueryServiceLockStatusA"] (hSCManager: SC_HANDLE; VAR [nil] lpLockStatus: QUERY_SERVICE_LOCK_STATUSA; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceLockStatus;*)

	PROCEDURE QueryServiceObjectSecurity* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwSecurityInformation: SECURITY_INFORMATION; lpSecurityDescriptor: PSECURITY_DESCRIPTOR; cbBufSize: INTEGER; VAR [nil] pcbBytesNeeded: INTEGER): BOOL;
	(*END QueryServiceObjectSecurity;*)

	PROCEDURE QueryServiceStatus* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; VAR [nil] lpServiceStatus: SERVICE_STATUS): BOOL;
	(*END QueryServiceStatus;*)

	PROCEDURE RegisterServiceCtrlHandlerA* ["ADVAPI32.dll", ""] (lpServiceName: PtrSTR; lpHandlerProc: HANDLER_FUNCTION): SERVICE_STATUS_HANDLE;
	(*END RegisterServiceCtrlHandlerA;*)

	PROCEDURE RegisterServiceCtrlHandlerW* ["ADVAPI32.dll", ""] (lpServiceName: PtrWSTR; lpHandlerProc: HANDLER_FUNCTION): SERVICE_STATUS_HANDLE;
	(*END RegisterServiceCtrlHandlerW;*)

	PROCEDURE RegisterServiceCtrlHandler* ["ADVAPI32.dll", "RegisterServiceCtrlHandlerA"] (lpServiceName: PtrSTR; lpHandlerProc: HANDLER_FUNCTION): SERVICE_STATUS_HANDLE;
	(*END RegisterServiceCtrlHandler;*)

	PROCEDURE SetServiceObjectSecurity* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwSecurityInformation: SECURITY_INFORMATION; lpSecurityDescriptor: PSECURITY_DESCRIPTOR): BOOL;
	(*END SetServiceObjectSecurity;*)

	PROCEDURE SetServiceStatus* ["ADVAPI32.dll", ""] (hServiceStatus: SERVICE_STATUS_HANDLE; VAR [nil] lpServiceStatus: SERVICE_STATUS): BOOL;
	(*END SetServiceStatus;*)

	PROCEDURE StartServiceCtrlDispatcherA* ["ADVAPI32.dll", ""] (VAR [nil] lpServiceStartTable: SERVICE_TABLE_ENTRYA): BOOL;
	(*END StartServiceCtrlDispatcherA;*)

	PROCEDURE StartServiceCtrlDispatcherW* ["ADVAPI32.dll", ""] (VAR [nil] lpServiceStartTable: SERVICE_TABLE_ENTRYW): BOOL;
	(*END StartServiceCtrlDispatcherW;*)

	PROCEDURE StartServiceCtrlDispatcher* ["ADVAPI32.dll", "StartServiceCtrlDispatcherA"] (VAR [nil] lpServiceStartTable: SERVICE_TABLE_ENTRYA): BOOL;
	(*END StartServiceCtrlDispatcher;*)

	PROCEDURE StartServiceA* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwNumServiceArgs: INTEGER; VAR [nil] lpServiceArgVectors: PtrSTR): BOOL;
	(*END StartServiceA;*)

	PROCEDURE StartServiceW* ["ADVAPI32.dll", ""] (hService: SC_HANDLE; dwNumServiceArgs: INTEGER; lpServiceArgVectors: POINTER TO (*?*) ARRAY [untagged] OF PtrWSTR): BOOL;
	(*END StartServiceW;*)

	PROCEDURE StartService* ["ADVAPI32.dll", "StartServiceA"] (hService: SC_HANDLE; dwNumServiceArgs: INTEGER; VAR [nil] lpServiceArgVectors: PtrSTR): BOOL;
	(*END StartService;*)

	PROCEDURE UnlockServiceDatabase* ["ADVAPI32.dll", ""] (ScLock: SC_LOCK): BOOL;
	(*END UnlockServiceDatabase;*)

	PROCEDURE RtlUnwind* (targetFrame: PtrVoid; targetIp: INTEGER; excpRec: PtrEXCEPTION_RECORD; retVal: INTEGER);
	(*END RtlUnwind;*)

	PROCEDURE PathIsDirectoryW* ["shlwapi.dll", ""] (path: PtrWSTR): BOOL;

	PROCEDURE AlphaBlend* ["msimg32.dll", "AlphaBlend"] (hdcDest: HDC; xoriginDest, yoriginDest, wDest, hDest: INTEGER; hdcSrc: HDC; xoriginSrc, yoriginSrc, wSrc, hSrc: INTEGER; ftn: BLENDFUNCTION): BOOL;
END WinApi.
