?? 新編winapi參考大全.txt
字號:
全屬性的操作系統來說,應用程序可使用安全函數來訪問安全數據,并保護這些數據不會被
有意或無意地訪問或破壞。
使用系統服務函數可以訪問有關系統和其他應用程序的信息。應用程序可用系統信息函
數來確定計算機的特別屬性,比如是否出現鼠標、顯示屏幕上的元素具有多大尺寸。注冊和
初始化函數用于將應用程序的特殊信息保存到系統文件中,以便于該應用程序的新實例對
象,甚至其他應用程序都可以獲取和使用這些信息。
應用程序使用系統服務函數可以處理執行過程中的的一些特殊情況,比如錯誤處理、事
件日志、異常處理。還有一些屬性可用于調試和提高性能。例如,使用調試函數可對其他進
程的執行過程進行單步控制,而性能監視函數則可對某個進程的執行路徑進行跟蹤。
系統服務函數還提供了一些特性,可用于創建其他類型的應用程序,比如控制臺應用程
序和服務。
系統服務函數包括以下幾類:
訪問控制函數(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)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -