windows API 分类

WIndows API分类

基础服务  (Base Services)

提供对windows系统可用的基础资源的访问接口:

他们都是以dll方式提供

大家都知道 基础服务 不是微软的强项    微软的强项是  图形设备接口

文件系统( file sysytem)

 
读写、删除、新、增

外部设备(device)

打开、关闭

进程( process)

进程代表一块空间

我们的操作系统的一个单位(虚拟内存把运行的这个进程打包成一个盒子,一整块内存)然后在丢到物理内存,(空间)  以上都是从OS层面解析

进程代表一个运行的程序

操作 启动进程 关闭进程

线程( thread)

线程代表状态  物理内存只需要保存 内存空间和状态 就能实现多个程序的伪同步

多任务伪实时  以上都是从OS层面解析

启动,关闭,销毁

注册表( windows registr)

是配置表 存在配置系统当中 

作用 控制操作系统的配置

API是用来 注册表的增删改查

错误处理机制(error handling)

功能接口位于,32位windows下的kernel32.dll和advapi32.dll中.

图形设备接口( GDI 有点过时)

功能 输出图形到显示器、打印机以及其他外部输出设备

优点没有win系统都会有这个接口

多用于做界面,游戏不用因为速度并不快

他位于32位 windows下的gdi32.dll

图形化用户界面( GUI)

创建和管理屏幕和大多数基本控件(control),比如按钮和滚动条

接收鼠标和键盘输入,以及其他与GUI有关的功能

以上都是从OS层面解析接口位于user32.dll 从xp版本之后,基本控件和通用对话框(Common Control Library)的调用接口放在comctl32.dlll

通用对话框链接库( Common Dialg Box Library)

打开、保存文件对话框、颜色对话框和字体对话框等等

32位windows下comdlg32.dll中。它被归类为 User Interface API 之下

通用控件链接库( COmmon Control Library)

提供一些高级控件

状态栏(status bar)

进度条(progress bars)

工具栏( tolbar)

标签( tab)

位于32位 comct132.dll中。。它被归类为User Interface API之下

Windows外壳( Windows Shell)

作为 win API的组成部分,不仅允许应用程序访问Windows外壳提供的工,还对之有所改进和增强。

没有界面的操作,,但是用这个的话 就不如用  Linux

位于32位 shell32.dll中,他被归类为User Interface API之下。

网络服务( Network Services)

为了访问操作系统提供的多种网络功能接口。他包括NetBIOS、Winsock、NetDDE及RPC等。

由于他的一些非平台性 不好用。

多媒体相关API

不属于 windows API 提供了高性能的绘图功能

自从Windows 95 OSR2以来,Microsoft把DirectX API作为Windows安装的一部分。DirectX提供一组松散相关的多媒体和游戏服务,包括:

  • Direct3D可以作为OpenGL的替代,来访问3D加速硬件。
  • DirectDraw提供硬件加速2D framebuffer(帧缓冲)访问接口。自DirectX 9以来,相比Direct3D更倾向于后者,因为Direct3D提供更全面的高性能图形功能(毕竟2D渲染只是3D渲染的(不严格)子集)。已被Direct2D替代。
  • 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开发游戏。
  • DirectMusic提供类似MIDI的功能。与DirectSound一起被XAudio替代。

封装库

 MFC、ATL、WTL都属于微软

OWL(已死)、VCL属于Borland

微软利用许多更底层的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 FrameworkJava以及其他在Windows下的程序语言,都是(或者包含)封装库。

如果使用微软自带的控件

优点开发快

缺点都一个球样

猜你喜欢

转载自blog.csdn.net/LJH_Gemini/article/details/86538942
今日推荐