Windows library files

Windows library files

Like most modern operating systems, Microsoft Windows supports shared libraries, collections of code which can be used by multiple processes while only being loaded once into memory. Windows terms its shared libraries Dynamic-link libraries (DLL's).

Most core Windows functionality is contained within Native Applications and a set of DLL's, which together provide the various subsystems in which code can run (Win32, SUA, Virtual DOS machine, etc.).


Hal.dll is the core of Windows' Hardware Abstraction Layer, which allows applications to access devices in the system without knowledge of the specific protocol used by any one device.

Although drivers for most hardware are contained in external files, core drivers (which are required to support the kernel) are compiled into Hal.dll. Different sets of drivers may be selected depending on whether the system uses multiple processors, the presence of ACPI or an APIC, etc.


Msvcrt.dll (the Microsoft Visual C++ Run-Time) provides basic services, such as string comparison, memory allocation, etc., to programs compiled with Visual C++, versions 4.2 to 6.

In older versions of Windows, programs which linked against Msvcrt.dll were expected to install a copy in the System32 folder, but this contributed to DLL Hell. Newer versions of the operating system include the file to circumvent this problem.

Ntdll.dll (Native API)

The Native API is the interface used by user-space components of the NT kernel and programs requiring low-level access to hardware.Russinovich, M: [ Inside Native Windows Applications] , "SysInternals Information"] Most of this API is implemented in ntdll.dll and ntoskrnl.exe (and its variants); the majority of exported symbols within these libraries are prefixed Nt, e.g., NtDisplayString.

Applications that are linked directly against this library are known as Native Applications; the primary reason for their existence is to perform low-level tasks such as direct disk I/O that cannot be achieved through the documented Windows API. An example is the autochk binary that runs chkdsk during the system initialisation "Blue Screen" . Other prominent examples are the services that implement the various subsystems, such as csrss.exe.

Unlike Win32 Applications, Native Applications instantiate within the Kernel runtime code (ntoskrnl.exe) and so must manage their own memory using the Rtl heap API, obtain their command-line arguments via a pointer to an in-memory structure, and return execution with a call to NtTerminateProcess (as opposed to ExitProcess). Despite having a ".exe" file extension, Native Applications cannot be executed by the user (or any program in the Win32 or other subsystems), as they have a different entry point, NtProcessStartup, rather than (w)(Win)MainCRTStartup, as is found in a Win32 application. A common library linked with Native applications is nt.lib, which contains startup code for Native applications, similar to how the C runtime provides startup code for Win32 apps.

Though most of the API is undocumented, Native Applications can be built using the [ Windows Driver Development Kit] ; many AntiVirus and other utility software vendors incorporate Native Applications within their products, usually to perform some boot-time task that cannot be carried out in userspace.

Ordinary Windows applications do not linked directly against this library, but rather to one or more of the well-documented "client" libraries; this allows portability across Windows platforms and prevents ordinary programs from violating security restrictions or damaging the system.


shscrap.dll implements support for shell scrap files. These are automatically created when you drag selected content from an OLE-capable application into an Explorer window (or onto the Desktop) [ [ WD: What is a Scrap (.shs) file? - Microsoft Knowledge Base] ] , but you can also use the Object Packager to create them. They can then be dragged into another OLE-capable application. Scrap (.shs) files are sometimes used by viruses because they can contain a wide variety of files (including executable code), and the file extension is not shown even when "Hide file extensions from known file types" is disabled. [ [ VBS.Stages.A -] ]


user32.dll allows programs to implement a graphical user interface. It contains basic functions, such as window management, user input, text, etc. shell32.dll uses these functions to implement Windows' standard controls, including buttons, check boxes, and input fields.

See also

* Windows NT Startup Process
* List of Microsoft Windows components
* Windows API


External links

* [ API calls list - USER32.DLL] - Tips for using the User API Client Library with Visual Basic
* [ Native API reference]
* [ Unofficial website that documents most of the Native API methods]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Microsoft Windows library files — Like most modern operating systems, Microsoft Windows supports shared libraries, collections of code which can be used by multiple processes while only being loaded once into memory. Windows terms its shared libraries Dynamic link libraries… …   Wikipedia

  • Object Windows Library — Developer(s) Originally Borland (now Codegear) Initial release 1991 Stable release OWLNext 6.30.9 / September 2, 2010; 14 months ago (2010 09 02) …   Wikipedia

  • Windows Search — (formerly known as Windows Desktop Search or WDS on Windows XP and Windows Server 2003) is an indexed desktop search platform released by Microsoft for the Windows operating system.[citation needed] Windows Search for Windows Vista, Windows 7,… …   Wikipedia

  • Windows Media Player — A component of Microsoft Windows Details …   Wikipedia

  • Windows PowerShell — Screenshot of a sample PowerShell session …   Wikipedia

  • Windows Media Center — A component of Microsoft Windows …   Wikipedia

  • Windows Defender — A component of Microsoft Windows Windows Defender in Windows 7 …   Wikipedia

  • Windows Services for UNIX — (SFU) or Subsystem for UNIX based Applications (SUA) is a software package produced by Microsoft which provides a Unix subsystem and other parts of a full Unix environment on Windows NT and some of its immediate successor operating systems. It… …   Wikipedia

  • Windows DreamScene — Developer(s) Microsoft Initial release February 13, 2007 Operating system Windows Vista Ultimate Type Animated desktop wallpaper …   Wikipedia

  • Windows Update — A component of Microsoft Windows Windows Update running on Windows 7 …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.