The Windows API mostly concerns itself with the interaction between the Operating System and an application. Starting with Windows 95, low-level wave output of multiple applications will be mixed by the system, whereas Windows 3.x granted exclusive access to wave-output hardware to one process only. It supports both a high-level API (function names starting with mci) and some low-level APIs (most often used: functions starting with wave). DirectShow is no longer recommended for game development.īesides DirectX, there is a classic API contained in mmsystem.dll (since Windows 3.1) or winmm.dll (Win32). It is comparable to the GStreamer framework and is often used to render in-game videos and build media players ( Windows Media Player is based upon it). DirectShow which builds and runs generic multimedia pipelines.This component has been deprecated as of DirectX 9 and Microsoft no longer recommends its use for game development. DirectPlay as a multiplayer gaming infrastructure.DirectInput for communication with input devices such as joysticks and gamepads.DirectSound for low level hardware accelerated sound card access.This component has been deprecated as of DirectX 9. DirectDraw for hardware accelerated access to the 2D frame-buffer.Direct3D as an alternative to OpenGL for access to 3D acceleration hardware.DirectX provides a loosely related set of multimedia and gaming services, including: Microsoft provide the DirectX set of APIs as part of every Windows installation. DirectX Transforms, a set of image filter components.A library for assisting with multi-language and international text support ( mlang.dll).Applications can also provide their own URL handlers for others to use. The URL monikers service, held in urlmon.dll, which provides COM objects for applications to resolving URLs.An embeddable web browser control, contained in shdocvw.dll and mshtml.dll.The integration will stop with Windows Vista. Internet Explorer has been an integrated component of the operating system since Windows 98, and provides web related services to applications. The Internet Explorer web browser also exposes many APIs that are often used by applications, and as such could be considered a part of the Windows API. Its sub-components include NetBIOS, Winsock, NetDDE, RPC and many others. Network Services Give access to the various networking capabilities of the operating system. It is grouped under the User Interface category of the API. The component resides in shell.dll on 16-bit Windows, and shell32.dll and shlwapi.dll on 32-bit Windows. 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 library resides in a DLL file called commctrl.dll on 16-bit Windows, and comctl32.dll on 32-bit Windows. These include things like status bars, progress bars, toolbars and tabs. Common Control Library Gives applications access to some advanced controls provided by the operating system. The library resides in a file called commdlg.dll on 16-bit Windows, and comdlg32.dll on 32-bit Windows. Common Dialog Box Library Provides applications the standard dialog boxes for opening and saving files, choosing color and font, etc. Since Windows XP, the basic controls reside in comctl32.dll, together with the common controls. This functional unit resides in user.exe on 16-bit Windows, and user32.dll on 32-bit Windows. User Interface Provides the functionality to manage 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. It resides in gdi.exe on 16-bit Windows, and gdi32.dll on 32-bit Windows. Graphics Device Interface Provide the functionality for outputting graphical content to monitors, printers and other output devices. These functions reside in kernel.exe, krnl286.exe or krnl386.exe files on 16-bit Windows, and kernel32.dll and advapi32.dll on 32-bit Windows. Included are things like file systems, devices, processes and threads, access to the Windows registry, and error handling. The functionality provided by the Windows API can be grouped into seven categories:īase Services Provide access to the fundamental resources available to a Windows system. 1.3 APIs for interaction between programs.1 Overview of the Windows API Components.