|
|
(11 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
− | Kernel32.dll is NOT synced with WINE, it is made by ReactOS [http://www.reactos.org/forum/viewtopic.php?f=9&t=11006#p90534 (source)]
| + | {{Stub}} |
| | | |
| + | KERNEL32.DLL exposes to applications most of the Win32 base APIs, such as [[Memory Manager|memory management]], input/output (I/O) operations, process and thread creation, and synchronization functions. Many of these are implemented within KERNEL32.DLL by calling corresponding functions in the [[Wikipedia:native API|native API]], exposed by [[Ntdll.dll|NTDLL.DLL]]. |
| | | |
− | http://en.wikipedia.org/wiki/Microsoft_Windows_library_files#Kernel32.dll
| + | == Relationship with Wine == |
| + | Kernel32.dll is partially synced with [[WINE|Wine]]. |
| | | |
− | http://en.wikipedia.org/wiki/Windows_API#Overview
| + | == Code History == |
| + | {{Code history|dll/win32/kernel32}} |
| | | |
− | http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/?view=log
| + | == External links == |
| + | *[[wikipedia:Microsoft Windows library files#KERNEL32.DLL]] |
| + | *[[wikipedia:Windows API#Overview]] |
| | | |
− | [[ChangeLog-0.0.12]] | + | [[Category:Development]] |
− | | + | [[Category:DLL]] |
− | kernel32 now compiles (only as a static library)
| |
− | | |
− | [[ChangeLog-0.0.18]]
| |
− | * Rewrote atom functions in kernel32
| |
− | | |
− | [[ChangeLog-0.0.20]]
| |
− | * Added support for piping in kernel32 [[Hartmut Birr]]
| |
− | | |
− | [[ChangeLog-0.0.21]]
| |
− | * Kernel32: Improved process code [[David Welch]]
| |
− | * Kernel32: Implemented many of the ComXX exports [[Rob Dickenson]]
| |
− | | |
− | [[ChangeLog-0.1.0]]
| |
− | * Kernel32: Improved file attribute and file time handling ([[Gé van Geldorp]])
| |
− | * Kernel32: Added support for lauching VDM on dos image load ([[Robert Dickenson]])
| |
− | * Kernel32: Implemented GetThreadPriotityBoost() and SetThreadPriorityBoost() ([[Eric Kohl]])
| |
− | | |
− | [[ChangeLog-0.1.1]]
| |
− | * Kernel32: Improved process management ([[Eric Kohl]])
| |
− | * Kernel32: Support images with native subsystem ID ([[Casper Hornstrup]])
| |
− | | |
− | [[ChangeLog-0.1.3]]
| |
− | * FLS support for threads ([[KJK::Hyperion]])
| |
− | * Control Dispatcher ([[James Tabor]], [[KJK::Hyperion]], [[Hartmut Birr]])
| |
− | | |
− | [[ChangeLog-0.1.5]]
| |
− | | |
− | * Changes to DllMain for cygwin support ([[Art Yerkes]])
| |
− | * Working edit control ([[Mark Tempel]])
| |
− | | |
− | [[ChangeLog-0.2.1]]
| |
− | * Use return value of GetLocaleInfoW() in GetTimeFormatW() ([[Martin Fuchs]])
| |
− | * Added language resources for english, german and french ([[Martin Fuchs]])
| |
− | * Don't clear GetTimeFormat() flags when calling RosGetTimeFormat() ([[Martin Fuchs]])
| |
− | * Corrected TIME_NOSECONDS handling ([[Martin Fuchs]])
| |
− | * Minor fix in GlobalMemoryStatus to get some applications happy ([[Filip Navara]])
| |
− | * Implemented GetUserDefaultLangID and GetUserDefaultLCID; fixes bug #108 ([[Filip Navara]])
| |
− | * Don't wait for GUI processes to finish ([[Gé van Geldorp]])
| |
− | * GetLocaleInfoA implemented (copied from wine) ([[Gunnar Dalsnes]])
| |
− | * Implementation of InitializeCriticalSectionAndSpinCount and RtlInitializeCriticalSectionAndSpinCount ([[Filip Navara]])
| |
− | * Fixed relocation problem to re-activate new error messages ([[Martin Fuchs]])
| |
− | * Implement some profile (.ini file) functions ([[Gé van Geldorp]])
| |
− | * Implemented Write(Private)ProfileStringA/W ([[Gé van Geldorp]])
| |
− | * CreateFileMappingA/CreateFileMappingW: a NULL size argument for this function should result in the filesize being used ([[Gero Kuehn]])
| |
− | * GetComputerName(Ex)?[AW] implemented ([[Art Yerkes]])
| |
− | * Check RtlAllocateHeap() return value for 8-byte alignment ([[Gé van Geldorp]] and [[Mark Tempel]])
| |
− | | |
− | [[ChangeLog-0.2.2]]
| |
− | *CreateFileMappingA/CreateFileMappingW: a NULL size argument for this function should result in the filesize being used ([[Gero Kuehn]])
| |
− | *Added WINE kernel32 regression tests ([[Steven Edwards]])
| |
− | *GetComputerName(Ex)?[AW] implemented ([[Art Yerkes]])
| |
− | *Added waiting on console handles ([[Art Yerkes]])
| |
− | *Support for regression tests ([[Casper Hornstrup]])
| |
− | *Fiber switching code fixed ([[KJK::Hyperion]])
| |
− | *Added more (in case we run on PowerPC) processor ids returned by GetSystemInfo() ([[Aleksey Bragin]])
| |
− | *Implemented GetProcessId(), GetProcessIoCounters() ([[Thomas Weidenmueller]])
| |
− | *Implemented SetFilePointerEx() and fixed SetFilePointer() to check if the calculated file position is negative ([[Thomas Weidenmueller]])
| |
− | *Implemented CreateHardLink(), GetFileSizeEx(), SetFileValidData(), SetFileShortName() ([[Thomas Weidenmueller]])
| |
− | *Updated FILE_INFORMATION_CLASS ([[Thomas Weidenmueller]])
| |
− | *Fix pipe create flags traslation ([[Gunnar Dalsnes]])
| |
− | | |
− | [[ChangeLog-0.2.3]]
| |
− | | |
− | *RaiseException should pass the exception parameters even if the exception is non-continuable ([[Filip Navara]])
| |
− | *Correctly initialize the startup info in WinExec ([[Filip Navara]])
| |
− | *Add more processor information, fixes bug #321 ([[Christoph von Wittich]])
| |
− | *Check if the temp path exist in GetTempPathW ([[Hartmut Birr]])
| |
− | *Compile kernel32 using w32api ([[Filip Navara]])
| |
− | *Report a failure for FindNextFile(NULL) instead of crashing ([[Filip Navara]])
| |
− | *Fixed the execution of batch files ([[Hartmut Birr]])
| |
− | *Simplified the converting of environment variables ([[Hartmut Birr]])
| |
− | *Handle OF_CREATE flag of OpenFile ([[Filip Navara]])
| |
− | *Error handling fix for GetTimeFormatA() ([[Martin Fuchs]])
| |
− | *Return some reasonable values from GlobalMemoryStatusEx ([[Filip Navara]])
| |
− | *Fix GlobalMemoryStatus & Ex ([[Jim Tabor]])
| |
− | *Display module names with the stack trace on unhandled exception (debug) ([[Mike Nordell]])
| |
− | *Ported GetBinaryType() from wine ([[Thomas Weidenmueller]])
| |
− | *Implemented GetThreadLocale() and partly implemented SetThreadLocale() ([[Thomas Weidenmueller]])
| |
− | *Implemented LoadModule() ([[Thomas Weidenmueller]])
| |
− | *Cleanup of the unicode mess (im)ported from wine ([[Thomas Weidenmueller]])
| |
− | *Fix command line handling (mostly double-quoting stuff) ([[Ge van Geldorp]])
| |
− | *Implement tape IO functions ([[Eric Kohl]])
| |
− | *Fix RosGetTimeFormat() ([[Kohn Emil Dan]])
| |
− | *GetTimeFormatA() implemenetation ([[Kohn Emil Dan]])
| |
− | | |
− | [[ChangeLog-0.2.4]]
| |
− | | |
− | * More complete implementation of CharUpperA. ([[Filip Navara]])
| |
− | * Implement ReadConsoleInputW, PeekConsoleInputW, ReadConsoleOutputW, WriteConsoleOutputW, SetConsoleIcon and GetConsoleWindow. ([[Filip Navara]])
| |
− | * Fix Get[System/Window]Directory[AW] for Buffer == NULL case. ([[Filip Navara]])
| |
− | * Fix return value of GetDriveType[AW]. ([[Filip Navara]])
| |
− | * Implementation of GetCPFileNameFromRegistry, GetNlsSectionName and IsValidCodePage. ([[Filip Navara]])
| |
− | * Partial implementation of MultiByteToWideChar and WideCharToMultiByte. ([[Filip Navara]])
| |
− | * Fix realloc to not call HeapReAlloc for allocating new memory. ([[Filip Navara]])
| |
− | * Remove invalid code from CreateToolhelp32Snapshot. ([[Filip Navara]])
| |
− | * RtlReAllocateHeap shouldn't allocate memory if ptr == NULL. ([[Filip Navara]])
| |
− | * Simplify CreateFileMapping[AW]. ([[Filip Navara]])
| |
− | * Fix return value of GlobalReAlloc and GlobalUnlock. ([[Filip Navara]])
| |
− | * Fix converting of UTF8 sequences in IntMultiByteToWideCharUTF8. ([[Filip Navara]])
| |
− | * Properly set last error in WaitForSingleObjectEx. ([[Filip Navara]])
| |
− | * Implemented GetACP() and GetOEMCP(). ([[Hartmut Birr]])
| |
− | * Handle file names like ./somename in SearchPath() ([[Gé van Geldorp]])
| |
− | * Don't reset LastError on success (CreateFile) ([[Gé van Geldorp]])
| |
− | * Fix WinExec return value ([[Gé van Geldorp]])
| |
− | * Implemented timer queue functions ([[Thomas Weidenmueller]])
| |
− | * Implemented Get/SetProcessPriorityBoost (only the kernel32 part) ([[Thomas Weidenmueller]])
| |
− | * Fixed copying LARGE_INTEGER structs to FILETIME structs that may cause alignment problems ([[Thomas Weidenmueller]])
| |
− | | |
− | [[ChangeLog-0.2.5]]
| |
− | | |
− | * Split up the handling if the fsd returns STATUS_NOT_IMPLEMENTED in MoveFileWithProgressW. Converted the destination name before calling NtSetInformationFile in MoveFileWithProgressW. ([[Hartmut Birr]])
| |
− | * Used the shared user data page instead of NtQuerySystemTime to get the time. ([[Hartmut Birr]])
| |
− | * Implemented SetDllDirectory() and GetDllDirectory() ([[Thomas Weidenmueller]])
| |
− | * Implemented CheckRemoteDebuggerPresent(), GetThreadIOPendingFlag(), CreateMemoryResourceNotification() and QueryMemoryResourceNotification() (only kernel32 part) ([[Thomas Weidenmueller]])
| |
− | * Made SetUnhandledExceptionFilter() thread-safe and use the default unhandled exception filter on startup ([[Thomas Weidenmueller]])
| |
− | * Implemented undocumented GetConsoleInputExeNameA/W() and SetConsoleInputExeNameA/W() used by NT's cmd.exe ([[Thomas Weidenmueller]])
| |
− | * Added stub for SetThreadUILanguage() to get NT's cmd.exe to load ([[Thomas Weidenmueller]])
| |
− | * Implemented GetUserDefaultUILanguage(), WriteConsoleW(), ReadConsoleW(), FillConsoleOutputCharacterW(), WriteConsoleInputW(), ReadConsoleOutputCharacterW(), ScrollConsoleScreenBufferW(), GetProcessIdOfThread(), GetThreadId(), GetThreadSelectorEntry(), SetProcessWorkingSetSize(), GetProcessHandleCount(), GetSystemRegistryQuota(), CheckNameLegalDOS8Dot3A/W(), IsDBCSLeadByte() and IsDBCSLeadByteEx() ([[Thomas Weidenmueller]])
| |
− | * Fixed ProcessIdToSessionId() to actually work and some minor fixes to GetHandleInformation(), SetHandleInformation(), CloseHandle() and DuplicateHandle() ([[Thomas Weidenmueller]])
| |
− | * Implemented GetNamedPipeHandleStateA() and a few fixes for GetNamedPipeHandleStateW(), atomically increment pipe IDs to be thread-safe ([[Thomas Weidenmueller]])
| |
− | * Create mailslots and named pipes with security information if requested ([[Thomas Weidenmueller]])
| |
− | * Fixed return value of FindCloseChangeNotification() ([[Thomas Weidenmueller]])
| |
− | * Implemented ToolHelp API: Heap32ListFirst(), Heap32ListNext(), Module32First(), Module32FirstW(), Module32Next(), Module32NextW(), Process32First(), Process32FirstW(), Process32Next(), Process32NextW(), Thread32First(), Thread32Next(), Toolhelp32ReadProcessMemory() and CreateToolhelp32Snapshot() ([[Thomas Weidenmueller]])
| |
− | * Fixed memory leak in CheckNameLegalDOS8Dot3A() (free the allocated unicode string) ([[Thomas Weidenmueller]])
| |
− | * Fixed Set/GetPriorityClass() not to call csrss and use NtSet/QueryInformationProcess() instead ([[Thomas Weidenmueller]])
| |
− | * Implemented Job APIs: CreateJobObjectA/W(), OpenJobObjectA/W(), IsProcessInJob(), AssignProcessToJobObject(), QueryInformationJobObject(), SetInformationJobObject() and TerminateJobObject() ([[Thomas Weidenmueller]])
| |
− | | |
− | [[ChangeLog-0.2.6]]
| |
− | | |
− | * Rewrote ROS Critical Section implementation. Newer one is more complete, faster, and supports debug information. Thanks to Gunnar as well. ([[Alex Ionescu]])
| |