Difference between revisions of "Kernel32.dll"

From ReactOS Wiki
Jump to: navigation, search
m
m (Link to our article on memory management.)
 
(15 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]])
 

Latest revision as of 20:33, 17 March 2019

The page Kernel32.dll is a short article on something that should have a lot more information written on it.
If you know anything else about it, you are STRONGLY encouraged to add the information in. If you are unsure of proper formatting or style, add it to the talk page or this page itself as you think best and others will help.


KERNEL32.DLL exposes to applications most of the Win32 base APIs, such as 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 native API, exposed by NTDLL.DLL.

Relationship with Wine

Kernel32.dll is partially synced with Wine.

Code History

Commit history (Source code can be found in: /reactos/dll/win32/kernel32)

External links