您正在查看: Win32 API 分类下的文章

易用特性函数(Accessibility Features)函数

win32 API提供的一系列易用特性使得有残疾的人也能很容易的使用计算机,win32 API提供了一些函数和结构来控制这些特性。

组合框函数(Combo box)函数

组合框是由COMBOBOX类定义的一种控制,综合了列表框和编辑控制的很多功能。使用组合框函数可以在组合框中显示或获取不同类型的数据。

网络服务函数

网络函数允许网络上的不同计算机的应用程序之间进行通讯。


网络函数用于在网络中的各计算机上创建和管理共享资源的连接,例如共享目录和网络打印机。


网络接口包括Windows网络函数、Windows套接字(Socket)、NetBIOS、RAS、SNMP、Net函数,以及网络DDE。Windows 95只支持这些函数中的一部分。


网络服务函数包括以下几类:


DLC函数(DLC)


数据连接控制(DLC)接口是一个具有特殊目的的、不可路由的协议。它不是用于运行Windows和Windows NT的计算机之间的通讯,而是为运行Windows或Windows NT的计算机与IBM主机或直接连接到网络上的打印机之间提供了连通性。


网络函数(Net)


对于基于OS/2的服务器来说,Microsoft LAN Manager所支持的Net函数提供了很多网络操作系统所需的功能,这些功能在本地操作系统中被忽略了。Windows NT、Windows 95和Windows 98具有很多内置的网络功能,因此,有些原始的Net函数就不再支持了。


Windows NT、Windows 95和Windows 98支持多种网络函数。Net函数集提供了一些其他网络函数来覆盖的附加功能。另外,还可以使用这些函数来监测和管理基于OS/2的LAN Mansger服务器


NetBIOS函数


win32应用程序可以使用Network Basic Input/Output System(NetBIOS)接口与网络中的其他计算机上的应用程序进行通讯。


NetBIOS接口包括一系列显式命令,由一个被称为网络控制块(NCB)的结构提供。应用程序可以对任何支持NetBIOS接口的协议发出NetBIOS命令。


网络DDE函数(Networking DDE)


一个进程可以使用win32 API提供的网络动态数据交换(DDE)函数与在网络中的不同计算机上运行的进程建立会话。


RAS服务器管理函数(RAS Server Administration)


在Windows NT 4.0上,可使用RAS服务器管理函数来实现RAS服务器管理功能。Windows 95不提供RAS服务器支持。


远程访问服务函数(Remote Access Service)


使用远程访问服务(RAS)可以使远程用户犹如直接连接到计算机网络上一样地访问一个或多个RAS服务器。


远程访问服务函数用于实现远程访问服务功能。


服务函数(Service)


Win32 API提供了一套完整的服务函数。这些函数应该可以代替NetService函数,除非需要控制LANManager2.x服务器上的服务。


服务函数用于控制服务。一个服务就是一个应用程序,管理员可以使用服务控制程序接口来控制服务。


Windows网络函数(Windows Networking)


Windows提供的Windows网络(Wnet)函数使用户可以在应用程序中实现网络功能,而不需使用特殊的网络供应程序或物理的网络实现。原因是Wnet函数是网络无关的。

为什么使用 Wiu32 API函数

在Windows程序设计领域处于发展初期时,Windows程序员可使用的编程工具唯有API函数。这些函数在程序员手中犹如"积木块"一样,可搭建出各种界面丰富、功能灵活的应用程序。不过,由于这些函数结构复杂,所以往往难以理解,而且容易误用。


随着软件技术的不断发展,在Windows平台上出现了很多优秀的可视化编程环境,程序员可以采用"所见即所得"的编程方式来开发具有精美用户界面和功能的应用程序。这些可视化编程环境操作简便、界面友好,比如:Visual C++,delphi,Visual Basic等等。在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能。事实上,这些类库和控件都是构筑在Windows API的基础上的,但它们使用方便,加速了Windows应用程序的开发,所以受到程序员的普遍采用。有了这些类库和控件,程序员们便可以把主要精力放在整体功能的设计上,而不必过于关注具体细节。不过,这也导致了非常多的程序员在类库面前"固步自封",对下层API函数的强大功能一无所知。


实际上。程序员要想开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数。虽然类库和控件使应用程序的开发容易得多,但它们只提供Microsoft Windows的一般功能,对于一些比较复杂和特殊的功能来说,单使用类库和控件是难以实现的,必须直接使用API函数来编写。API函数是构筑整个Windows框架的基石,只有充分理解和利用API函数,才能深入到Windows的内部,充分发挥各种32位平台的强大功能和灵活性,才能成功地扩展和突破类库、控件和可视开发环境的限制。

系统服务函数

系统服务函数为应用程序提供了访问计算机资源以及底层操作系统特性的手段,比如访问内存、文件系统、设备、进程和线程。应用程序使用系统服务函数来管理和监视它所需要的资源。例如,应用程序可使用内存管理函数来分配和释放内存,使用进程管理和同步函数来启动和调整多个应用程序或在一个应用程序中运行的多个线程的操作。


系统服务函数提供了访问文件、目录以及输入输出(I/O)设备的手段。应用程序使用文件I/O函数可以访问保存在指定计算机以及网络计算机上的磁盘和其他存储设备上的文件和目录。这些函数支持各种文件系统,从FAT文件系统,CD-ROM文件系统(CDFS),到NTFS。


系统访问函数为应用程序提供了一些可以与其他应用程序共享代码或信息的方法。例如,可以将一些有用的过程放到DLL中,使它们对所有的应用程序都可用。应用程序只需使用DLL函数将动态链接库加载进来并获取各过程的地址,就可以使用这些过程了。通讯函数用于向通讯端口写入数据及从通讯端口读出数据,并控制这些端口的操作方式。有几种内部通讯(IPC)的方法,比如DDE、管道(Pipe)、邮槽(Mailslot)和文件映射。对于提供安全属性的操作系统来说,应用程序可使用安全函数来访问安全数据,并保护这些数据不会被有意或无意地访问或破坏。


使用系统服务函数可以访问有关系统和其他应用程序的信息。应用程序可用系统信息函数来确定计算机的特别属性,比如是否出现鼠标、显示屏幕上的元素具有多大尺寸。注册和初始化函数用于将应用程序的特殊信息保存到系统文件中,以便于该应用程序的新实例对象,甚至其他应用程序都可以获取和使用这些信息。


应用程序使用系统服务函数可以处理执行过程中的的一些特殊情况,比如错误处理、事件日志、异常处理。还有一些属性可用于调试和提高性能。例如,使用调试函数可对其他进程的执行过程进行单步控制,而性能监视函数则可对某个进程的执行路径进行跟踪。


系统服务函数还提供了一些特性,可用于创建其他类型的应用程序,比如控制台应用程序和服务。


系统服务函数包括以下几类:


访问控制函数(Access Control)


Microsoft Windows NT所提供的安全功能对win32应用程序是自动使用的。在系统中运行的每个应用程序都受由Windows NT的特殊配置所提供的安全功能所影响。Windows NT是支持win32安全功能的唯一平台。


Windows NT的安全功能对大多数Win32函数的影响都是最小的,不需要安全功能的Win32应用程序不必合并任何特殊代码。不过,你可使用Windows NT的安全属性向Win32应用程序提供一些服务。


访问控制函数提供了一系列控制访问Win32对象(比如文件)、管理函数(比如设置系统时间或审核运行动作的函数)的Windows NT安全模型。


原子函数(Atom)


原子表格是一个系统定义的表格,用于保存字符串和相应的标识符。应用程序将一个字符串放到原子表格中,并接受一个16位的整数(称为一个原于),用于访问该字符串。放到原子表格中的字符串被称为原子名字。


原子函数提供了一系列对原子进行添加、删除、初始化等的操作。


客户服务器访问控制函数(Client/Server Access Control)


客户/服务器访问控制函数包括三类:


用于模拟客户机。


用于检查和设置私有对象上的安全描述符。


用于生成安全时间日志中的审核消息。


剪贴板函数(Clipboard)


剪贴板是由一系列函数和消息组成,Win32应用程序可使用它来传输数据。由于所有的应用程序都可以访问剪贴板,所以数据可以很容易地在应用程序之间或一个应用程序内部进行传输。


通讯函数(Communication)


通讯资源是一个物理或逻辑设备,用于提供双向的异步数据流。例如,串行端口、并行端口、传真机以及调制解调器都是通讯资源。对于每个通讯资源都有一个服务供应程序(包含一个库或驱动程序),使应用程序可以访问该资源。通讯函数是通讯设备所使用的函数。


控制台函数(Console)


Microsoft Windows和Windows NT提供了控制台函数,用于管理字符模式的应用程序(这种应用程序未提供自己的图形用户界面)的输入和输出(I/O)


数据解压库函数(Data Decompression Library)


数据解压库函数在LZEXPAND.DLL中声明,用于对压缩的文件进行解压。


调试函数(Debugging)


调试器是一个应用程序,开发人员可使用它来检查和改正编程错误。Win32 API的调试函数为用户提供了一系列的调试手段。


设备输入和输出函数(Device Input and OutPut)


Win32应用程序使用设备输入和输出控制与设备驱动程序进行通讯。被访问的设备由设备句柄标识;而设备驱动程序要完成的动作则由控制代码来指定。


动态数据交换函数(Dynamic Data Exchange)


Win32 API为不能使用"动态数据交换管理库(DDEML)"的应用程序提供了一系列实现动态数据交换的函数。


动态数据交换管理函数(Dynamic Data Exchange Management)


动态数据交换(DDE)是一种内部通讯方式,即使用共享内存在应用程序之间交换数据。应用程序可以使用DDE进行一次性的数据传输,以及数据的即时交换和更新。


动态数据交换管理函数为用户提供了一系列管理动态数据交换的手段。


动态链接库函数(Dynamic-Link Library)


动态连接库(DLL)是由函数和数据组成的一些模块。一个DLL是由它的调用模块(.EXE或.DLL)在运行时加载的。当一个DLL被加载后,它就被映射到其调用进程的地址空间中。


DLL可以定义两种函数:外部的和内部的。外部函数可以被其他模块调用,内部函数只能在声明它的OLL内部被调用。尽管DLL可以输出数据,但它的数据通常只能由它的函数使用。


DLL提供了一种使应用程序模块化的方法,这样就可以更容易地更新和重用程序的功能。DLL也有助于在几个应用程序同时使用相同的功能时减少内存开销,因为虽然每个应用程序都拥有一份数据的备份,但它们可以共享代码。


错误函数(Error)


写得好的应用程序应包括一些能够处理意外错误并可从错误中顺利恢复的代码。当发生错误时,应用程序可能需要用户进行干预,或自己恢复。在一些极端情况下,应用程序对能会将用户从系统中退出或关机。错误函数为用户痰腛LL内部被调用。尽管DLL可以输出数据,但它的数据通常只能由它的函数使用。


DLL提供了一种使应用程序模块化的方法,这样就可以更容易地更新和重用程序的功能。DLL也有助于在几个应用程序同时使用相同的功能时减少内存开销,因为虽然每个应用程序都拥有一份数据的备份,但它们可以共享代码。


错误函数(Error)


写得好的应用程序应包括一些能够处理意外错误并可从错误中顺利恢复的代码。当发生错误时,应用程序可能需要用户进行干预,或自己恢复。在一些极端情况下,应用程序对能会将用户从系统中退出或关机。错误函数为用户提供了一些进行错误处理的方法。


事件日志函数(Event Logging)


很多应用程序都在不同的属性错误日志中记录错误和事件。这些属性错误日志具有不同的格式,并显示不同的用户界面,而且无法将数据合并起来得到一个完整的报告。因此,用户必须要检查各种数据来诊断问题。Windows NT的事件日志为应用程序(和操作系统)提供了一种标准、集中的方法,来记录重要的软件和硬件事件。事件日志服务将事件从不同的地方保存到一个称为"事件日志"的集合中。Windows NT还提供了一个事件浏览器和编程接口,用于查看日志和检查日志。事件日志函数提供了一系列编写和检查事件日志的方法。


文件函数(File)


文件是计算机存储信息的基本单位,不同的信息可分别存放在不同的文件中。应用程序可使用文件函数对文件进行输入和输出(I/O)操作。


文件安装库函数(File Installation Library)


Win32 API包含一个文件安装库,应用程序使用它可以更容易地安装文件,使安装程序能分析当前已安装的文件。


文件映射函数(File Mapping)


文件映射函数用于对文件映射对象进行操作。


文件系统函数(File System)


Win32应用程序依赖文件系统来保存和获取存储设备上的信息。文件系统提供了应用程序在与存储设备相关的个别卷上创建和访问文件及目录时所需的底层支持。


每个文件系统都由一个或多个驱动程序和所支持的动态链接库(定义文件系统的数据格式和特性)组成。它们确定了文件名的约定、安全性及可恢复性的级别,以及输入输出(I/O)操作的一般性能。文件系统函数用于对文件系统进行操作。


句柄和对象函数(Handle and Object)


对象是一个表示系统资源的数据结构,比如表示一个文件、线程或图像。应用程序不能直接访问对象所表示的对象数据或系统资源,而是必须使用对象句柄。对象句柄可用于检查和修改系统资源。每个句柄在一个内部维护的表中都有一项。在这些项中包含资源的地址以及标识资源类型的方法。句柄和对象函数用于对句柄和对象进行操作。


Hook函数


Hook是系统消息处理机制中的一部分。在系统消息处理机制中,应用程序可安装一个子程序来监视系统中的消息传送情况,并可处理某些类型的消息(在这些消息到达目的窗口过程之前)。Hook函数用于对Hook进行操作。


lmageHlp函数


lmageHlp函数由IMAGEHLP DLL提供。lmageHlp函数可用于PE格式的图像。PE图像由一个兼容的Win32连接程序提供,比如由Microsoft Developer Studio提供。


超大整数操作函数(Large Integer Operations)


Win32 API提供了一系列超大整 邮槽是一种单向的内部处理通讯(IPC)机制。Win32应用程序可以在邮槽中保存消息,邮槽的所有者可以获取保存在其中的消息。这些消息通常是通过网络发送到一台指定的计算机上,或发送到某个指定域中的所有计算机上。域是一组工作站和服务器,共享一个组名。


可以选择使用命名管道来代替邮槽进行内部处理通讯。命名管道是两个进程交换消息的一种简单方法。而邮槽则是一个进程向多个进程广播消息的一种简单方法。需要考虑的重要一点是邮槽使用邮包,而命名管道则不用。邮槽函数可用于创建邮槽、设置或获取邮槽信息。


内存管理函数(Memory Management)


内存管理函数用于分配和使用内存。


管道函数(Pipe)


管道是一段共享内存,用于进程通讯。创建管道的进程称为管道服务程序。连接管道的进程称为管道客户程序。某个进程向管道中写入信息,然后其他进程从管道中读出信息。管道函数用于创建、管理和使用管道。


电源管理函数(Power Management)


电源管理函数用于对计算机的电源进行管理。


进程和线程函数(Process and Thread)


一个Win32应用程序由一个或多个进程组成。在最简单的条件下,一个进程就是一个可执行程序,在该进程的环境中运行一个或多个线程。线程是操作系统分配处理器时间的基本单位。一个线程可以执行进程代码的任何部分,包括正被其他线程执行的部分。一个"纤度"(Fiber)是一个执行单位,必须由应用程序手工调度。"纤度"在调度它的线程环境中运行。


作业对象允许进程组被作为一个单位进行管理。作业对象是可命名、可得到及可共享的对象,用于控制与其相关的进程的属性。在作业对象上完成的操作会影响所有与该作业对象相关的进程。


进程和线程函数包括三类函数:进程和线程函数、作业对象函数、"纤度"函数。


注册函数(Registry)


注册表是一个系统定义的数据库,应用程序和系统构件可使用它来保存和获取配置数据。注册函数用于对注册表进行操作。


字符串处理函数(string Manipulation)


字符串处理函数用于对字符串进行处理。


结构化的异常处理函数(Structured Exception Handling)


异常是在程序执行过程中发生的一种事件,发生异常时需要执行正常的控制流程以外的代码。共有两种异常:硬件异常和软件异常。硬件异常是由CPU引发的,可能由于执行了某些指令序列而产生,比如除零操作,或访问一个无效的内存地址。软件异常是由应用程序或操作系统显式地引发。例如,当系统检测出一个无效的参数值时就会引发一个异常。


结构化的异常处理是一种同时处理软件异常和硬件异常的机制。因此,在程序中可用作对硬件和软件异常一起进行处理。使用结构化的异常处理使用户可以完全控制对异常的处理,为调试器提供支持,并且对所有编程语言和机器都是可用的。


同步函数(Synchronization)


Win32 API提供了各种方法来调整执行过程中的多个进程。同步函数为线程提供了一系列对资源访问进行同步的机制。


系统信息函数(System Information)


系统信息函数用于修改系统的配置、设置和属性。


系统消息函数(System Message)


系统消息函数用于向一些系统部件发送系统消息,比如应用程序、网络驱动器、系统级设备驱动器等。


系统关机函数(System Shutdown)


应用程序可使用系统关机函数将当前的用户退出系统、关机,或锁定工作站。


磁带备份函数(Tape Backup)


备份应用程序可使用磁带备份函数从磁带中读取数据,向磁带中写入数据,初始化磁带,以及获取磁带或磁带驱动信息。


时间函数(Time)


Microsoft Windows和Windows NT提供了各种日期和时间函数,用于获取和设置系统及个别文件的日期和时间。


使用时间函数可以检查和修改日期及时间。


计时器函数(Timer)


计时器是一个内部例程,它反复地测量一个指定的时间间隔(以毫秒为单位)。


计时器函数用于对计时器进行操作。


工具帮助函数(Tool Help)


由"工具帮助库"所提供的函数可使用户更容易地获取有关当前正在执行的Win32应用程序的信息,为用户提供工具帮助服务。


窗口站和桌面函数(Window Station and Desktop)


窗口工作站和桌面函数主要是为Win32服务的开发人员提供的,用于对新的窗口工作站和桌面功能进行操作。开发由登录用户使用的典型应用程序的开发人员不必考虑窗口工作站和桌面。


Windows NT 4.0访问控制函数(Windows NT 4.0 Access-Control)


Windows NT 4.0访问控制函数用于对安全描述符和访问控制列表(ACL)进行操作。在更高版本的Windows NT中也支持这些函数。


Windows NT 4.0访问控制函数是Microsoft Win32提供的三套访问控制函数之一。


WinTrust函数


WinTrust函数用于对指定的主题进行指定确认。