From d99afa913fb878f6ccaedc1f9d091985aab20ff0 Mon Sep 17 00:00:00 2001 From: Samuel Serapion Date: Fri, 25 Jul 2008 11:09:07 +0000 Subject: [PATCH] Fix some compiler warnings. Implement InitializeCriticalSectionEx Stub TermsrvAppInstallMode and SetTermsrvAppInstallMode. Lazy port of BasepInitializeContext. Lazy ports of thread and fiber startup code, probably will not work. svn path=/branches/ros-amd64-bringup/; revision=34770 --- reactos/dll/win32/kernel32/debug/debugger.c | 4 +- reactos/dll/win32/kernel32/except/except.c | 16 +- reactos/dll/win32/kernel32/file/lfile.c | 2 +- reactos/dll/win32/kernel32/file/rw.c | 2 +- reactos/dll/win32/kernel32/kernel32.def | 1033 ----------------- reactos/dll/win32/kernel32/kernel32.rbuild | 11 +- reactos/dll/win32/kernel32/kernel32.spec | 1017 ++++++++++++++++ reactos/dll/win32/kernel32/misc/dllmain.c | 1 + reactos/dll/win32/kernel32/misc/handle.c | 2 +- reactos/dll/win32/kernel32/misc/stubs.c | 12 + reactos/dll/win32/kernel32/misc/utils.c | 44 +- reactos/dll/win32/kernel32/process/session.c | 2 +- reactos/dll/win32/kernel32/synch/critical.c | 10 + .../dll/win32/kernel32/thread/amd64/fiber.S | 124 ++ .../dll/win32/kernel32/thread/amd64/thread.S | 32 + reactos/dll/win32/kernel32/thread/fiber.c | 7 + reactos/dll/win32/kernel32/thread/thread.c | 5 + 17 files changed, 1279 insertions(+), 1045 deletions(-) delete mode 100644 reactos/dll/win32/kernel32/kernel32.def create mode 100644 reactos/dll/win32/kernel32/kernel32.spec create mode 100644 reactos/dll/win32/kernel32/thread/amd64/fiber.S create mode 100644 reactos/dll/win32/kernel32/thread/amd64/thread.S diff --git a/reactos/dll/win32/kernel32/debug/debugger.c b/reactos/dll/win32/kernel32/debug/debugger.c index 611acf217e2..84f81fcc47b 100644 --- a/reactos/dll/win32/kernel32/debug/debugger.c +++ b/reactos/dll/win32/kernel32/debug/debugger.c @@ -232,11 +232,11 @@ ProcessIdToHandle(IN DWORD dwProcessId) CLIENT_ID ClientId; /* If we don't have a PID, look it up */ - if (dwProcessId == -1) dwProcessId = (DWORD)CsrGetProcessId(); + if (dwProcessId == -1) dwProcessId = (ULONG_PTR)CsrGetProcessId(); /* Open a handle to the process */ ClientId.UniqueThread = NULL; - ClientId.UniqueProcess = (HANDLE)dwProcessId; + ClientId.UniqueProcess = (HANDLE)(ULONG_PTR)dwProcessId; InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL); Status = NtOpenProcess(&Handle, PROCESS_ALL_ACCESS, diff --git a/reactos/dll/win32/kernel32/except/except.c b/reactos/dll/win32/kernel32/except/except.c index 94409847a00..7cd8a3e6f25 100644 --- a/reactos/dll/win32/kernel32/except/except.c +++ b/reactos/dll/win32/kernel32/except/except.c @@ -139,6 +139,18 @@ _dump_context(PCONTEXT pc) pc->Ebp, pc->Esi, pc->Esp); DbgPrint("EDI: %.8x EFLAGS: %.8x\n", pc->Edi, pc->EFlags); } +#elif defined(_M_AMD64) +_dump_context(PCONTEXT pc) +{ + DbgPrint("CS:EIP %x:%I64x\n", pc->SegCs&0xffff, pc->Rip ); + DbgPrint("DS %x ES %x FS %x GS %x\n", pc->SegDs&0xffff, pc->SegEs&0xffff, + pc->SegFs&0xffff, pc->SegGs&0xfff); + DbgPrint("RAX: %I64x RBX: %I64x RCX: %I64x RDI: %I64x\n", pc->Rax, pc->Rbx, pc->Rcx, pc->Rdi); + DbgPrint("RDX: %I64x RBP: %I64x RSI: %I64x RSP: %I64x\n", pc->Rdx, pc->Rbp, pc->Rsi, pc->Rsp); + DbgPrint("R8: %I64x R9: %I64x R10: %I64x R11: %I64x\n", pc->R8, pc->R9, pc->R10, pc->R11); + DbgPrint("R12: %I64x R13: %I64x R14: %I64x R15: %I64x\n", pc->R12, pc->R13, pc->R14, pc->R15); + DbgPrint("EFLAGS: %.8x\n", pc->EFlags); +} #else #warning Unknown architecture static VOID @@ -260,7 +272,7 @@ UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) if ((GetErrorMode() & SEM_NOGPFAULTERRORBOX) == 0) { -#ifdef _X86_ +#ifdef __i386__ PULONG Frame; #endif PVOID StartAddr; @@ -278,7 +290,7 @@ UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) ExceptionInfo->ExceptionRecord->ExceptionAddress, _module_name_from_addr(ExceptionInfo->ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod))); _dump_context ( ExceptionInfo->ContextRecord ); -#ifdef _X86_ +#ifdef __i386__ DbgPrint("Frames:\n"); _SEH_TRY { diff --git a/reactos/dll/win32/kernel32/file/lfile.c b/reactos/dll/win32/kernel32/file/lfile.c index d24e2706bd2..94ed4504215 100644 --- a/reactos/dll/win32/kernel32/file/lfile.c +++ b/reactos/dll/win32/kernel32/file/lfile.c @@ -28,7 +28,7 @@ _hread( DWORD NumberOfBytesRead; if ( !ReadFile( - (HANDLE) hFile, + (HANDLE)(ULONG_PTR) hFile, (LPVOID) lpBuffer, (DWORD) lBytes, & NumberOfBytesRead, diff --git a/reactos/dll/win32/kernel32/file/rw.c b/reactos/dll/win32/kernel32/file/rw.c index f570e571614..fe358183586 100644 --- a/reactos/dll/win32/kernel32/file/rw.c +++ b/reactos/dll/win32/kernel32/file/rw.c @@ -37,7 +37,7 @@ WriteFile(IN HANDLE hFile, *lpNumberOfBytesWritten = 0; } - if (IsConsoleHandle(hFile)) + if (IsConsoleHandle((ULONG_PTR)hFile)) { return WriteConsoleA(hFile, lpBuffer, diff --git a/reactos/dll/win32/kernel32/kernel32.def b/reactos/dll/win32/kernel32/kernel32.def deleted file mode 100644 index 9b444c2d930..00000000000 --- a/reactos/dll/win32/kernel32/kernel32.def +++ /dev/null @@ -1,1033 +0,0 @@ -; -; kernel32.def -; -; Exports for KERNEL32 DLL -; -; Copyright (C) 1996 Free Software Foundation, Inc. -; -; Author: Scott Christley -; Date: 1996 -; -; This file is part of the Windows32 API Library. -; -; This library is free software; you can redistribute it and/or -; modify it under the terms of the GNU Library General Public -; License as published by the Free Software Foundation; either -; version 2 of the License, or (at your option) any later version. -; -; This library is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -; Library General Public License for more details. -; -; If you are interested in a warranty or support for this source code, -; contact Scott Christley for more information. -; -; You should have received a copy of the GNU Library General Public -; License along with this library; see the file COPYING.LIB. -; If not, write to the Free Software Foundation, -; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -; -LIBRARY KERNEL32.DLL -EXPORTS -AcquireSRWLockExclusive@4=NTDLL.RtlAcquireSRWLockExclusive -AcquireSRWLockShared@4=NTDLL.RtlAcquireSRWLockShared -ActivateActCtx@8 -AddAtomA@4 -AddAtomW@4 -AddConsoleAliasA@12 -AddConsoleAliasW@12 -;AddLocalAlternateComputerNameA -;AddLocalAlternateComputerNameW -AddRefActCtx@4 -AddVectoredExceptionHandler@8=NTDLL.RtlAddVectoredExceptionHandler -AllocateUserPhysicalPages@12 -AllocConsole@0 -AreFileApisANSI@0 -AssignProcessToJobObject@8 -AttachConsole@4 -BackupRead@28 -BackupSeek@24 -BackupWrite@28 -BaseAttachCompleteThunk@0 -BaseCheckAppcompatCache@16 -;BaseCleanupAppcompatCache -;BaseCleanupAppcompatCacheSupport -BaseDumpAppcompatCache@0 -BaseFlushAppcompatCache@0 -;BaseInitAppcompatCache -;BaseInitAppcompatCacheSupport -BaseProcessInitPostImport@0 -BaseQueryModuleData@20 -BaseUpdateAppcompatCache@12 -Beep@8 -BeginUpdateResourceA@8 -BeginUpdateResourceW@8 -BindIoCompletionCallback@12 -BuildCommDCBA@8 -BuildCommDCBAndTimeoutsA@12 -BuildCommDCBAndTimeoutsW@12 -BuildCommDCBW@8 -CallNamedPipeA@28 -CallNamedPipeW@28 -CancelDeviceWakeupRequest@4 -CancelIo@4 -CancelIoEx@8 -CancelSynchronousIo@4 -CancelTimerQueueTimer@8 -CancelWaitableTimer@4 -ChangeTimerQueueTimer@16 -CheckNameLegalDOS8Dot3A@20 -CheckNameLegalDOS8Dot3W@20 -CheckRemoteDebuggerPresent@8 -ClearCommBreak@4 -ClearCommError@12 -CloseConsoleHandle@4 -CloseHandle@4 -CloseProfileUserMapping@0 -CmdBatNotification@4 -CommConfigDialogA@12 -CommConfigDialogW@12 -CompareFileTime@8 -CompareStringA@24 -CompareStringW@24 -ConnectNamedPipe@8 -ConsoleMenuControl@12 -ContinueDebugEvent@12 -ConvertDefaultLocale@4 -ConvertFiberToThread@0 -ConvertThreadToFiber@4 -CopyFileA@12 -CopyFileExA@24 -CopyFileExW@24 -CopyFileW@12 -CopyLZFile@8 -CreateActCtxA@4 -CreateActCtxW@4 -CreateConsoleScreenBuffer@20 -CreateDirectoryA@8 -CreateDirectoryExA@12 -CreateDirectoryExW@12 -CreateDirectoryW@8 -CreateEventA@16 -CreateEventW@16 -CreateEventExA@16 -CreateEventExW@16 -CreateFiber@12 -CreateFiberEx@20 -CreateFileA@28 -CreateFileMappingA@24 -CreateFileMappingW@24 -CreateFileW@28 -CreateHardLinkA@12 -CreateHardLinkW@12 -CreateIoCompletionPort@16 -CreateJobObjectA@8 -CreateJobObjectW@8 -CreateJobSet@12 -CreateMailslotA@16 -CreateMailslotW@16 -CreateMemoryResourceNotification@4 -CreateMutexA@12 -CreateMutexW@12 -CreateMutexExA@16 -CreateMutexExW@16 -CreateNamedPipeA@32 -CreateNamedPipeW@32 -CreateNlsSecurityDescriptor@12 -CreatePipe@16 -CreateProcessA@40 -CreateProcessInternalA@48 -CreateProcessInternalW@48 -CreateProcessW@40 -CreateRemoteThread@28 -CreateSemaphoreA@16 -CreateSemaphoreW@16 -CreateSemaphoreExA@24 -CreateSemaphoreExW@24 -CreateSocketHandle@0 -CreateSymbolicLinkA@12 -CreateSymbolicLinkW@12 -CreateTapePartition@16 -CreateThread@24 -CreateTimerQueue@0 -CreateTimerQueueTimer@28 -CreateToolhelp32Snapshot@8 -CreateVirtualBuffer@12 -CreateWaitableTimerA@12 -CreateWaitableTimerW@12 -CreateWaitableTimerExA@16 -CreateWaitableTimerExW@16 -DeactivateActCtx@8 -DebugActiveProcess@4 -DebugActiveProcessStop@4 -DebugBreak@0=NTDLL.DbgBreakPoint -DebugBreakProcess@4 -DebugSetProcessKillOnExit@4 -DecodePointer@4=NTDLL.RtlDecodePointer -DefineDosDeviceA@12 -DefineDosDeviceW@12 -DelayLoadFailureHook@8 -DeleteAtom@4 -DeleteCriticalSection@4=NTDLL.RtlDeleteCriticalSection -DeleteFiber@4 -DeleteFileA@4 -DeleteFileW@4 -DeleteTimerQueue@4 -DeleteTimerQueueEx@8 -DeleteTimerQueueTimer@12 -DeleteVolumeMountPointA@4 -DeleteVolumeMountPointW@4 -DeviceIoControl@32 -DisableThreadLibraryCalls@4 -DisconnectNamedPipe@4 -DnsHostnameToComputerNameA@12 -DnsHostnameToComputerNameW@12 -DosDateTimeToFileTime@12 -DosPathToSessionPathA@12 -DosPathToSessionPathW@12 -DuplicateConsoleHandle@16 -DuplicateHandle@28 -EncodePointer@4=NTDLL.RtlEncodePointer -EndUpdateResourceA@8 -EndUpdateResourceW@8 -EnterCriticalSection@4=NTDLL.RtlEnterCriticalSection -EnumCalendarInfoA@16 -EnumCalendarInfoExA@16 -EnumCalendarInfoExW@16 -EnumCalendarInfoW@16 -EnumDateFormatsA@12 -EnumDateFormatsExA@12 -EnumDateFormatsExW@12 -EnumDateFormatsW@12 -EnumLanguageGroupLocalesA@16 -EnumLanguageGroupLocalesW@16 -EnumResourceLanguagesA@20 -EnumResourceLanguagesW@20 -EnumResourceNamesA@16 -EnumResourceNamesW@16 -EnumResourceTypesA@12 -EnumResourceTypesW@12 -EnumSystemCodePagesA@8 -EnumSystemCodePagesW@8 -EnumSystemGeoID@12 -EnumSystemLanguageGroupsA@12 -EnumSystemLanguageGroupsW@12 -EnumSystemLocalesA@8 -EnumSystemLocalesW@8 -EnumTimeFormatsA@12 -EnumTimeFormatsW@12 -EnumUILanguagesA@12 -EnumUILanguagesW@12 -;EnumerateLocalComputerNamesA -;EnumerateLocalComputerNamesW -EraseTape@12 -EscapeCommFunction@8 -ExitProcess@4 -ExitThread@4 -ExitVDM@8 -ExpandEnvironmentStringsA@12 -ExpandEnvironmentStringsW@12 -ExpungeConsoleCommandHistoryA@4 -ExpungeConsoleCommandHistoryW@4 -ExtendVirtualBuffer@8 -FatalAppExitA@8 -FatalAppExitW@8 -FatalExit@4 -FileTimeToDosDateTime@12 -FileTimeToLocalFileTime@8 -FileTimeToSystemTime@8 -FillConsoleOutputAttribute@20 -FillConsoleOutputCharacterA@20 -FillConsoleOutputCharacterW@20 -FindActCtxSectionGuid@20 -FindActCtxSectionStringA@20 -FindActCtxSectionStringW@20 -FindAtomA@4 -FindAtomW@4 -FindClose@4 -FindCloseChangeNotification@4 -FindFirstChangeNotificationA@12 -FindFirstChangeNotificationW@12 -FindFirstFileA@8 -FindFirstFileExA@24 -FindFirstFileExW@24 -FindFirstFileW@8 -FindFirstStreamW@16 -FindNextChangeNotification@4 -FindNextFileA@8 -FindNextFileW@8 -FindNextStreamW@8 -FindFirstVolumeA@8 -FindFirstVolumeMountPointA@12 -FindFirstVolumeMountPointW@12 -FindFirstVolumeW@8 -FindNextVolumeA@12 -FindNextVolumeMountPointA@12 -FindNextVolumeMountPointW@12 -FindNextVolumeW@12 -FindResourceA@12 -FindResourceExA@16 -FindResourceExW@16 -FindResourceW@12 -FindVolumeClose@4 -FindVolumeMountPointClose@4 -;FlsAlloc@4 ;new for 2003 -;FlsFree@4 ;new for 2003 -;FlsGetValue@4 ;new for 2003 -;FlsSetValue@8 ;new for 2003 -FlushConsoleInputBuffer@4 -FlushFileBuffers@4 -FlushInstructionCache@12 -FlushViewOfFile@8 -FoldStringA@20 -FoldStringW@20 -FormatMessageA@28 -FormatMessageW@28 -FreeConsole@0 -FreeEnvironmentStringsA@4 -FreeEnvironmentStringsW@4 -FreeLibrary@4 -FreeLibraryAndExitThread@8 -FreeResource@4 -FreeUserPhysicalPages@12 -FreeVirtualBuffer@4 -GenerateConsoleCtrlEvent@8 -GetACP@0 -GetApplicationRecoveryCallback@20 -GetApplicationRestart@16 -GetAtomNameA@12 -GetAtomNameW@12 -GetBinaryType@8=GetBinaryTypeA@8 -GetBinaryTypeA@8 -GetBinaryTypeW@8 -GetCPFileNameFromRegistry@12 -GetCPInfo@8 -GetCPInfoExA@12 -GetCPInfoExW@12 -GetCalendarInfoA@24 -GetCalendarInfoW@24 -GetCommConfig@12 -GetCommMask@8 -GetCommModemStatus@8 -GetCommProperties@8 -GetCommState@8 -GetCommTimeouts@8 -GetCommandLineA@0 -GetCommandLineW@0 -;GetComPlusPackageInstallStatus -GetCompressedFileSizeA@8 -GetCompressedFileSizeW@8 -GetComputerNameA@8 -GetComputerNameExA@12 -GetComputerNameExW@12 -GetComputerNameW@8 -GetConsoleAliasA@16 -GetConsoleAliasExesA@8 -GetConsoleAliasExesLengthA@0 -GetConsoleAliasExesLengthW@0 -GetConsoleAliasExesW@8 -GetConsoleAliasW@16 -GetConsoleAliasesA@12 -GetConsoleAliasesLengthA@4 -GetConsoleAliasesLengthW@4 -GetConsoleAliasesW@12 -;GetConsoleCharType -GetConsoleCP@0 -GetConsoleCommandHistoryA@12 -GetConsoleCommandHistoryLengthA@4 -GetConsoleCommandHistoryLengthW@4 -GetConsoleCommandHistoryW@12 -GetConsoleCursorInfo@8 -;GetConsoleCursorMode -GetConsoleDisplayMode@4 -GetConsoleFontInfo@16 -GetConsoleFontSize@8 -GetConsoleHardwareState@12 -GetConsoleInputExeNameA@8 -GetConsoleInputExeNameW@8 -GetConsoleInputWaitHandle@0 -GetConsoleKeyboardLayoutNameA@4 -GetConsoleKeyboardLayoutNameW@4 -GetConsoleMode@8 -;GetConsoleNlsMode -GetConsoleOutputCP@0 -GetConsoleProcessList@8 -GetConsoleScreenBufferInfo@8 -GetConsoleSelectionInfo@4 -GetConsoleTitleA@8 -GetConsoleTitleW@8 -GetConsoleWindow@0 -GetCurrencyFormatA@24 -GetCurrencyFormatW@24 -GetCurrentActCtx@4 -GetCurrentConsoleFont@12 -GetCurrentDirectoryA@8 -GetCurrentDirectoryW@8 -GetCurrentProcess@0 -GetCurrentProcessId@0 -GetCurrentThread@0 -GetCurrentThreadId@0 -GetDateFormatA@24 -GetDateFormatW@24 -GetDefaultCommConfigA@12 -GetDefaultCommConfigW@12 -;GetDefaultSortkeySize -GetDevicePowerState@8 -GetDiskFreeSpaceA@20 -GetDiskFreeSpaceW@20 -GetDiskFreeSpaceExA@16 -GetDiskFreeSpaceExW@16 -GetDllDirectoryA@8 -GetDllDirectoryW@8 -GetDriveTypeA@4 -GetDriveTypeW@4 -GetEnvironmentStrings@0 -GetEnvironmentStringsA=GetEnvironmentStrings@0 -GetEnvironmentStringsW@0 -GetEnvironmentVariableA@12 -GetEnvironmentVariableW@12 -GetExitCodeProcess@8 -GetExitCodeThread@8 -GetExpandedNameA@8 -GetExpandedNameW@8 -GetFileAttributesA@4 -GetFileAttributesW@4 -GetFileAttributesByHandle@12 -GetFileAttributesExA@12 -GetFileAttributesExW@12 -GetFileBandwidthReservation@24 -GetFileInformationByHandle@8 -GetFileSize@8 -GetFileSizeEx@8 -GetFileTime@16 -GetFileType@4 -GetFinalPathNameByHandleA@16 -GetFinalPathNameByHandleW@16 -GetFirmwareEnvironmentVariableA@16 -GetFirmwareEnvironmentVariableW@16 -GetFullPathNameA@16 -GetFullPathNameW@16 -GetGeoInfoA@20 -GetGeoInfoW@20 -GetHandleContext@4 -GetHandleInformation@8 -GetLargePageMinimum@0 -GetLargestConsoleWindowSize@4 -GetLastError@0 -;GetLinguistLangSize -GetLocalTime@4 -GetLocaleInfoA@16 -GetLocaleInfoW@16 -GetLocaleInfoEx@16 -GetLogicalDriveStringsA@8 -GetLogicalDriveStringsW@8 -GetLogicalDrives@0 -GetLongPathNameA@12 -GetLongPathNameW@12 -GetMailslotInfo@20 -GetModuleFileNameA@12 -GetModuleFileNameW@12 -GetModuleHandleA@4 -GetModuleHandleExA@12 -GetModuleHandleExW@12 -GetModuleHandleW@4 -GetNamedPipeHandleStateA@28 -GetNamedPipeHandleStateW@28 -GetNamedPipeInfo@20 -GetNativeSystemInfo@4 -GetNextVDMCommand@4 -GetNlsSectionName@24 -GetNumaHighestNodeNumber@4 -GetNumaNodeProcessorMask@8 -;GetNumaProcessorMap -GetNumaProcessorNode@8 -GetNumberFormatA@24 -GetNumberFormatW@24 -GetNumberOfConsoleFonts@0 -GetNumberOfConsoleInputEvents@8 -GetNumberOfConsoleMouseButtons@4 -GetOEMCP@0 -GetOverlappedResult@16 -GetPriorityClass@4 -GetPrivateProfileIntA@16 -GetPrivateProfileIntW@16 -GetPrivateProfileSectionA@16 -GetPrivateProfileSectionNamesA@12 -GetPrivateProfileSectionNamesW@12 -GetPrivateProfileSectionW@16 -GetPrivateProfileStringA@24 -GetPrivateProfileStringW@24 -GetPrivateProfileStructA@20 -GetPrivateProfileStructW@20 -GetProcAddress@8 -GetProcessAffinityMask@12 -GetProcessHandleCount@8 -GetProcessHeap@0 -GetProcessHeaps@8 -GetProcessId@4 -GetProcessIdOfThread@4 -GetProcessIoCounters@8 -GetProcessPriorityBoost@8 -GetProcessShutdownParameters@8 -GetProcessTimes@20 -GetProcessVersion@4 -GetProcessWorkingSetSize@12 -GetProfileIntA@12 -GetProfileIntW@12 -GetProfileSectionA@12 -GetProfileSectionW@12 -GetProfileStringA@20 -GetProfileStringW@20 -GetQueuedCompletionStatus@20 -GetShortPathNameA@12 -GetShortPathNameW@12 -GetStartupInfoA@4 -GetStartupInfoW@4 -GetStdHandle@4 -GetStringTypeA@20 -GetStringTypeExA@20 -GetStringTypeExW@20 -GetStringTypeW@16 -GetSystemDefaultLCID@0 -GetSystemDefaultLangID@0 -GetSystemDefaultUILanguage@0 -GetSystemDirectoryA@8 -GetSystemDirectoryW@8 -GetSystemInfo@4 -GetSystemPowerStatus@4 -GetSystemRegistryQuota@8 -GetSystemTime@4 -GetSystemTimeAdjustment@12 -GetSystemTimeAsFileTime@4 -GetSystemTimes@12 -GetSystemWow64DirectoryA@8 -GetSystemWow64DirectoryW@8 -GetSystemWindowsDirectoryA@8 -GetSystemWindowsDirectoryW@8 -GetTapeParameters@16 -GetTapePosition@20 -GetTapeStatus@4 -GetTempFileNameA@16 -GetTempFileNameW@16 -GetTempPathA@8 -GetTempPathW@8 -GetThreadContext@8 -GetThreadId@4 -GetThreadIOPendingFlag@8 -GetThreadLocale@0 -GetThreadPriority@4 -GetThreadPriorityBoost@8 -GetThreadSelectorEntry@12 -GetThreadTimes@20 -GetTickCount@0 -GetTickCount64@0 -GetTimeFormatA@24 -GetTimeFormatW@24 -GetTimeZoneInformation@4 -GetUserDefaultLCID@0 -GetUserDefaultLangID@0 -GetUserDefaultUILanguage@0 -GetUserGeoID@4 -GetVDMCurrentDirectories@8 -GetVersion@0 -GetVersionExA@4 -GetVersionExW@4 -GetVolumeInformationA@32 -GetVolumeInformationW@32 -GetVolumeNameForVolumeMountPointA@12 -GetVolumeNameForVolumeMountPointW@12 -GetVolumePathNameA@12 -GetVolumePathNameW@12 -GetVolumePathNamesForVolumeNameA@16 -GetVolumePathNamesForVolumeNameW@16 -GetWindowsDirectoryA@8 -GetWindowsDirectoryW@8 -GetWriteWatch@24 -GlobalAddAtomA@4 -GlobalAddAtomW@4 -GlobalAlloc@8 -GlobalCompact@4 -GlobalDeleteAtom@4 -GlobalFindAtomA@4 -GlobalFindAtomW@4 -GlobalFix@4 -GlobalFlags@4 -GlobalFree@4 -GlobalGetAtomNameA@12 -GlobalGetAtomNameW@12 -GlobalHandle@4 -GlobalLock@4 -GlobalMemoryStatus@4 -GlobalMemoryStatusEx@4 -GlobalReAlloc@12 -GlobalSize@4 -GlobalUnWire@4 -GlobalUnfix@4 -GlobalUnlock@4 -GlobalWire@4 -Heap32First@12 -Heap32ListFirst@8 -Heap32ListNext@8 -Heap32Next@4 -HeapAlloc@12=NTDLL.RtlAllocateHeap -HeapCompact@8 -HeapCreate@12 -HeapCreateTagsW@16 -HeapDestroy@4 -HeapExtend@16 -HeapFree@12=NTDLL.RtlFreeHeap -HeapLock@4 -HeapQueryInformation@20 -HeapQueryTagW@20 -HeapReAlloc@16=NTDLL.RtlReAllocateHeap -HeapSetInformation@16 -HeapSize@12=NTDLL.RtlSizeHeap -HeapSummary@12 -HeapUnlock@4 -HeapUsage@20 -HeapValidate@12 -HeapWalk@8 -InitAtomTable@4 -InitializeConditionVariable@4=NTDLL.RtlInitializeConditionVariable -InitializeCriticalSection@4 -InitializeCriticalSectionAndSpinCount@8 -InitializeSListHead@4=NTDLL.RtlInitializeSListHead -InitializeSRWLock@4=NTDLL.RtlInitializeSRWLock -InterlockedCompareExchange@12 -InterlockedDecrement@4 -InterlockedExchange@8 -InterlockedExchangeAdd@8 -InterlockedFlushSList@4=NTDLL.RtlInterlockedFlushSList -InterlockedIncrement@4 -InterlockedPopEntrySList@4=NTDLL.RtlInterlockedPopEntrySList -InterlockedPushEntrySList@8=NTDLL.RtlInterlockedPushEntrySList -InvalidateConsoleDIBits@8 -IsBadCodePtr@4 -IsBadHugeReadPtr@8 -IsBadHugeWritePtr@8 -IsBadReadPtr@8 -IsBadStringPtrA@8 -IsBadStringPtrW@8 -IsBadWritePtr@8 -IsDBCSLeadByte@4 -IsDBCSLeadByteEx@8 -IsDebuggerPresent@0 -IsProcessInJob@12 -IsProcessorFeaturePresent@4 -IsSystemResumeAutomatic@0 -IsThreadAFiber@0 -IsValidCodePage@4 -IsValidLanguageGroup@8 -IsValidLocale@8 -IsValidUILanguage@4 -IsWow64Process@8 -LCMapStringA@24 -LCMapStringW@24 -LeaveCriticalSection@4=NTDLL.RtlLeaveCriticalSection -LoadLibraryA@4 -LoadLibraryExA@12 -LoadLibraryExW@12 -LoadLibraryW@4 -LoadModule@8 -LoadResource@8 -LocalAlloc@8 -LocalCompact@4 -LocalFileTimeToFileTime@8 -LocalFlags@4 -LocalFree@4 -LocalHandle@4 -LocalLock@4 -LocalReAlloc@12 -LocalShrink@8 -LocalSize@4 -LocalUnlock@4 -LockFile@20 -LockFileEx@24 -LockResource@4 -LZClose@4 -;LZCloseFile -LZCopy@8 -;LZCreateFileW -LZDone@0 -LZInit@4 -LZOpenFileA@12 -LZOpenFileW@12 -LZRead@12 -LZSeek@12 -LZStart@0 -MapUserPhysicalPages@12 -MapUserPhysicalPagesScatter@12 -MapViewOfFile@20 -MapViewOfFileEx@24 -Module32First@8 -Module32FirstW@8 -Module32Next@8 -Module32NextW@8 -MoveFileA@8 -MoveFileExA@12 -MoveFileWithProgressA@20 -MoveFileExW@12 -MoveFileW@8 -MoveFileWithProgressW@20 -MulDiv@12 -MultiByteToWideChar@24 -NeedCurrentDirectoryForExePathA@4 -NeedCurrentDirectoryForExePathW@4 -NlsConvertIntegerToString@20 -NlsGetCacheUpdateCount@0 -;NlsResetProcessLocale -;NumaVirtualQueryNode -OpenConsoleW@16 -;OpenDataFile -OpenEventA@12 -OpenEventW@12 -OpenFile@12 -OpenFileById@24 -OpenFileMappingA@12 -OpenFileMappingW@12 -OpenJobObjectA@12 -OpenJobObjectW@12 -OpenMutexA@12 -OpenMutexW@12 -OpenProcess@12 -;OpenProfileUserMapping@0 -OpenSemaphoreA@12 -OpenSemaphoreW@12 -OpenThread@12 -OpenWaitableTimerA@12 -OpenWaitableTimerW@12 -OutputDebugStringA@4 -OutputDebugStringW@4 -PeekConsoleInputA@16 -PeekConsoleInputW@16 -PeekNamedPipe@24 -PrivCopyFileExW@24 -;PrivMoveFileIdentityW -PostQueuedCompletionStatus@16 -PrepareTape@12 -ProcessIdToSessionId@8 -Process32First@8 -Process32FirstW@8 -Process32Next@8 -Process32NextW@8 -PulseEvent@4 -PurgeComm@8 -QueryActCtxW@28 -QueryDepthSList@4=NTDLL.RtlQueryDepthSList -QueryDosDeviceA@12 -QueryDosDeviceW@12 -QueryInformationJobObject@20 -QueryMemoryResourceNotification@8 -QueryPerformanceCounter@4 -QueryPerformanceFrequency@4 -QueueUserAPC@12 -QueueUserWorkItem@12 -QueryWin31IniFilesMappedToRegistry@16 -RaiseException@16 -ReadConsoleA@20 -ReadConsoleInputA@16 -;ReadConsoleInputExA -;ReadConsoleInputExW -ReadConsoleInputW@16 -ReadConsoleOutputA@20 -ReadConsoleOutputAttribute@20 -ReadConsoleOutputCharacterA@20 -ReadConsoleOutputCharacterW@20 -ReadConsoleOutputW@20 -ReadConsoleW@20 -ReadDirectoryChangesW@32 -ReadFile@20 -ReadFileEx@20 -ReadFileScatter@20 -ReadProcessMemory@20 -RecoveryFinished@4 -RecoveryInProgress@4 -RegisterApplicationRecoveryCallback@16 -RegisterApplicationRestart@8 -;RegisterConsoleIME -;RegisterConsoleOS2 -RegisterConsoleVDM@44 -RegisterWaitForInputIdle@4 -RegisterWaitForSingleObject@24 -RegisterWaitForSingleObjectEx@20 -RegisterWowBaseHandlers@4 -RegisterWowExec@4 -ReleaseActCtx@4 -ReleaseMutex@4 -ReleaseSemaphore@12 -ReleaseSRWLockExclusive@4=NTDLL.RtlReleaseSRWLockExclusive -ReleaseSRWLockShared@4=NTDLL.RtlReleaseSRWLockShared -RemoveDirectoryA@4 -RemoveDirectoryW@4 -;RemoveLocalAlternateComputerNameA -;RemoveLocalAlternateComputerNameW -RemoveVectoredExceptionHandler@4=NTDLL.RtlRemoveVectoredExceptionHandler -ReplaceFile=ReplaceFileW@24 -ReplaceFileA@24 -ReplaceFileW@24 -RequestDeviceWakeup@4 -RequestWakeupLatency@4 -ResetEvent@4 -ResetWriteWatch@8 -RestoreLastError@4 -ResumeThread@4 -RtlCaptureContext@4=NTDLL.RtlCaptureContext -;RtlCaptureStackBackTrace -RtlFillMemory@12=NTDLL.RtlFillMemory -RtlMoveMemory@12=NTDLL.RtlMoveMemory -RtlUnwind@16=NTDLL.RtlUnwind -RtlZeroMemory@8=NTDLL.RtlZeroMemory -ScrollConsoleScreenBufferA@20 -ScrollConsoleScreenBufferW@20 -SearchPathA@24 -SearchPathW@24 -SetCPGlobal@4 -SetCalendarInfoA@16 -SetCalendarInfoW@16 -SetClientTimeZoneInformation@4 -;SetComPlusPackageInstallStatus -SetCommBreak@4 -SetCommConfig@12 -SetCommMask@8 -SetCommState@8 -SetCommTimeouts@8 -SetComputerNameA@4 -SetComputerNameExA@8 -SetComputerNameExW@8 -SetComputerNameW@4 -SetConsoleActiveScreenBuffer@4 -SetConsoleCP@4 -SetConsoleCommandHistoryMode@4 -SetConsoleCtrlHandler@8 -SetConsoleCursor@8 -SetConsoleCursorInfo@8 -;SetConsoleCursorMode -SetConsoleCursorPosition@8 -SetConsoleDisplayMode@12 -SetConsoleFont@8 -SetConsoleHardwareState@12 -SetConsoleHistoryInfo@4 -SetConsoleIcon@4 -SetConsoleInputExeNameA@4 -SetConsoleInputExeNameW@4 -SetConsoleKeyShortcuts@16 -;SetConsoleLocalEUDC -SetConsoleMaximumWindowSize@8 -SetConsoleMenuClose@4 -SetConsoleMode@8 -;SetConsoleNlsMode -SetConsoleNumberOfCommandsA@8 -SetConsoleNumberOfCommandsW@8 -;SetConsoleOS2OemFormat -SetConsoleOutputCP@4 -SetConsolePalette@12 -SetConsoleScreenBufferInfoEx@8 -SetConsoleScreenBufferSize@8 -SetConsoleTextAttribute@8 -SetConsoleTitleA@4 -SetConsoleTitleW@4 -SetConsoleWindowInfo@12 -SetCriticalSectionSpinCount@8=NTDLL.RtlSetCriticalSectionSpinCount -SetCurrentDirectoryA@4 -SetCurrentDirectoryW@4 -SetDefaultCommConfigA@12 -SetDefaultCommConfigW@12 -SetDllDirectoryA@4 -SetDllDirectoryW@4 -SetEndOfFile@4 -SetEnvironmentVariableA@8 -SetEnvironmentVariableW@8 -SetErrorMode@4 -SetEvent@4 -SetFileApisToANSI@0 -SetFileApisToOEM@0 -SetFileAttributesA@8 -SetFileAttributesW@8 -SetFileAttributesByHandle@12 -SetFileBandwidthReservation@24 -SetFileCompletionNotificationModes@8 -SetFilePointer@16 -SetFilePointerEx@20 -SetFileShortNameA@8 -SetFileShortNameW@8 -SetFileTime@16 -SetFileValidData@12 -SetFirmwareEnvironmentVariableA@16 -SetFirmwareEnvironmentVariableW@16 -SetHandleContext@8 -SetHandleCount@4 -SetHandleInformation@12 -SetInformationJobObject@16 -SetLastConsoleEventActive@0 -SetLastError@4 -;SetLocalPrimaryComputerNameA -;SetLocalPrimaryComputerNameW -SetLocalTime@4 -SetLocaleInfoA@12 -SetLocaleInfoW@12 -SetMailslotInfo@8 -SetMessageWaitingIndicator@8 -SetNamedPipeHandleState@16 -SetPriorityClass@8 -SetProcessAffinityMask@8 -SetProcessPriorityBoost@8 -SetProcessShutdownParameters@8 -SetProcessWorkingSetSize@12 -SetStdHandle@8 -SetSystemPowerState@8 -SetSystemTime@4 -SetSystemTimeAdjustment@8 -SetTapeParameters@12 -SetTapePosition@24 -;SetTermsrvAppInstallMode -SetThreadAffinityMask@8 -SetThreadContext@8 -SetThreadExecutionState@4 -SetThreadIdealProcessor@8 -SetThreadLocale@4 -SetThreadPriority@8 -SetThreadPriorityBoost@8 -SetThreadUILanguage@4 -SetTimerQueueTimer@24 -SetTimeZoneInformation@4 -SetUnhandledExceptionFilter@4 -SetUserDefaultLCID@4 -SetUserDefaultUILanguage@4 -SetUserGeoID@4 -SetVDMCurrentDirectories@8 -SetVolumeLabelA@8 -SetVolumeLabelW@8 -SetVolumeMountPointA@8 -SetVolumeMountPointW@8 -SetWaitableTimer@24 -SetupComm@12 -ShowConsoleCursor@8 -SignalObjectAndWait@16 -SizeofResource@8 -Sleep@4 -SleepConditionVariableCS@12 -SleepConditionVariableSRW@16 -SleepEx@8 -SuspendThread@4 -SwitchToFiber@4 -SwitchToThread@0 -SystemTimeToFileTime@8 -SystemTimeToTzSpecificLocalTime@12 -TerminateJobObject@8 -TerminateProcess@8 -TerminateThread@8 -;TermsrvAppInstallMode -Thread32First@8 -Thread32Next@8 -TlsAlloc@0 -TlsFree@4 -TlsGetValue@4 -TlsSetValue@8 -Toolhelp32ReadProcessMemory@20 -TransactNamedPipe@28 -TransmitCommChar@8 -TrimVirtualBuffer@4 -TryEnterCriticalSection@4=NTDLL.RtlTryEnterCriticalSection -TzSpecificLocalTimeToSystemTime@12 -UnhandledExceptionFilter@4 -UnlockFile@20 -UnlockFileEx@20 -UnmapViewOfFile@4 -UpdateResourceA@24 -UpdateResourceW@24 -UTRegister@28 -UTUnRegister@4 -;UnregisterConsoleIME -UnregisterWait@4 -UnregisterWaitEx@8 -;ValidateLCType -;ValidateLocale -VDMConsoleOperation@8 -VDMOperationStarted@4 -VerLanguageNameA@12 -VerLanguageNameW@12 -VerSetConditionMask@16=NTDLL.VerSetConditionMask -VerifyConsoleIoHandle@4 -VerifyVersionInfoA@16 -VerifyVersionInfoW@16 -VirtualAlloc@16 -VirtualAllocEx@20 -VirtualBufferExceptionHandler@12 -VirtualFree@12 -VirtualFreeEx@16 -VirtualLock@8 -VirtualProtect@16 -VirtualProtectEx@20 -VirtualQuery@12 -VirtualQueryEx@16 -VirtualUnlock@8 -WakeAllConditionVariable@4=NTDLL.RtlWakeAllConditionVariable -WakeConditionVariable@4=NTDLL.RtlWakeConditionVariable -WaitCommEvent@12 -WaitForDebugEvent@8 -WaitForMultipleObjects@16 -WaitForMultipleObjectsEx@20 -WaitForSingleObject@8 -WaitForSingleObjectEx@12 -WaitNamedPipeA@8 -WaitNamedPipeW@8 -WideCharToMultiByte@32 -WinExec@8 -Wow64EnableWow64FsRedirection@4 -Wow64DisableWow64FsRedirection@4 -Wow64RevertWow64FsRedirection@4 -WriteConsoleA@20 -WriteConsoleInputA@16 -WriteConsoleInputVDMA@16 -WriteConsoleInputVDMW@16 -WriteConsoleInputW@16 -WriteConsoleOutputA@20 -WriteConsoleOutputAttribute@20 -WriteConsoleOutputCharacterA@20 -WriteConsoleOutputCharacterW@20 -WriteConsoleOutputW@20 -WriteConsoleW@20 -WriteFile@20 -WriteFileEx@20 -WriteFileGather@20 -WritePrivateProfileSectionA@12 -WritePrivateProfileSectionW@12 -WritePrivateProfileStringA@16 -WritePrivateProfileStringW@16 -WritePrivateProfileStructA@20 -WritePrivateProfileStructW@20 -WriteProcessMemory@20 -WriteProfileSectionA@8 -WriteProfileSectionW@8 -WriteProfileStringA@12 -WriteProfileStringW@12 -WriteTapemark@16 -WTSGetActiveConsoleSessionId@0 -ZombifyActCtx@4 -_hread@12 -_hwrite@12 -_lclose@4 -_lcreat@8 -_llseek@12 -_lopen@8 -_lread@12=_hread@12 -_lwrite@12=_hwrite@12 -lstrcat@8=lstrcatA@8 -lstrcatA@8 -lstrcatW@8 -lstrcmp@8=lstrcmpA@8 -lstrcmpA@8 -lstrcmpW@8 -lstrcmpi@8=lstrcmpiA@8 -lstrcmpiA@8 -lstrcmpiW@8 -lstrcpy@8=lstrcpyA@8 -lstrcpyA@8 -lstrcpyW@8 -lstrcpyn@12=lstrcpynA@12 -lstrcpynA@12 -lstrcpynW@12 -lstrlen@4=lstrlenA@4 -lstrlenA@4 -lstrlenW@4 diff --git a/reactos/dll/win32/kernel32/kernel32.rbuild b/reactos/dll/win32/kernel32/kernel32.rbuild index 55899c5996a..736cfa53adc 100644 --- a/reactos/dll/win32/kernel32/kernel32.rbuild +++ b/reactos/dll/win32/kernel32/kernel32.rbuild @@ -1,7 +1,7 @@ - + . include include/reactos/subsys @@ -118,10 +118,16 @@ thread.S + + + fiber.S + thread.S + + - + . . include @@ -132,5 +138,6 @@ pseh ntdll kernel32.rc + kernel32.spec diff --git a/reactos/dll/win32/kernel32/kernel32.spec b/reactos/dll/win32/kernel32/kernel32.spec new file mode 100644 index 00000000000..4c930596490 --- /dev/null +++ b/reactos/dll/win32/kernel32/kernel32.spec @@ -0,0 +1,1017 @@ +# +# kernel32.spec +# +# Exports for KERNEL32 DLL + + +@ stdcall AcquireSRWLockExclusive(ptr) ntdll.RtlAcquireSRWLockExclusive +@ stdcall AcquireSRWLockShare(ptr) ntdll.RtlAcquireSRWLockShared +@ stdcall ActivateActCtx(ptr ptr) +@ stdcall AddAtomA(str) +@ stdcall AddAtomW(wstr) +@ stdcall AddConsoleAliasA(str str str) #check +@ stdcall AddConsoleAliasW(wstr wstr wstr) #check +@ stub AddLocalAlternateComputerNameA +@ stub AddLocalAlternateComputerNameW +@ stdcall AddRefActCtx(ptr) +@ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler +@ stdcall AllocConsole() +@ stub AllocLSCallback +@ stub AllocateUserPhysicalPages +@ stdcall AreFileApisANSI() +@ stdcall AssignProcessToJobObject(ptr ptr) +@ stdcall AttachConsole(long) +@ stdcall BackupRead(ptr ptr long ptr long long ptr) +@ stdcall BackupSeek(ptr long long ptr ptr ptr) +@ stdcall BackupWrite(ptr ptr long ptr long long ptr) +@ stdcall BaseCheckAppcompatCache(long long long ptr) #check +@ stub BaseCleanupAppcompatCache +@ stub BaseCleanupAppcompatCacheSupport +@ stdcall BaseDumpAppcompatCache() +@ stdcall BaseFlushAppcompatCache() +@ stub BaseInitAppcompatCache +@ stub BaseInitAppcompatCacheSupport +@ stdcall BaseProcessInitPostImport() +@ stdcall BaseQueryModuleData(str str ptr ptr ptr) #check +@ stdcall BaseUpdateAppcompatCache(long long long) +@ stub BasepCheckWinSaferRestrictions +@ stub BasepDebugDump +@ stdcall Beep(long long) +@ stdcall BeginUpdateResourceA(str long) +@ stdcall BeginUpdateResourceW(wstr long) +@ stdcall BindIoCompletionCallback(long ptr long) +@ stdcall BuildCommDCBA(str ptr) +@ stdcall BuildCommDCBAndTimeoutsA(str ptr ptr) +@ stdcall BuildCommDCBAndTimeoutsW(wstr ptr ptr) +@ stdcall BuildCommDCBW(wstr ptr) +@ stdcall CallNamedPipeA(str ptr long ptr long ptr long) +@ stdcall CallNamedPipeW(wstr ptr long ptr long ptr long) +@ stdcall CancelDeviceWakeupRequest(long) +@ stdcall CancelIo(long) +@ stdcall CancelIoEx(long ptr) +@ stdcall CancelSynchronousIo(long) +@ stdcall CancelTimerQueueTimer(long long) +@ stdcall CancelWaitableTimer(long) +@ stdcall ChangeTimerQueueTimer(long long long long) +@ stdcall CheckNameLegalDOS8Dot3A(str str long long long) +@ stdcall CheckNameLegalDOS8Dot3W(wstr str long long long) +@ stdcall CheckRemoteDebuggerPresent(long ptr) +@ stdcall ClearCommBreak(long) +@ stdcall ClearCommError(long ptr ptr) +@ stdcall CloseConsoleHandle(long) +@ stdcall CloseHandle(long) +@ stdcall CloseProfileUserMapping() +@ stub CloseSystemHandle +@ stdcall CmdBatNotification(long) +@ stdcall CommConfigDialogA(str long ptr) +@ stdcall CommConfigDialogW(wstr long ptr) +@ stdcall CompareFileTime(ptr ptr) +@ stdcall CompareStringA(long long str long str long) +@ stdcall CompareStringW(long long wstr long wstr long) +@ stdcall ConnectNamedPipe(long ptr) +@ stdcall ConsoleMenuControl(long long long) +@ stub ConsoleSubst +@ stdcall ContinueDebugEvent(long long long) +@ stdcall ConvertDefaultLocale (long) +@ stdcall ConvertFiberToThread() +@ stdcall ConvertThreadToFiber(ptr) +@ stdcall ConvertThreadToFiberEx(ptr long) +@ stdcall CopyFileA(str str long) +@ stdcall CopyFileExA (str str ptr ptr ptr long) +@ stdcall CopyFileExW (wstr wstr ptr ptr ptr long) +@ stdcall CopyFileW(wstr wstr long) +@ stdcall CopyLZFile(long long) LZCopy +@ stdcall CreateActCtxA(ptr) +@ stdcall CreateActCtxW(ptr) +@ stdcall CreateConsoleScreenBuffer(long long ptr long ptr) +@ stdcall CreateDirectoryA(str ptr) +@ stdcall CreateDirectoryExA(str str ptr) +@ stdcall CreateDirectoryExW(wstr wstr ptr) +@ stdcall CreateDirectoryW(wstr ptr) +@ stdcall CreateEventA(ptr long long str) +@ stdcall CreateEventW(ptr long long wstr) +@ stdcall CreateFiber(long ptr ptr) +@ stdcall CreateFiberEx(long long long ptr ptr) +@ stdcall CreateFileA(str long long ptr long long long) +@ stdcall CreateFileMappingA(long ptr long long long str) +@ stdcall CreateFileMappingW(long ptr long long long wstr) +@ stdcall CreateFileW(wstr long long ptr long long long) +@ stdcall CreateHardLinkA(str str ptr) +@ stdcall CreateHardLinkW(wstr wstr ptr) +@ stdcall CreateIoCompletionPort(long long long long) +@ stdcall CreateJobObjectA(ptr str) +@ stdcall CreateJobObjectW(ptr wstr) +@ stdcall CreateJobSet(long ptr long) +@ stub CreateKernelThread +@ stdcall CreateMailslotA(ptr long long ptr) +@ stdcall CreateMailslotW(ptr long long ptr) +@ stdcall CreateMemoryResourceNotification(ptr) +@ stdcall CreateMutexA(ptr long str) +@ stdcall CreateMutexW(ptr long wstr) +@ stdcall CreateNamedPipeA(str long long long long long long ptr) +@ stdcall CreateNamedPipeW(wstr long long long long long long ptr) +@ stdcall CreateNlsSecurityDescriptor(ptr long long) +@ stdcall CreatePipe(ptr ptr ptr long) +@ stdcall CreateProcessA(str str ptr ptr long long ptr str ptr ptr) +@ stdcall CreateProcessInternalA(ptr str str ptr ptr long long ptr str ptr ptr long) +@ stdcall CreateProcessInternalW(ptr wstr wstr ptr ptr long long ptr wstr ptr ptr long) +@ stub CreateProcessInternalWSecure +@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) +@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) +@ stdcall CreateSemaphoreA(ptr long long str) +@ stdcall CreateSemaphoreW(ptr long long wstr) +@ stdcall CreateSemaphoreExA(ptr long long long str long long) +@ stdcall CreateSemaphoreExW(ptr long long long wstr long long) +@ stdcall CreateSocketHandle() +@ stdcall CreateSymbolicLinkA(str str long) +@ stdcall CreateSymbolicLinkW(wstr wstr long) +@ stdcall CreateTapePartition(long long long long) +@ stdcall CreateThread(ptr long ptr long long ptr) +@ stdcall CreateTimerQueue () +@ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long) +@ stdcall CreateToolhelp32Snapshot(long long) +@ stdcall CreateVirtualBuffer(long long long) +@ stdcall CreateWaitableTimerA(ptr long str) +@ stdcall CreateWaitableTimerW(ptr long wstr) +@ stdcall CreateWaitableTimerExA (ptr str long long) +@ stdcall CreateWaitableTimerExW (ptr wstr long long) +@ stdcall DeactivateActCtx(long ptr) +@ stdcall DebugActiveProcess(long) +@ stdcall DebugActiveProcessStop(long) +@ stdcall DebugBreak() ntdll.DbgBreakPoint +@ stdcall DebugBreakProcess(long) +@ stdcall DebugSetProcessKillOnExit(long) +@ stdcall DecodePointer(ptr) ntdll.RtlDecodePointer +@ stub DecodeSystemPointer +@ stdcall DefineDosDeviceA(long str str) +@ stdcall DefineDosDeviceW(long wstr wstr) +@ stdcall DelayLoadFailureHook(str str) +@ stdcall DeleteAtom(long) +@ stdcall DeleteCriticalSection(ptr) ntdll.RtlDeleteCriticalSection +@ stdcall DeleteFiber(ptr) +@ stdcall DeleteFileA(str) +@ stdcall DeleteFileW(wstr) +@ stdcall DeleteTimerQueue(long) +@ stdcall DeleteTimerQueueEx (long long) +@ stdcall DeleteTimerQueueTimer(long long long) +@ stdcall DeleteVolumeMountPointA(str) #check +@ stdcall DeleteVolumeMountPointW(wstr) #check +@ stdcall DeviceIoControl(long long ptr long ptr long ptr ptr) +@ stdcall DisableThreadLibraryCalls(long) +@ stdcall DisconnectNamedPipe(long) +@ stdcall DnsHostnameToComputerNameA (str ptr ptr) +@ stdcall DnsHostnameToComputerNameW (wstr ptr ptr) +@ stdcall DosDateTimeToFileTime(long long ptr) +@ stdcall DosPathToSessionPathA(long str str) +@ stdcall DosPathToSessionPathW(long wstr wstr) +@ stdcall DuplicateConsoleHandle(long long long long) +@ stdcall DuplicateHandle(long long long ptr long long long) +@ stdcall EncodePointer(ptr) ntdll.RtlEncodePointer +@ stub EncodeSystemPointer +@ stdcall EndUpdateResourceA(long long) +@ stdcall EndUpdateResourceW(long long) +@ stdcall EnterCriticalSection(ptr) ntdll.RtlEnterCriticalSection +@ stdcall EnumCalendarInfoA(ptr long long long) +@ stdcall EnumCalendarInfoExA(ptr long long long) +@ stdcall EnumCalendarInfoExW(ptr long long long) +@ stdcall EnumCalendarInfoW(ptr long long long) +@ stdcall EnumDateFormatsA(ptr long long) +@ stdcall EnumDateFormatsExA(ptr long long) +@ stdcall EnumDateFormatsExW(ptr long long) +@ stdcall EnumDateFormatsW(ptr long long) +@ stdcall EnumLanguageGroupLocalesA(ptr long long ptr) +@ stdcall EnumLanguageGroupLocalesW(ptr long long ptr) +@ stdcall EnumResourceLanguagesA(long str str ptr long) +@ stdcall EnumResourceLanguagesW(long wstr wstr ptr long) +@ stdcall EnumResourceNamesA(long str ptr long) +@ stdcall EnumResourceNamesW(long wstr ptr long) +@ stdcall EnumResourceTypesA(long ptr long) +@ stdcall EnumResourceTypesW(long ptr long) +@ stdcall EnumSystemCodePagesA(ptr long) +@ stdcall EnumSystemCodePagesW(ptr long) +@ stdcall EnumSystemGeoID(long long ptr) +@ stdcall EnumSystemLanguageGroupsA(ptr long ptr) +@ stdcall EnumSystemLanguageGroupsW(ptr long ptr) +@ stdcall EnumSystemLocalesA(ptr long) +@ stdcall EnumSystemLocalesW(ptr long) +@ stdcall EnumTimeFormatsA(ptr long long) +@ stdcall EnumTimeFormatsW(ptr long long) +@ stdcall EnumUILanguagesA(ptr long long) +@ stdcall EnumUILanguagesW(ptr long long) +@ stub EnumerateLocalComputerNamesA +@ stub EnumerateLocalComputerNamesW +@ stdcall EraseTape(ptr long long) +@ stdcall EscapeCommFunction(long long) +@ stdcall ExitProcess(long) +@ stdcall ExitThread(long) +@ stub ExitVDM +@ stdcall ExpandEnvironmentStringsA(str ptr long) +@ stdcall ExpandEnvironmentStringsW(wstr ptr long) +@ stdcall ExpungeConsoleCommandHistoryA(long) +@ stdcall ExpungeConsoleCommandHistoryW(long) +@ stdcall ExtendVirtualBuffer(long long) +@ stdcall FatalAppExitA(long str) +@ stdcall FatalAppExitW(long wstr) +@ stdcall FatalExit(long) +@ stdcall FileTimeToDosDateTime(ptr ptr ptr) +@ stdcall FileTimeToLocalFileTime(ptr ptr) +@ stdcall FileTimeToSystemTime(ptr ptr) +@ stdcall FillConsoleOutputAttribute(long long long long ptr) +@ stdcall FillConsoleOutputCharacterA(long long long long ptr) +@ stdcall FillConsoleOutputCharacterW(long long long long ptr) +@ stdcall FindActCtxSectionGuid(long ptr long ptr ptr) +@ stdcall FindActCtxSectionStringA(long ptr long str ptr) +@ stdcall FindActCtxSectionStringW(long ptr long wstr ptr) +@ stdcall FindAtomA(str) +@ stdcall FindAtomW(wstr) +@ stdcall FindClose(long) +@ stdcall FindCloseChangeNotification(long) +@ stdcall FindFirstChangeNotificationA(str long long) +@ stdcall FindFirstChangeNotificationW(wstr long long) +@ stdcall FindFirstFileA(str ptr) +@ stdcall FindFirstFileExA(str long ptr long ptr long) +@ stdcall FindFirstFileExW(wstr long ptr long ptr long) +@ stdcall FindFirstFileW(wstr ptr) +@ stdcall FindFirstStreamW(wstr ptr ptr long) +@ stdcall FindFirstVolumeA(ptr long) +@ stdcall FindFirstVolumeMountPointA(str ptr long) +@ stdcall FindFirstVolumeMountPointW(wstr ptr long) +@ stdcall FindFirstVolumeW(ptr long) +@ stdcall FindNextChangeNotification(long) +@ stdcall FindNextFileA(long ptr) +@ stdcall FindNextFileW(long ptr) +@ stdcall FindNextVolumeA(long ptr long) +@ stdcall FindNextVolumeMountPointA(long str long) +@ stdcall FindNextVolumeMountPointW(long wstr long) +@ stdcall FindNextVolumeW(long ptr long) +@ stdcall FindResourceA(long str str) +@ stdcall FindResourceExA(long str str long) +@ stdcall FindResourceExW(long wstr wstr long) +@ stdcall FindResourceW(long wstr wstr) +@ stdcall FindVolumeClose(ptr) +@ stdcall FindVolumeMountPointClose(ptr) +@ stdcall FlsAlloc(ptr) +@ stdcall FlsFree(long) +@ stdcall FlsGetValue(long) +@ stdcall FlsSetValue(long ptr) +@ stdcall FlushConsoleInputBuffer(long) +@ stdcall FlushFileBuffers(long) +@ stdcall FlushInstructionCache(long long long) +@ stdcall FlushViewOfFile(ptr long) +@ stdcall FoldStringA(long str long ptr long) +@ stdcall FoldStringW(long wstr long ptr long) +@ stdcall FormatMessageA(long ptr long long ptr long ptr) +@ stdcall FormatMessageW(long ptr long long ptr long ptr) +@ stdcall FreeConsole() +@ stdcall FreeEnvironmentStringsA(ptr) +@ stdcall FreeEnvironmentStringsW(ptr) +@ stdcall FreeLibrary(long) +@ stdcall FreeLibraryAndExitThread(long long) +@ stdcall FreeResource(long) +@ stdcall FreeUserPhysicalPages(long long long) +@ stdcall FreeVirtualBuffer(ptr) +@ stdcall GenerateConsoleCtrlEvent(long long) +@ stdcall GetACP() +@ stdcall GetAtomNameA(long ptr long) +@ stdcall GetAtomNameW(long ptr long) +@ stdcall GetBinaryType(str ptr) GetBinaryTypeA +@ stdcall GetBinaryTypeA(str ptr) +@ stdcall GetBinaryTypeW(wstr ptr) +@ stdcall GetCPFileNameFromRegistry(long wstr long) #check +@ stdcall GetCPInfo(long ptr) +@ stdcall GetCPInfoExA(long long ptr) +@ stdcall GetCPInfoExW(long long ptr) +@ stdcall GetCalendarInfoA(long long long ptr long ptr) +@ stdcall GetCalendarInfoW(long long long ptr long ptr) +@ stub GetComPlusPackageInstallStatus +@ stdcall GetCommConfig(long ptr long) +@ stdcall GetCommMask(long ptr) +@ stdcall GetCommModemStatus(long ptr) +@ stdcall GetCommProperties(long ptr) +@ stdcall GetCommState(long ptr) +@ stdcall GetCommTimeouts(long ptr) +@ stdcall GetCommandLineA() +@ stdcall GetCommandLineW() +@ stdcall GetCompressedFileSizeA(long ptr) +@ stdcall GetCompressedFileSizeW(long ptr) +@ stdcall GetComputerNameA(ptr ptr) +@ stdcall GetComputerNameExA(long ptr ptr) +@ stdcall GetComputerNameExW(long ptr ptr) +@ stdcall GetComputerNameW(ptr ptr) +@ stdcall GetConsoleAliasA(str str long str) +@ stdcall GetConsoleAliasExesA(str long) +@ stdcall GetConsoleAliasExesLengthA() +@ stdcall GetConsoleAliasExesLengthW() +@ stdcall GetConsoleAliasExesW(wstr long) +@ stdcall GetConsoleAliasW(wstr wstr long wstr) +@ stdcall GetConsoleAliasesA(str long str) +@ stdcall GetConsoleAliasesLengthA(str) +@ stdcall GetConsoleAliasesLengthW(wstr) +@ stdcall GetConsoleAliasesW(wstr long wstr) +@ stdcall GetConsoleCP() +@ stub GetConsoleCharType +@ stdcall GetConsoleCommandHistoryA(long long long) #check +@ stdcall GetConsoleCommandHistoryLengthA(long long long)#check +@ stdcall GetConsoleCommandHistoryLengthW(long)#check +@ stdcall GetConsoleCommandHistoryW(long long long)#check +@ stdcall GetConsoleCursorInfo(long ptr) +@ stub GetConsoleCursorMode +@ stdcall GetConsoleDisplayMode(ptr) +@ stub GetConsoleFontInfo +@ stub GetConsoleFontSize +@ stub GetConsoleHardwareState +@ stdcall GetConsoleInputExeNameA(long ptr) +@ stdcall GetConsoleInputExeNameW(long ptr) +@ stdcall GetConsoleInputWaitHandle() +@ stdcall GetConsoleKeyboardLayoutNameA(ptr) +@ stdcall GetConsoleKeyboardLayoutNameW(ptr) +@ stdcall GetConsoleMode(long ptr) +@ stub GetConsoleNlsMode +@ stdcall GetConsoleOutputCP() +@ stub GetConsoleProcessist +@ stdcall GetConsoleScreenBufferInfo(long ptr) +@ stub GetConsoleSelectionInfo +@ stdcall GetConsoleTitleA(ptr long) +@ stdcall GetConsoleTitleW(ptr long) +@ stdcall GetConsoleWindow() +@ stdcall GetCurrencyFormatA(long long str ptr str long) +@ stdcall GetCurrencyFormatW(long long str ptr str long) +@ stdcall GetCurrentActCtx(ptr) +@ stub GetCurrentConsoleFont +@ stdcall GetCurrentDirectoryA(long ptr) +@ stdcall GetCurrentDirectoryW(long ptr) +@ stdcall GetCurrentProcess() +@ stdcall GetCurrentProcessId() +@ stdcall GetCurrentThread() +@ stdcall GetCurrentThreadId() +@ stdcall GetDateFormatA(long long ptr str ptr long) +@ stdcall GetDateFormatW(long long ptr wstr ptr long) +@ stub GetDaylightFlag +@ stdcall GetDefaultCommConfigA(str ptr long) +@ stdcall GetDefaultCommConfigW(wstr ptr long) +@ stub GetDefaultSortkeySize +@ stdcall GetDevicePowerState(long ptr) +@ stdcall GetDiskFreeSpaceA(str ptr ptr ptr ptr) +@ stdcall GetDiskFreeSpaceExA (str ptr ptr ptr) +@ stdcall GetDiskFreeSpaceExW (wstr ptr ptr ptr) +@ stdcall GetDiskFreeSpaceW(wstr ptr ptr ptr ptr) +@ stdcall GetDllDirectoryA(long ptr) +@ stdcall GetDllDirectoryW(long ptr) +@ stdcall GetDriveTypeA(str) +@ stdcall GetDriveTypeW(wstr) +@ stdcall GetEnvironmentStrings() +@ stdcall GetEnvironmentStringsA() GetEnvironmentStrings +@ stdcall GetEnvironmentStringsW() +@ stdcall GetEnvironmentVariableA(str ptr long) +@ stdcall GetEnvironmentVariableW(wstr ptr long) +@ stub GetErrorMode +@ stdcall GetExitCodeProcess(long ptr) +@ stdcall GetExitCodeThread(long ptr) +@ stdcall GetExpandedNameA(str ptr) +@ stdcall GetExpandedNameW(wstr ptr) +@ stdcall GetFileAttributesA(str) +@ stdcall GetFileAttributesByHandle(long ptr long) +@ stdcall GetFileAttributesExA(str long ptr) +@ stdcall GetFileAttributesExW(wstr long ptr) +@ stdcall GetFileAttributesW(wstr) +@ stdcall GetFileBandwidthReservation(long ptr ptr ptr ptr ptr) +@ stdcall GetFileInformationByHandle(long ptr) +@ stdcall GetFileSize(long ptr) +@ stdcall GetFileSizeEx(long ptr) +@ stdcall GetFileTime(long ptr ptr ptr) +@ stdcall GetFileType(long) +@ stdcall GetFinalPathNameByHandleA(long str long long) +@ stdcall GetFinalPathNameByHandleW(long wstr long long) +@ stub GetFirmwareEnvironmentVariableA +@ stub GetFirmwareEnvironmentVariableW +@ stdcall GetFullPathNameA(str long ptr ptr) +@ stdcall GetFullPathNameW(wstr long ptr ptr) +@ stdcall GetGeoInfoA(long long ptr long long) +@ stdcall GetGeoInfoW(long long ptr long long) +@ stdcall GetHandleContext(long) +@ stdcall GetHandleInformation(long ptr) +@ stub GetSCallbackTarget +@ stub GetSCallbackTemplate +@ stdcall GetLargePageMinimum() +@ stdcall GetLargestConsoleWindowSize(long) +@ stdcall GetLastError() +@ stub GetLinguistLangSize +@ stdcall GetLocalTime(ptr) +@ stdcall GetLocaleInfoA(long long ptr long) +@ stdcall GetLocaleInfoW(long long ptr long) +@ stdcall GetLogicalDriveStringsA(long ptr) +@ stdcall GetLogicalDriveStringsW(long ptr) +@ stdcall GetLogicalDrives() +@ stdcall GetLongPathNameA (str long long) +@ stdcall GetLongPathNameW (wstr long long) +@ stdcall GetMailslotInfo(long ptr ptr ptr ptr) +@ stdcall GetModuleFileNameA(long ptr long) +@ stdcall GetModuleFileNameW(long ptr long) +@ stdcall GetModuleHandleA(str) +@ stdcall GetModuleHandleExA(long ptr ptr) +@ stdcall GetModuleHandleExW(long ptr ptr) +@ stdcall GetModuleHandleW(wstr) +@ stdcall GetNamedPipeHandleStateA(long ptr ptr ptr ptr str long) +@ stdcall GetNamedPipeHandleStateW(long ptr ptr ptr ptr wstr long) +@ stdcall GetNamedPipeInfo(long ptr ptr ptr ptr) +@ stdcall GetNativeSystemInfo(ptr) +@ stub GetNextVDMCommand +@ stub GetNlsSectionName +@ stub GetNumaAvailableMemory +@ stub GetNumaAvailableMemoryNode +@ stub GetNumaHighestNodeNumber +@ stub GetNumaNodeProcessorMask +@ stub GetNumaProcessorMap +@ stub GetNumaProcessorNode +@ stdcall GetNumberFormatA(long long str ptr ptr long) +@ stdcall GetNumberFormatW(long long wstr ptr ptr long) +@ stdcall GetNumberOfConsoleFonts() +@ stdcall GetNumberOfConsoleInputEvents(long ptr) +@ stdcall GetNumberOfConsoleMouseButtons(ptr) +@ stdcall GetOEMCP() +@ stdcall GetOverlappedResult(long ptr ptr long) +@ stdcall GetPriorityClass(long) +@ stdcall GetPrivateProfileIntA(str str long str) +@ stdcall GetPrivateProfileIntW(wstr wstr long wstr) +@ stdcall GetPrivateProfileSectionA(str ptr long str) +@ stdcall GetPrivateProfileSectionNamesA(ptr long str) +@ stdcall GetPrivateProfileSectionNamesW(ptr long wstr) +@ stdcall GetPrivateProfileSectionW(wstr ptr long wstr) +@ stdcall GetPrivateProfileStringA(str str str ptr long str) +@ stdcall GetPrivateProfileStringW(wstr wstr wstr ptr long wstr) +@ stdcall GetPrivateProfileStructA (str str ptr long str) +@ stdcall GetPrivateProfileStructW(wstr wstr ptr long wstr) +@ stdcall GetProcAddress(long str) +@ stdcall GetProcessAffinityMask(long ptr ptr) +@ stdcall GetProcessHandleCount(long ptr) +@ stdcall GetProcessHeap() +@ stdcall GetProcessHeaps(long ptr) +@ stdcall GetProcessId(long) +@ stdcall GetProcessIoCounters(long ptr) +@ stdcall GetProcessPriorityBoost(long ptr) +@ stdcall GetProcessShutdownParameters(ptr ptr) +@ stdcall GetProcessTimes(long ptr ptr ptr ptr) +@ stdcall GetProcessVersion(long) +@ stdcall GetProcessWorkingSetSize(long ptr ptr) +@ stub GetProductName +@ stdcall GetProfileIntA(str str long) +@ stdcall GetProfileIntW(wstr wstr long) +@ stdcall GetProfileSectionA(str ptr long) +@ stdcall GetProfileSectionW(wstr ptr long) +@ stdcall GetProfileStringA(str str str ptr long) +@ stdcall GetProfileStringW(wstr wstr wstr ptr long) +@ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) +@ stub GetLSCallbackTarget +@ stub GetLSCallbackTemplate +@ stdcall GetShortPathNameA(str ptr long) +@ stdcall GetShortPathNameW(wstr ptr long) +@ stdcall GetStartupInfoA(ptr) +@ stdcall GetStartupInfoW(ptr) +@ stdcall GetStdHandle(long) +@ stdcall GetStringTypeA(long long str long ptr) +@ stdcall GetStringTypeExA(long long str long ptr) +@ stdcall GetStringTypeExW(long long wstr long ptr) +@ stdcall GetStringTypeW(long wstr long ptr) +@ stdcall GetSystemDefaultLCID() +@ stdcall GetSystemDefaultLangID() +@ stdcall GetSystemDefaultUILanguage() +@ stdcall GetSystemDirectoryA(ptr long) +@ stdcall GetSystemDirectoryW(ptr long) +@ stdcall GetSystemInfo(ptr) +@ stdcall GetSystemPowerStatus(ptr) +@ stub GetSystemRegistryQuota +@ stdcall GetSystemTime(ptr) +@ stdcall GetSystemTimeAdjustment(ptr ptr ptr) +@ stdcall GetSystemTimeAsFileTime(ptr) +@ stub GetSystemTimes +@ stdcall GetSystemWindowsDirectoryA(ptr long) +@ stdcall GetSystemWindowsDirectoryW(ptr long) +@ stdcall GetSystemWow64DirectoryA(ptr long) +@ stdcall GetSystemWow64DirectoryW(ptr long) +@ stdcall GetTapeParameters(ptr long ptr ptr) +@ stdcall GetTapePosition(ptr long ptr ptr ptr) +@ stdcall GetTapeStatus(ptr) +@ stdcall GetTempFileNameA(str str long ptr) +@ stdcall GetTempFileNameW(wstr wstr long ptr) +@ stdcall GetTempPathA(long ptr) +@ stdcall GetTempPathW(long ptr) +@ stdcall GetThreadContext(long ptr) +@ stdcall GetThreadId(ptr) +@ stub GetThreadIOPendingFlag +@ stdcall GetThreadLocale() +@ stdcall GetThreadPriority(long) +@ stdcall GetThreadPriorityBoost(long ptr) +@ stdcall GetThreadSelectorEntry(long long ptr) +@ stdcall GetThreadTimes(long ptr ptr ptr ptr) +@ stdcall GetTickCount() +@ stdcall -ret64 GetTickCount64() +@ stdcall GetTimeFormatA(long long ptr str ptr long) +@ stdcall GetTimeFormatW(long long ptr wstr ptr long) +@ stdcall GetTimeZoneInformation(ptr) +@ stdcall GetUserDefaultLCID() +@ stdcall GetUserDefaultLangID() +@ stdcall GetUserDefaultUILanguage() +@ stdcall GetUserGeoID(long) +@ stub GetVDMCurrentDirectories +@ stdcall GetVersion() +@ stdcall GetVersionExA(ptr) +@ stdcall GetVersionExW(ptr) +@ stdcall GetVolumeInformationA(str ptr long ptr ptr ptr ptr long) +@ stdcall GetVolumeInformationW(wstr ptr long ptr ptr ptr ptr long) +@ stdcall GetVolumeNameForVolumeMountPointA(str ptr long) +@ stdcall GetVolumeNameForVolumeMountPointW(wstr ptr long) +@ stdcall GetVolumePathNameA(str ptr long) +@ stdcall GetVolumePathNameW(wstr ptr long) +@ stub GetVolumePathNamesForVolumeNameA +@ stub GetVolumePathNamesForVolumeNameW +@ stdcall GetWindowsDirectoryA(ptr long) +@ stdcall GetWindowsDirectoryW(ptr long) +@ stub GetWriteWatch +@ stdcall GlobalAddAtomA(str) +@ stdcall GlobalAddAtomW(wstr) +@ stdcall GlobalAlloc(long long) +@ stdcall GlobalCompact(long) +@ stdcall GlobalDeleteAtom(long) +@ stdcall GlobalFindAtomA(str) +@ stdcall GlobalFindAtomW(wstr) +@ stdcall GlobalFix(long) +@ stdcall GlobalFlags(long) +@ stdcall GlobalFree(long) +@ stdcall GlobalGetAtomNameA(long ptr long) +@ stdcall GlobalGetAtomNameW(long ptr long) +@ stdcall GlobalHandle(ptr) +@ stdcall GlobalLock(long) +@ stdcall GlobalMemoryStatus(ptr) +@ stdcall GlobalMemoryStatusEx(ptr) +@ stdcall GlobalReAlloc(long long long) +@ stdcall GlobalSize(long) +@ stdcall GlobalUnWire(long) +@ stdcall GlobalUnfix(long) +@ stdcall GlobalUnlock(long) +@ stdcall GlobalWire(long) +@ stub Heap32First +@ stdcall Heap32ListFirst(long ptr) +@ stub Heap32ListNext +@ stub Heap32Next +@ stdcall HeapAlloc(long long long) ntdll.RtlAllocateHeap +@ stdcall HeapCompact(long long) +@ stdcall HeapCreate(long long long) +@ stub HeapCreateTagsW +@ stdcall HeapDestroy(long) +@ stub HeapExtend +@ stdcall HeapFree(long long long) ntdll.RtlFreeHeap +@ stdcall HeapLock(long) +@ stub HeapQueryInformation +@ stub HeapQueryTagW +@ stdcall HeapReAlloc(long long ptr long) ntdll.RtlReAllocateHeap +@ stub HeapSetFlags +@ stdcall HeapSetInformation(ptr long ptr long) +@ stdcall HeapSize(long long ptr) ntdll.RtlSizeHeap +@ stub HeapSummary +@ stdcall HeapUnlock(long) +@ stub HeapUsage +@ stdcall HeapValidate(long long ptr) +@ stdcall HeapWalk(long ptr) +@ stdcall InitAtomTable(long) +@ stdcall InitializeCriticalSection(ptr) +@ stdcall InitializeCriticalSectionAndSpinCount(ptr long) +@ stdcall InitializeCriticalSectionEx(ptr long long) +@ stdcall InitializeSListHead(ptr) ntdll.RtlInitializeSListHead +@ stdcall InitializeSRWLock(ptr) ntdll.RtlInitializeSRWLock +@ stdcall InterlockedCompareExchange (ptr long long) +@ stdcall InterlockedDecrement(ptr) +@ stdcall InterlockedExchange(ptr long) +@ stdcall InterlockedExchangeAdd (ptr long ) +@ stdcall InterlockedFlushSList(ptr) ntdll.RtlInterlockedFlushSList +@ stdcall InterlockedIncrement(ptr) +@ stdcall InterlockedPopEntrySList(ptr) ntdll.RtlInterlockedPopEntrySList +@ stdcall InterlockedPushEntrySList(ptr ptr) ntdll.RtlInterlockedPushEntrySList +@ stub InvalidateConsoleDIBits +@ stub InvalidateNSCache +@ stdcall IsBadCodePtr(ptr) +@ stdcall IsBadHugeReadPtr(ptr long) +@ stdcall IsBadHugeWritePtr(ptr long) +@ stdcall IsBadReadPtr(ptr long) +@ stdcall IsBadStringPtrA(ptr long) +@ stdcall IsBadStringPtrW(ptr long) +@ stdcall IsBadWritePtr(ptr long) +@ stdcall IsDBCSLeadByte(long) +@ stdcall IsDBCSLeadByteEx(long long) +@ stdcall IsDebuggerPresent() +@ stub IsProcessInJob +@ stdcall IsProcessorFeaturePresent(long) +@ stdcall IsSystemResumeAutomatic() +@ stdcall IsValidCodePage(long) +@ stdcall IsValidLanguageGroup(long long) +@ stdcall IsValidLocale(long long) +@ stub IsValidUILanguage +@ stdcall IsWow64Process(ptr ptr) +@ stub LCIDToLocaleName +@ stdcall LCMapStringA(long long str long ptr long) +@ stdcall LCMapStringW(long long wstr long ptr long) +@ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection +@ stdcall LoadLibraryA(str) +@ stdcall LoadLibraryExA( str long long) +@ stdcall LoadLibraryExW(wstr long long) +@ stdcall LoadLibraryW(wstr) +@ stdcall LoadModule(str ptr) +@ stdcall LoadResource(long long) +@ stdcall LocalAlloc(long long) +@ stdcall LocalCompact(long) +@ stdcall LocalFileTimeToFileTime(ptr ptr) +@ stdcall LocalFlags(long) +@ stdcall LocalFree(long) +@ stdcall LocalHandle(ptr) +@ stdcall LocalLock(long) +@ stdcall LocalReAlloc(long long long) +@ stdcall LocalShrink(long long) +@ stdcall LocalSize(long) +@ stdcall LocalUnlock(long) +@ stub LocaleNameToLCID +@ stdcall LockFile(long long long long long) +@ stdcall LockFileEx(long long long long long ptr) +@ stdcall LockResource(long) +@ stdcall LZClose(long) +@ stdcall LZCopy(long long) +@ stdcall LZDone() +@ stdcall LZInit(long) +@ stdcall LZOpenFileA(str ptr long) +@ stdcall LZOpenFileW(wstr ptr long) +@ stdcall LZRead(long str long) #check +@ stdcall LZSeek(long long long) #check +@ stdcall LZStart() +@ stdcall MapUserPhysicalPages(ptr long ptr) +@ stdcall MapUserPhysicalPagesScatter(ptr long ptr) +@ stdcall MapViewOfFile(long long long long long) +@ stdcall MapViewOfFileEx(long long long long long ptr) +@ stdcall Module32First(long ptr) +@ stdcall Module32FirstW(long ptr) +@ stdcall Module32Next(long ptr) +@ stdcall Module32NextW(long ptr) +@ stdcall MoveFileA(str str) +@ stdcall MoveFileExA(str str long) +@ stdcall MoveFileExW(wstr wstr long) +@ stdcall MoveFileW(wstr wstr) +@ stdcall MoveFileWithProgressA(str str ptr ptr long) +@ stdcall MoveFileWithProgressW(wstr wstr ptr ptr long) +@ stdcall MulDiv(long long long) +@ stdcall MultiByteToWideChar(long long str long ptr long) +@ stdcall NeedCurrentDirectoryForExePathA(str) +@ stdcall NeedCurrentDirectoryForExePathW(wstr) +@ stub NlsConvertIntegerToString +@ stub NlsGetCacheUpdateCount +@ stub NlsResetProcessocale +@ stub NotifyNLSUserCache +@ stub NumaVirtualQueryNode +@ stdcall OpenConsoleW(wstr long long long) +@ stub OpenDataFile +@ stdcall OpenEventA(long long str) +@ stdcall OpenEventW(long long wstr) +@ stdcall OpenFile(str ptr long) +@ stdcall OpenFileMappingA(long long str) +@ stdcall OpenFileMappingW(long long wstr) +@ stub OpenJobObjectA +@ stub OpenJobObjectW +@ stdcall OpenMutexA(long long str) +@ stdcall OpenMutexW(long long wstr) +@ stdcall OpenProcess(long long long) +@ stub OpenProfileUserMapping +@ stdcall OpenSemaphoreA(long long str) +@ stdcall OpenSemaphoreW(long long wstr) +@ stdcall OpenThread(long long long) +@ stdcall OpenWaitableTimerA(long long str) +@ stdcall OpenWaitableTimerW(long long wstr) +@ stdcall OutputDebugStringA(str) +@ stdcall OutputDebugStringW(wstr) +@ stdcall PeekConsoleInputA(ptr ptr long ptr) +@ stdcall PeekConsoleInputW(ptr ptr long ptr) +@ stdcall PeekNamedPipe(long ptr long ptr ptr ptr) +@ stdcall PostQueuedCompletionStatus(long long ptr ptr) +@ stdcall PrepareTape(ptr long long) +@ stub PrivCopyFileExW +@ stub PrivMoveFileIdentityW +@ stdcall Process32First (ptr ptr) +@ stdcall Process32FirstW (ptr ptr) +@ stdcall Process32Next (ptr ptr) +@ stdcall Process32NextW (ptr ptr) +@ stdcall ProcessIdToSessionId(long ptr) +@ stdcall PulseEvent(long) +@ stdcall PurgeComm(long long) +@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr) +@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList +@ stdcall QueryDosDeviceA(str ptr long) +@ stdcall QueryDosDeviceW(wstr ptr long) +@ stub QueryInformationJobObject +@ stub QueryMemoryResourceNotification +@ stub QueryNumberOfEventogRecords +@ stub QueryOldestEventogRecord +@ stdcall QueryPerformanceCounter(ptr) +@ stdcall QueryPerformanceFrequency(ptr) +@ stub QueryWin31IniFilesMappedToRegistry +@ stdcall QueueUserAPC(ptr long long) +@ stdcall QueueUserWorkItem(ptr ptr long) +@ stdcall RaiseException(long long long ptr) +@ stdcall ReadConsoleA(long ptr long ptr ptr) +@ stdcall ReadConsoleInputA(long ptr long ptr) +@ stub ReadConsoleInputExA +@ stub ReadConsoleInputExW +@ stdcall ReadConsoleInputW(long ptr long ptr) +@ stdcall ReadConsoleOutputA(long ptr long long ptr) +@ stdcall ReadConsoleOutputAttribute(long ptr long long ptr) +@ stdcall ReadConsoleOutputCharacterA(long ptr long long ptr) +@ stdcall ReadConsoleOutputCharacterW(long ptr long long ptr) +@ stdcall ReadConsoleOutputW(long ptr long long ptr) +@ stdcall ReadConsoleW(long ptr long ptr ptr) +@ stdcall ReadDirectoryChangesW(long ptr long long long ptr ptr ptr) +@ stdcall ReadFile(long ptr long ptr ptr) +@ stdcall ReadFileEx(long ptr long ptr ptr) +@ stdcall ReadFileScatter(long ptr long ptr ptr) +@ stdcall ReadProcessMemory(long ptr ptr long ptr) +@ stdcall RegisterApplicationRestart(wstr long) +@ stub RegisterConsoleIME +@ stub RegisterConsoleOS2 +@ stub RegisterConsoleVDM +@ stub RegisterServiceProcess +@ stub RegisterSysMsgHandler +@ stub RegisterWaitForInputIdle +@ stdcall RegisterWaitForSingleObject(ptr long ptr ptr long long) +@ stdcall RegisterWaitForSingleObjectEx(long ptr ptr long long) +@ stub RegisterWowBaseHandlers +@ stub RegisterWowExec +@ stdcall ReleaseActCtx(ptr) +@ stdcall ReleaseMutex(long) +@ stdcall ReleaseSemaphore(long long ptr) +@ stdcall ReleaseSRWLockExclusive(ptr) ntdll.RtlReleaseSRWLockExclusive +@ stdcall ReleaseSRWLockShared(ptr) ntdll.RtlReleaseSRWLockShared +@ stdcall RemoveDirectoryA(str) +@ stdcall RemoveDirectoryW(wstr) +@ stub RemoveLocalAlternateComputerNameA +@ stub RemoveLocalAlternateComputerNameW +@ stdcall RemoveVectoredExceptionHandler(ptr) ntdll.RtlRemoveVectoredExceptionHandler +@ stdcall ReplaceFile(wstr wstr wstr long ptr ptr) ReplaceFileW +@ stdcall ReplaceFileA(str str str long ptr ptr) +@ stdcall ReplaceFileW(wstr wstr wstr long ptr ptr) +@ stub RequestDeviceWakeup +@ stdcall RequestWakeupLatency(long) +@ stdcall ResetEvent(long) +@ stub ResetWriteWatch +@ stdcall RestoreLastError(long) ntdll.RtlRestoreLastWin32Error +@ stdcall ResumeThread(long) +@ stdcall RtlCaptureContext(ptr) ntdll.RtlCaptureContext +@ stdcall RtlCaptureStackBackTrace(long long ptr ptr) ntdll.RtlCaptureStackBackTrace +@ stdcall RtlFillMemory(ptr long long) ntdll.RtlFillMemory +@ stdcall RtlMoveMemory(ptr ptr long) ntdll.RtlMoveMemory +@ stdcall RtlUnwind(ptr ptr ptr long) ntdll.RtlUnwind +@ stdcall RtlZeroMemory(ptr long) ntdll.RtlZeroMemory +@ stdcall ScrollConsoleScreenBufferA(long ptr ptr ptr ptr) +@ stdcall ScrollConsoleScreenBufferW(long ptr ptr ptr ptr) +@ stdcall SearchPathA(str str str long ptr ptr) +@ stdcall SearchPathW(wstr wstr wstr long ptr ptr) +@ stdcall SetCPGlobal(long) +@ stdcall SetCalendarInfoA(long long long str) +@ stdcall SetCalendarInfoW(long long long wstr) +@ stub SetClientTimeZoneInformation +@ stub SetComPlusPackageInstallStatus +@ stdcall SetCommBreak(long) +@ stdcall SetCommConfig(long ptr long) +@ stdcall SetCommMask(long ptr) +@ stdcall SetCommState(long ptr) +@ stdcall SetCommTimeouts(long ptr) +@ stdcall SetComputerNameA(str) +@ stdcall SetComputerNameExA(long str) +@ stdcall SetComputerNameExW(long wstr) +@ stdcall SetComputerNameW(wstr) +@ stdcall SetConsoleActiveScreenBuffer(long) +@ stdcall SetConsoleCP(long) +@ stub SetConsoleCommandHistoryMode +@ stdcall SetConsoleCtrlHandler(ptr long) +@ stub SetConsoleCursor +@ stdcall SetConsoleCursorInfo(long ptr) +@ stub SetConsoleCursorMode +@ stdcall SetConsoleCursorPosition(long long) +@ stdcall SetConsoleDisplayMode(long long ptr) +@ stub SetConsoleFont +@ stub SetConsoleHardwareState +@ stub SetConsoleIcon +@ stdcall SetConsoleInputExeNameA(ptr) +@ stdcall SetConsoleInputExeNameW(ptr) +@ stub SetConsoleKeyShortcuts +@ stub SetConsoleLocalEUDC +@ stub SetConsoleMaximumWindowSize +@ stub SetConsoleMenuClose +@ stdcall SetConsoleMode(long long) +@ stub SetConsoleNlsMode +@ stub SetConsoleNumberOfCommandsA +@ stub SetConsoleNumberOfCommandsW +@ stub SetConsoleOS2OemFormat +@ stdcall SetConsoleOutputCP(long) +@ stub SetConsolePalette +@ stdcall SetConsoleScreenBufferSize(long long) +@ stdcall SetConsoleTextAttribute(long long) +@ stdcall SetConsoleTitleA(str) +@ stdcall SetConsoleTitleW(wstr) +@ stdcall SetConsoleWindowInfo(long long ptr) +@ stdcall SetCriticalSectionSpinCount(ptr long) ntdll.RtlSetCriticalSectionSpinCount +@ stdcall SetCurrentDirectoryA(str) +@ stdcall SetCurrentDirectoryW(wstr) +@ stub SetDaylightFlag +@ stdcall SetDefaultCommConfigA(str ptr long) +@ stdcall SetDefaultCommConfigW(wstr ptr long) +@ stdcall SetDllDirectoryA(str) +@ stdcall SetDllDirectoryW(wstr) +@ stdcall SetEndOfFile(long) +@ stdcall SetEnvironmentVariableA(str str) +@ stdcall SetEnvironmentVariableW(wstr wstr) +@ stdcall SetErrorMode(long) +@ stdcall SetEvent(long) +@ stdcall SetFileApisToANSI() +@ stdcall SetFileApisToOEM() +@ stdcall SetFileAttributesA(str long) +@ stdcall SetFileAttributesW(wstr long) +@ stdcall SetFilePointer(long long ptr long) +@ stdcall SetFilePointerEx(long double ptr long) +@ stub SetFileShortNameA +@ stub SetFileShortNameW +@ stdcall SetFileTime(long ptr ptr ptr) +@ stub SetFileValidData +@ stub SetFirmwareEnvironmentVariableA +@ stub SetFirmwareEnvironmentVariableW +@ stdcall SetHandleContext(long long) +@ stdcall SetHandleCount(long) +@ stdcall SetHandleInformation(long long long) +@ stub SetInformationJobObject +@ stub SetastConsoleEventActive +@ stdcall SetLastError(long) +@ stub SetocalPrimaryComputerNameA +@ stub SetocalPrimaryComputerNameW +@ stdcall SetLocalTime(ptr) +@ stdcall SetLocaleInfoA(long long str) +@ stdcall SetLocaleInfoW(long long wstr) +@ stdcall SetMailslotInfo(long long) +@ stub SetMessageWaitingIndicator +@ stdcall SetNamedPipeHandleState(long ptr ptr ptr) +@ stdcall SetPriorityClass(long long) +@ stdcall SetProcessAffinityMask(long long) +@ stdcall SetProcessPriorityBoost(long long) +@ stdcall SetProcessShutdownParameters(long long) +@ stdcall SetProcessWorkingSetSize(long long long) +@ stdcall SetStdHandle(long long) +@ stdcall SetSystemPowerState(long long) +@ stdcall SetSystemTime(ptr) +@ stdcall SetSystemTimeAdjustment(long long) +@ stdcall SetTapeParameters(ptr long ptr) +@ stdcall SetTapePosition(ptr long long long long long) +@ stdcall SetTermsrvAppInstallMode(long) +@ stdcall SetThreadAffinityMask(long long) +@ stdcall SetThreadContext(long ptr) +@ stdcall SetThreadExecutionState(long) +@ stdcall SetThreadIdealProcessor(long long) +@ stdcall SetThreadLocale(long) +@ stdcall SetThreadPriority(long long) +@ stdcall SetThreadPriorityBoost(long long) +@ stdcall SetThreadUILanguage(long) +@ stdcall SetTimeZoneInformation(ptr) +@ stub SetTimerQueueTimer +@ stdcall SetUnhandledExceptionFilter(ptr) +@ stdcall SetUserGeoID(long) +@ stub SetVDMCurrentDirectories +@ stdcall SetVolumeLabelA(str str) +@ stdcall SetVolumeLabelW(wstr wstr) +@ stub SetVolumeMountPointA +@ stub SetVolumeMountPointW +@ stdcall SetWaitableTimer(long ptr long ptr ptr long) +@ stdcall SetupComm(long long long) +@ stub ShowConsoleCursor +@ stdcall SignalObjectAndWait(long long long long) +@ stdcall SizeofResource(long long) +@ stdcall Sleep(long) +@ stdcall SleepEx(long long) +@ stdcall SuspendThread(long) +@ stdcall SwitchToFiber(ptr) +@ stdcall SwitchToThread() +@ stdcall SystemTimeToFileTime(ptr ptr) +@ stdcall SystemTimeToTzSpecificLocalTime (ptr ptr ptr) +@ stub TerminateJobObject +@ stdcall TerminateProcess(long long) +@ stdcall TerminateThread(long long) +@ stdcall TermsrvAppInstallMode() +@ stdcall Thread32First(long ptr) +@ stdcall Thread32Next(long ptr) +@ stdcall TlsAlloc() +@ stub TlsAllocInternal +@ stdcall TlsFree(long) +@ stub TlsFreeInternal +@ stdcall TlsGetValue(long) +@ stdcall TlsSetValue(long ptr) +@ stdcall Toolhelp32ReadProcessMemory(long ptr ptr long ptr) +@ stdcall TransactNamedPipe(long ptr long ptr long ptr ptr) +@ stdcall TransmitCommChar(long long) +@ stdcall TrimVirtualBuffer(ptr) +@ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection +@ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr) +@ stdcall UTRegister(long str str str ptr ptr ptr) +@ stdcall UTUnRegister(long) +@ stdcall UnhandledExceptionFilter(ptr) +@ stdcall UnlockFile(long long long long long) +@ stdcall UnlockFileEx(long long long long ptr) +@ stdcall UnmapViewOfFile(ptr) +@ stub UnregisterConsoleIME +@ stdcall UnregisterWait(long) +@ stdcall UnregisterWaitEx(long long) +@ stdcall UpdateResourceA(long str str long ptr long) +@ stdcall UpdateResourceW(long wstr wstr long ptr long) +@ stub VDMConsoleOperation +@ stub VDMOperationStarted +@ stub ValidateCType +@ stub ValidatLeocale +@ stdcall VerLanguageNameA(long str long) +@ stdcall VerLanguageNameW(long wstr long) +@ stdcall -ret64 VerSetConditionMask(long long long long) ntdll.VerSetConditionMask +@ stdcall VerifyConsoleIoHandle(long) +@ stdcall VerifyVersionInfoA(long long double) +@ stdcall VerifyVersionInfoW(long long double) +@ stdcall VirtualAlloc(ptr long long long) +@ stdcall VirtualAllocEx(long ptr long long long) +@ stub VirtualBufferExceptionHandler +@ stdcall VirtualFree(ptr long long) +@ stdcall VirtualFreeEx(long ptr long long) +@ stdcall VirtualLock(ptr long) +@ stdcall VirtualProtect(ptr long long ptr) +@ stdcall VirtualProtectEx(long ptr long long ptr) +@ stdcall VirtualQuery(ptr ptr long) +@ stdcall VirtualQueryEx(long ptr ptr long) +@ stdcall VirtualUnlock(ptr long) +@ stdcall WakeAllConditionVariable(ptr) ntdll.RtlWakeAllConditionVariable +@ stdcall WakeConditionVariable(ptr) ntdll.RtlWakeConditionVariable +@ stdcall WaitCommEvent(long ptr ptr) +@ stdcall WaitForDebugEvent(ptr long) +@ stdcall WaitForMultipleObjects(long ptr long long) +@ stdcall WaitForMultipleObjectsEx(long ptr long long long) +@ stdcall WaitForSingleObject(long long) +@ stdcall WaitForSingleObjectEx(long long long) +@ stdcall WaitNamedPipeA (str long) +@ stdcall WaitNamedPipeW (wstr long) +@ stdcall WideCharToMultiByte(long long wstr long ptr long ptr ptr) +@ stdcall WinExec(str long) +@ stdcall Wow64EnableWow64FsRedirection(long) +@ stdcall Wow64DisableWow64FsRedirection(long) +@ stdcall Wow64RevertWow64FsRedirection(long) +@ stdcall WriteConsoleA(long ptr long ptr ptr) +@ stdcall WriteConsoleInputA(long ptr long ptr) +@ stub WriteConsoleInputVDMA +@ stub WriteConsoleInputVDMW +@ stdcall WriteConsoleInputW(long ptr long ptr) +@ stdcall WriteConsoleOutputA(long ptr long long ptr) +@ stdcall WriteConsoleOutputAttribute(long ptr long long ptr) +@ stdcall WriteConsoleOutputCharacterA(long ptr long long ptr) +@ stdcall WriteConsoleOutputCharacterW(long ptr long long ptr) +@ stdcall WriteConsoleOutputW(long ptr long long ptr) +@ stdcall WriteConsoleW(long ptr long ptr ptr) +@ stdcall WriteFile(long ptr long ptr ptr) +@ stdcall WriteFileEx(long ptr long ptr ptr) +@ stdcall WriteFileGather(long ptr long ptr ptr) +@ stdcall WritePrivateProfileSectionA(str str str) +@ stdcall WritePrivateProfileSectionW(wstr wstr wstr) +@ stdcall WritePrivateProfileStringA(str str str str) +@ stdcall WritePrivateProfileStringW(wstr wstr wstr wstr) +@ stdcall WritePrivateProfileStructA (str str ptr long str) +@ stdcall WritePrivateProfileStructW(wstr wstr ptr long wstr) +@ stdcall WriteProcessMemory(long ptr ptr long ptr) +@ stdcall WriteProfileSectionA(str str) +@ stdcall WriteProfileSectionW(str str) +@ stdcall WriteProfileStringA(str str str) +@ stdcall WriteProfileStringW(wstr wstr wstr) +@ stdcall WriteTapemark(ptr long long long) +@ stdcall WTSGetActiveConsoleSessionId() +@ stdcall ZombifyActCtx(ptr) +@ stub _DebugOut +@ stub _DebugPrintf +@ stdcall _hread(long ptr long) +@ stdcall _hwrite(long ptr long) +@ stdcall _lclose(long) +@ stdcall _lcreat(str long) +@ stdcall _llseek(long long long) +@ stdcall _lopen(str long) +@ stdcall _lread(long ptr long) _hread +@ stdcall _lwrite(long ptr long) _hwrite +@ stub dprintf +@ stdcall lstrcat(str str) lstrcatA +@ stdcall lstrcatA(str str) +@ stdcall lstrcatW(wstr wstr) +@ stdcall lstrcmp(str str) lstrcmpA +@ stdcall lstrcmpA(str str) +@ stdcall lstrcmpW(wstr wstr) +@ stdcall lstrcmpi(str str) lstrcmpiA +@ stdcall lstrcmpiA(str str) +@ stdcall lstrcmpiW(wstr wstr) +@ stdcall lstrcpy(ptr str) lstrcpyA +@ stdcall lstrcpyA(ptr str) +@ stdcall lstrcpyW(ptr wstr) +@ stdcall lstrcpyn(ptr str long) lstrcpynA +@ stdcall lstrcpynA(ptr str long) +@ stdcall lstrcpynW(ptr wstr long) +@ stdcall lstrlen(str) lstrlenA +@ stdcall lstrlenA(str) +@ stdcall lstrlenW(wstr) + +#EOF diff --git a/reactos/dll/win32/kernel32/misc/dllmain.c b/reactos/dll/win32/kernel32/misc/dllmain.c index e1f9a5b53d6..958a4076d95 100644 --- a/reactos/dll/win32/kernel32/misc/dllmain.c +++ b/reactos/dll/win32/kernel32/misc/dllmain.c @@ -407,6 +407,7 @@ InterlockedDecrement(IN OUT LONG volatile *lpAddend) return _InterlockedDecrement(lpAddend); } +#undef InterlockedExchange LONG WINAPI InterlockedExchange(IN OUT LONG volatile *Target, diff --git a/reactos/dll/win32/kernel32/misc/handle.c b/reactos/dll/win32/kernel32/misc/handle.c index 1a61ba19043..99a550d1b43 100644 --- a/reactos/dll/win32/kernel32/misc/handle.c +++ b/reactos/dll/win32/kernel32/misc/handle.c @@ -40,7 +40,7 @@ GetHandleInformation (HANDLE hObject, DWORD Flags; Ppb = NtCurrentPeb()->ProcessParameters; - switch ((ULONG)hObject) + switch ((ULONG_PTR)hObject) { case STD_INPUT_HANDLE: hObject = Ppb->StandardInput; diff --git a/reactos/dll/win32/kernel32/misc/stubs.c b/reactos/dll/win32/kernel32/misc/stubs.c index d197b4acdde..b11385b2bd7 100644 --- a/reactos/dll/win32/kernel32/misc/stubs.c +++ b/reactos/dll/win32/kernel32/misc/stubs.c @@ -1401,3 +1401,15 @@ Wow64RevertWow64FsRedirection (VOID * pv) STUB; return FALSE; } + +BOOL WINAPI TermsrvAppInstallMode(void) +{ + STUB; + return FALSE; +} + +DWORD WINAPI SetTermsrvAppInstallMode(BOOL bInstallMode) +{ + STUB; + return 0; +} diff --git a/reactos/dll/win32/kernel32/misc/utils.c b/reactos/dll/win32/kernel32/misc/utils.c index 6048b15fb76..dc663f0ff03 100644 --- a/reactos/dll/win32/kernel32/misc/utils.c +++ b/reactos/dll/win32/kernel32/misc/utils.c @@ -11,6 +11,8 @@ #include #ifdef _M_IX86 #include "i386/ketypes.h" +#elif defined _M_AMD64 +#include "amd64/ketypes.h" #endif #define NDEBUG @@ -336,7 +338,7 @@ BasepInitializeContext(IN PCONTEXT Context, IN PVOID StackAddress, IN ULONG ContextType) { -#ifdef _M_IX86 +#ifdef __i386__ DPRINT("BasepInitializeContext: %p\n", Context); /* Setup the Initial Win32 Thread Context */ @@ -362,7 +364,7 @@ BasepInitializeContext(IN PCONTEXT Context, } else if (ContextType == 2) /* For Fibers */ { - //Context->Eip = (ULONG)BaseFiberStartup; + Context->Eip = (ULONG)BaseFiberStartup; } else /* For first thread in a Process */ { @@ -374,6 +376,44 @@ BasepInitializeContext(IN PCONTEXT Context, /* Give it some room for the Parameter */ Context->Esp -= sizeof(PVOID); +#elif defined(__x86_64__) + DPRINT("BasepInitializeContext: %p\n", Context); + + /* Setup the Initial Win32 Thread Context */ + Context->Rax = (ULONG_PTR)StartAddress; + Context->Rbx = (ULONG_PTR)Parameter; + Context->Rsp = (ULONG_PTR)StackAddress; + /* The other registers are undefined */ + + /* Setup the Segments */ + Context->SegFs = KGDT_R3_TEB | RPL_MASK; + Context->SegEs = KGDT_R3_DATA | RPL_MASK; + Context->SegDs = KGDT_R3_DATA | RPL_MASK; + Context->SegCs = KGDT_R3_CODE | RPL_MASK; + Context->SegSs = KGDT_R3_DATA | RPL_MASK; + Context->SegGs = 0; + + /* Set the EFLAGS */ + Context->EFlags = 0x3000; /* IOPL 3 */ + + if (ContextType == 1) /* For Threads */ + { + Context->Rip = (ULONG_PTR)BaseThreadStartupThunk; + } + else if (ContextType == 2) /* For Fibers */ + { + Context->Rip = (ULONG_PTR)BaseFiberStartup; + } + else /* For first thread in a Process */ + { + Context->Rip = (ULONG_PTR)BaseProcessStartThunk; + } + + /* Set the Context Flags */ + Context->ContextFlags = CONTEXT_FULL; + + /* Give it some room for the Parameter */ + Context->Rsp -= sizeof(PVOID); #else #warning Unknown architecture UNIMPLEMENTED; diff --git a/reactos/dll/win32/kernel32/process/session.c b/reactos/dll/win32/kernel32/process/session.c index b87f5c31120..79d3842e7ac 100644 --- a/reactos/dll/win32/kernel32/process/session.c +++ b/reactos/dll/win32/kernel32/process/session.c @@ -60,7 +60,7 @@ BOOL STDCALL ProcessIdToSessionId (IN DWORD dwProcessId, return FALSE; } - ClientId.UniqueProcess = (HANDLE)dwProcessId; + ClientId.UniqueProcess = (HANDLE)(ULONG_PTR)dwProcessId; ClientId.UniqueThread = 0; InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL); diff --git a/reactos/dll/win32/kernel32/synch/critical.c b/reactos/dll/win32/kernel32/synch/critical.c index 474a5d6c543..ce3844d6a67 100644 --- a/reactos/dll/win32/kernel32/synch/critical.c +++ b/reactos/dll/win32/kernel32/synch/critical.c @@ -55,4 +55,14 @@ InitializeCriticalSectionAndSpinCount(OUT LPCRITICAL_SECTION lpCriticalSection, return TRUE; } +/* + * @implemented + */ +BOOL WINAPI InitializeCriticalSectionEx( CRITICAL_SECTION *crit, DWORD spincount, DWORD flags ) +{ + NTSTATUS ret = RtlInitializeCriticalSectionEx( crit, spincount, flags ); + if (ret) RtlRaiseStatus( ret ); + return !ret; +} + /* EOF */ diff --git a/reactos/dll/win32/kernel32/thread/amd64/fiber.S b/reactos/dll/win32/kernel32/thread/amd64/fiber.S new file mode 100644 index 00000000000..00b3a17fb34 --- /dev/null +++ b/reactos/dll/win32/kernel32/thread/amd64/fiber.S @@ -0,0 +1,124 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS system libraries + * FILE: lib/kernel32/thread/i386/fiber.S + * PURPOSE: Fiber context switch code for the x86 architecture + * PROGRAMMERS: Alex Ionescu (alex@relsoft.net) + * KJK::Hyperion + */ + +#include + +#define CONTEXT_FULL 0x10007 +#define CONTEXT_FLOATING_POINT 0xF + +.globl _SwitchToFiber@4 +.intel_syntax noprefix + +_SwitchToFiber@4: + /* Get the TEB */ + mov edx, fs:[KGDT_R3_TEB] + + /* Get the Fiber */ + mov eax, [edx+TEB_FIBER_DATA] + + /* Save the non-volatile registers */ + mov [eax+FIBER_CONTEXT_EBX], ebx + mov [eax+FIBER_CONTEXT_ESI], esi + mov [eax+FIBER_CONTEXT_EDI], edi + mov [eax+FIBER_CONTEXT_EBP], ebp + + /* Check if we're to save FPU State */ + cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL + CONTEXT_FLOATING_POINT + jnz NoFpuStateSave + + /* Save the FPU State (Status and Control)*/ + fstsw [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD] + fstcw [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] + + /* Check if the CPU supports SIMD MXCSR State Save */ + cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0 + jnz NoFpuStateSave + stmxcsr [eax+FIBER_CONTEXT_DR6] + +NoFpuStateSave: + + /* Save stack since we're not touching it anymore */ + mov [eax+FIBER_CONTEXT_ESP], esp + + /* Transfer some data from the TEB */ + mov ecx, [edx+TEB_FLS_DATA] + mov [eax+FIBER_FLS_DATA], ecx + mov ecx, [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER] + mov [eax+FIBER_ACTIVATION_CONTEXT_STACK], ecx + + /* Transfer some data related to the Stack */ + mov ecx, [edx+TEB_EXCEPTION_LIST] + mov [eax+FIBER_EXCEPTION_LIST], ecx + mov ecx, [edx+TEB_STACK_LIMIT] + mov [eax+FIBER_STACK_LIMIT], ecx + mov ecx, [edx+TEB_GUARANTEED_STACK_BYTES] + mov [eax+FIBER_GUARANTEED_STACK_BYTES], ecx + + /* Switch to the new fiber */ + mov ecx, [esp+4] + mov [edx+TEB_FIBER_DATA], ecx + + /* Switch Fiber Data */ + mov esi, [ecx+FIBER_EXCEPTION_LIST] + mov [edx+TEB_EXCEPTION_LIST], esi + mov esi, [ecx+FIBER_STACK_BASE] + mov [edx+TEB_STACK_BASE], esi + mov esi, [ecx+FIBER_STACK_LIMIT] + mov [edx+TEB_STACK_LIMIT], esi + mov esi, [ecx+FIBER_DEALLOCATION_STACK] + mov [edx+TEB_DEALLOCATION_STACK], esi + mov esi, [ecx+FIBER_GUARANTEED_STACK_BYTES] + mov [edx+TEB_GUARANTEED_STACK_BYTES], esi + mov esi, [ecx+FIBER_ACTIVATION_CONTEXT_STACK] + mov [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER], esi + + /* Restore FPU State */ + cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL + CONTEXT_FLOATING_POINT + jnz NoFpuStateRestore + + /* Check if the Status Word Changed */ + mov esi, [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD] + cmp si, word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD] + jnz StatusWordChanged + + /* Check if the Control Word Changed */ + mov esi, [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] + cmp si, word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] + jz ControlWordEqual + +StatusWordChanged: + + /* Load the new one */ + mov word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD], 0xFFFF + fldenv [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] + +ControlWordEqual: + + /* Load the new one */ + cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0 + jnz NoFpuStateRestore + ldmxcsr [ecx+FIBER_CONTEXT_DR6] + +NoFpuStateRestore: + + /* Restore non-volatile registers */ + mov esi, [ecx+FIBER_CONTEXT_ESI] + mov edi, [ecx+FIBER_CONTEXT_EDI] + mov ebx, [ecx+FIBER_CONTEXT_EBX] + mov ebp, [ecx+FIBER_CONTEXT_EBP] + mov esp, [ecx+FIBER_CONTEXT_ESP] + + /* Restore FLS Data */ + mov eax, [ecx+FIBER_FLS_DATA] + mov [edx+TEB_FLS_DATA], eax + + /* Return */ + ret 4 + +/* EOF */ diff --git a/reactos/dll/win32/kernel32/thread/amd64/thread.S b/reactos/dll/win32/kernel32/thread/amd64/thread.S new file mode 100644 index 00000000000..36bc0c31b14 --- /dev/null +++ b/reactos/dll/win32/kernel32/thread/amd64/thread.S @@ -0,0 +1,32 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS system libraries + * FILE: lib/kernel32/thread/i386/thread.S + * PURPOSE: Thread Start Thunks + * PROGRAMMER: Alex Ionescu (alex@relsoft.net) + */ + +.globl _BaseThreadStartupThunk@0 +.globl _BaseProcessStartThunk@0 +.intel_syntax noprefix + +_BaseThreadStartupThunk@0: + + /* Start out fresh */ + xor rbp, rbp + + push rbx /* lpParameter */ + push rax /* lpStartAddress */ + push 0 /* Return RIP */ + jmp _BaseThreadStartup + +_BaseProcessStartThunk@0: + + /* Start out fresh */ + xor rbp, rbp + + push rax /* lpStartAddress */ + push 0 /* Return RIP */ + jmp _BaseProcessStartup + +/* EOF */ diff --git a/reactos/dll/win32/kernel32/thread/fiber.c b/reactos/dll/win32/kernel32/thread/fiber.c index 56fe5898b49..50dd9b45010 100644 --- a/reactos/dll/win32/kernel32/thread/fiber.c +++ b/reactos/dll/win32/kernel32/thread/fiber.c @@ -258,6 +258,13 @@ BaseFiberStartup(VOID) DPRINT1("Starting Fiber\n"); BaseThreadStartup((LPTHREAD_START_ROUTINE)Fiber->Context.Eax, (LPVOID)Fiber->Context.Ebx); +#elif defined(__x86_64__) + PFIBER Fiber = GetFiberData(); + + /* Call the Thread Startup Routine */ + DPRINT1("Starting Fiber\n"); + BaseThreadStartup((LPTHREAD_START_ROUTINE)Fiber->Context.Rax, + (LPVOID)Fiber->Context.Rbx); #else #warning Unknown architecture UNIMPLEMENTED; diff --git a/reactos/dll/win32/kernel32/thread/thread.c b/reactos/dll/win32/kernel32/thread/thread.c index 1d003ef6b3e..c208aa9d9f4 100644 --- a/reactos/dll/win32/kernel32/thread/thread.c +++ b/reactos/dll/win32/kernel32/thread/thread.c @@ -658,6 +658,7 @@ GetThreadSelectorEntry(IN HANDLE hThread, IN DWORD dwSelector, OUT LPLDT_ENTRY lpSelectorEntry) { +#ifdef _M_IX86 DESCRIPTOR_TABLE_ENTRY DescriptionTableEntry; NTSTATUS Status; @@ -675,6 +676,10 @@ GetThreadSelectorEntry(IN HANDLE hThread, *lpSelectorEntry = DescriptionTableEntry.Descriptor; return TRUE; +#else + DPRINT1("Calling GetThreadSelectorEntry!\n"); + return FALSE; +#endif } /*