What's inside the Windows SDK?

To develop windows software, we need the Windows SDK. I understand that this SDK helps to create windows and handle window events and all that. I believe this also allows us to manipulate files and registries. (Is the same SDK the reason for creating and processing streams?)

Everything is good!

I would like to know what files and libraries are included in this SDK. Also, does this happen when I install the OS, or when I install editors like Visual Studio? Sometimes I see links to the Windows SDK separately as such. This is the same as installing Visual Studio or something more.

+2


a source to share


3 answers


SDK stands for Software Development Kit. It's a big bold collection of headers, libraries, tools, and other snippets that developers use to build software. Microsoft provides many SDKs for its large range of products, and they usually do not reside on the end user's desktop. They are usually only installed on development machines, either in a development environment like Visual Studio, or separately (but they are usually meant to be used in VS).



When you talk about what handles windows, threads, etc., you are describing the Windows API. The purpose of the SDK is to allow developers to write software that accesses the API.

+1


a source


The Windows SDK gives you, as a developer, access to all the services of the Windows platform, including all the things you listed.

The SDK is installed as part of your Visual Studio installation, and usually you will use the one that came with the compiler and never worry about it. The separate SDK downloads are designed to support two scenarios:



  • If you are using a different Visual Studio compiler, it may not come with the SDK files, so you can download them separately.

  • Each new version of Windows includes more API functions, so an updated SDK is required to call these new functions.

+1


a source


Base Services: 

      

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

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

These functions are found in the kernel32.dll file on 32-bit Windows.

Advanced Services:

      

Provide access to functionality that is added to the kernel. Included are things like

  • Windows Registry
  • system shutdown / reboot (or interrupt)
  • start / stop / create windows service
  • manage user accounts

These functions are found in the advapi32.dll file on 32-bit Windows.

Graphics Device Interface:

      

Provides the functionality of displaying graphic content in

  • ,
  • printers
  • and other output devices.

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

User Interface:

      

Provides functionality for creating and manipulating display windows and most of the basic controls such as

  • and scroll bars,
  • get mouse and keyboard input,
  • and other functions related to the Windows GUI part.

This function block is located in user32.dll on 32-bit Windows. Starting with versions of Windows XP, the base controls are located in comctl32.dll along with the Common Control Library.

Common Dialog Box Library:

      

Provides applications with standard dialog boxes for

  • opening and saving files,
  • choice of color and font, etc.

The library is located in comdlg32.dll on 32-bit Windows. It is grouped by API category.

Common Control Library:

      

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

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

The library is located in comctl32.dll on 32-bit Windows. It is grouped by API category.

Windows Shell:

      

The Windows API component allows applications to access

  • provided by the operating system shell,
  • and also change and improve it.

The component is located in shell32.dll on 32-bit Windows. The Shell Lightweight Utility functions are located in the shlwapi.dll file. It is grouped by API category.

Network Services:

      

Provide access to various network capabilities of the operating system. Its subcomponents include

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

    Internet Explorer Web Browser API:

  • A plug-in Web browser control contained in the shdocvw.dll and mshtml.dll files.
  • The URL Monitor Service, contained in urlmon.dll, which provides COM objects to applications to resolve URLs.
  • Library for multilingual and international text support (mlang.dll). XML support (MSXML components stored in msxml * .dll).

I have listed only files for 32 bit windows (this is how many windows developers work)

For more information 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 you to dynamically link code to these system DLLs. (This was rightly noted by Marcelo Cantos. Many thanks to him)

+1


a source







All Articles