基础服务(Base Services)
提供对Windows系统可用的基础资源的访问接口.
包括:
- 文件系统(file system)
- 外部设备(device)
- 进程(process)
- 线程(thread)
- 访问注册表(Windows registry)
- 错误处理机制(error handling)
这些功能接口位于:
16位Windows下的kernel.exe、krnl286.exe或krnl386.exe系统文件中
32位Windows下的kernel32.dll和advapi32.dll中
图形设备接口(GDI)
提供输出图形内容到显示器, 打印机以及其他外部输出设备
这些功能接口位于:
16位Windows下的gdi.exe;
32位Windows下的gdi32.dll
图形化用户界面(GUI)
提供创建和管理屏幕和大多数基本控件(control)比如按钮和滚动条,接收鼠标和键盘输入 以及其他与GUI有关的功能
这些功能接口位于:
16位Windows下的user.exe
32位Windows下的user32.dll
从Windows XP版本之后, 基本控件和通用对话框控件(Common Control Library)的调用接口放在comctl32.dll中.
通用对话框链接库
(Common Dialog Box Library)
为应用程序提供标准对话框比如打开/保存文件,对话框颜色,对画框字体,对话框等等.
这些功能接口位于:
16位Windows下的commdlg.dll中
32位Windows下comdlg32.dll中
它被归类为User Interface API之下
———-
通用控件链接库
(Common Control Library)
为应用程序提供接口来访问操作系统提供的一些高级控件.比如状态栏(status bar),进度条(progress
bars),工具栏(toolbar),标签(tab)
这些功能接口位于:
16位Windows下的commctrl.dll中
32位Windows下comctl32.dll中
它被归类为User Interface API之下
Windows外壳
(Windows Shell)
作为Windows API的组成部分, 不仅允许应用程序访问Windows外壳提供的功能, 还对之有所改进和增强.
这些功能接口位于:
16位Windows下的shell.dll中
32位Windows下的shell32.dll中(Windows 95则在shlwapi.dll中)
它被归类为User Interface API之下
网络服务
(Network Services)
为访问操作系统提供的多种网络功能提供接口 它包括NetBIOS,Winsock,NetDDE,RPC等等。
这些功能接口位于:
16位Windows下的shell.dll中
32位Windows下的shell32.dll中(Windows 95则在shlwapi.dll中)
它被归类为User Interface API之下
多媒体相关API
(Network Services)
自从Windows 95 OSR2以来, Microsoft把DirectX API作为Windows安装的一部分.
DirectX提供一组松散相关的多媒体和游戏服务
包括:
- Direct3D可以作为OpenGL的替代, 来访问3D加速硬件.
- DirectDraw提供硬件加速2D framebuffer(帧缓冲)访问接口.
- DirectSound提供底层次的硬件加速声卡访问. 被XAudio替代
- DirectInput用来与输入设备(摇杆和gamepad)进行通信
- 已被DirectX 9中引入的XInput所替代
- DirectPlay提供一个多人游戏的架构(multiplayer gaming infrastructure).
- 它已经被DirectX 9所替代 ,Microsoft不建议用它开发游戏。
- DirectShow可以创建和运行通用的多媒体管道(generic multimedia pipelines)
- 它可以与GStreamer框架相媲美
经常被用来渲染游戏视频和创建媒体播放器(Windows Media Player 诸如FFDShow之类的编解码器正是基于此;在Windows Vista及更高版本中, DirectShow被Media Foundation替代).不建议用DirectShow开发游戏
- 它可以与GStreamer框架相媲美
- DirectMusic提供类似MIDI的功能
- 与DirectSound一起被XAudio替代
封装库
(Network Services)
微软利用许多更底层的Windows API函数, 开发出许多封装库(wrapper), 让应用程序以更抽象的方式与Windows
API进行交互.
包括:
- MFC(Microsoft Foundation Class Library)
- 用C++ 类别来封装Windows API的功能,因而允许用更为面向对象的方式与API进行交互
- ATL(Active Template Library)
- 是对COM的面向模板(template oriented)的封装
- WTL(Windows Template Library)
- 作为ATL的增强,被用来作为MFC的轻型的替代物。其他著名的封装库是Borland公司的产品, 为了与MFC竞争而推出的OWL(Object Windows Library)提供了类似的面向对象封装。不久Borland又推出VCL(Visual Component Library)来取而代之。大多数的Windows 程序框架(application framework)是对Windows API的封装。.NET Framework、Java以及其他在Windows下的程序语言, 都是(或者包含)封装库.