識別 DLL 中的函式
DLL 函式的識別是由下列項目構成:
函式名稱或序數
可在其中找到實作之 DLL 檔案的名稱
舉例來說,在 User32.dll 中指定 MessageBox 函式可以識別這個函式 (MessageBox) 和它的位置 (User32.dll、User32 或 user32)。 Microsoft Windows 應用程式的程式發展介面 (Win32 API) 可針對處理字元和字串的每一個函式,各包含兩個版本:一個是單位元組字元的 ANSI 版本,另一個是雙位元組字元的 Unicode 版本。 在沒有指定的時候,由 CharSet 欄位所代表的字元集 (Character Set) 預設值為 ANSI。 有些函式可以有兩種以上版本。
MessageBoxA 是 MessageBox 函式的 ANSI 進入點 (Entry Point);MessageBoxW 則是 Unicode 版本。 您可以藉由執行各種命令列工具列出特定 DLL 的函式名稱,例如 user32.dll。 例如,您可以使用 dumpbin /exports user32.dll 或 link /dump /exports user32.dll 來取得函式名稱。
只要能夠將新名稱對應到 DLL 中原來的進入點,您可以在程式碼中將 Unmanaged 函式重新命名為您喜歡的任何名稱。 如需在 Managed 原始程式碼中重新命名 Unmanaged DLL 函式的說明,請參閱指定進入點。
平台叫用可以讓您藉由呼叫 Win32 API 和其他 DLL 中的函式,控制作業系統中重要的部分。 除了 Win32 API 以外,透過平台叫用您還可以使用許多其他 API 和 DLL。
下表所說明 Win32 API 中常用的幾種 DLL。
DLL |
內容說明 |
---|---|
GDI32.dll |
裝置輸出用的繪圖裝置介面 (Graphics Device Interface,GDI) 函式,例如供繪圖和字型管理用者 |
Kernel32.dll |
記憶體管理和資源處理的低階作業系統函式 |
User32.dll |
訊息處理、計時器、功能表及通訊用的 Windows 管理函式 |
如需 Win32 API 的完整文件,請參閱 Platform SDK。 如需示範如何建構 .NET 架構的宣告,以便與平台叫用一起使用的範例,請參閱使用平台叫用封裝處理資料。