Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is inside Windows SDK?

For developing programs for windows, we need windows SDK. I understand that this SDK is what helps to create windows and handle window events and all that. I suppose it also enables us to manipulate with files and registries. (Does the same SDK is the reason for thread creation and handling?)

All that is fine!

I would like to know what are the files and libraries that come as a part of this SDK. Also does it come when I install the OS or when I install editors like Visual studio? Sometimes I see links to windows SDK separately as such. Is it same as the one that I get when installing Visual Studio or has something more than that.

like image 776
Akaanthan Ccoder Avatar asked Oct 31 '25 08:10

Akaanthan Ccoder


1 Answers

Base Services: 

Provide access to the fundamental resources available to a Windows system. Included are things like

  • file systems,
  • devices,
  • processes & threads
  • and error handling.

These functions reside in kernel32.dll on 32-bit Windows.

Advanced Services:

Provide access to functionality that is an addition on the kernel. Included are things like the

  • Windows registry
  • shutdown/restart the system (or abort)
  • start/stop/create a Windows service
  • manage user accounts

These functions reside in advapi32.dll on 32-bit Windows.

Graphics Device Interface:

Provides functionality for outputting graphical content to

  • monitors,
  • printers
  • and other output devices.

It resides in gdi32.dll on 32-bit Windows in user-mode. Kernel-mode GDI support is provided by win32k.sys which communicates directly with the graphics driver.

User Interface:

Provides the functionality to create and manage screen windows and most basic controls, such as

  • buttons and scrollbars,
  • receive mouse and keyboard input,
  • and other functionality associated with the GUI part of Windows.

This functional unit resides in user32.dll on 32-bit Windows. Since Windows XP versions, the basic controls reside in comctl32.dll, together with the common controls (Common Control Library).

Common Dialog Box Library:

Provides applications the standard dialog boxes for

  • opening and saving files,
  • choosing color and font, etc.

The library resides in comdlg32.dll on 32-bit Windows. It is grouped under the User Interface category of the API.

Common Control Library:

Gives applications access to some advanced controls provided by the operating system. These include things like

  • status bars,
  • progress bars,
  • toolbars
  • and tabs.

The library resides in comctl32.dll on 32-bit Windows. It is grouped under the User Interface category of the API.

Windows Shell:

Component of the Windows API allows applications to access the

  • functionality provided by the operating system shell,
  • as well as change and enhance it.

The component resides in shell32.dll on 32-bit Windows. The Shell Lightweight Utility Functions are in shlwapi.dll. It is grouped under the User Interface category of the API.

Network Services:

Give access to the various networking capabilities of the operating system. Its sub-components include

  • NetBIOS,
  • Winsock,
  • NetDDE,
  • RPC and many others.

    Internet Explorer web browser APIs:

  • An embeddable web browser control, contained in shdocvw.dll and mshtml.dll.
  • The URL monitor service, held in urlmon.dll, which provides COM objects to applications for resolving URLs.
  • A library for assisting with multi-language and international text support (mlang.dll). XML support (the MSXML components, held in msxml*.dll).

I have listed only files for 32-bit windows (as that is what many window developers work on)

For more info, please check http://en.wikipedia.org/wiki/Windows_API

EDIT: Above dlls and all are part of the operating system, not the SDK. The Windows SDK provides import libraries (.lib files) that allow code to dynamically link against these system-provided DLLs. (This was rightly pointed by Marcelo Cantos. Many thanks to him)

like image 52
Akaanthan Ccoder Avatar answered Nov 02 '25 23:11

Akaanthan Ccoder



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!