标识 DLL 中的函数

DLL 函数的标识由以下元素组成:

  • 函数名称或序号

  • 可以找到实现的 DLL 文件的名称

例如,指定 User32.dll 中的 MessageBox 函数可标识函数 (MessageBox) 及其位置(User32.dll、 User32 或 user32)。 Microsoft Windows 应用程序编程接口 (Windows API) 可以包含每个处理字符和字符串的函数的两个版本:1 字节字符 ANSI 版本和 2 字节字符 Unicode 版本。 未指定时,由 CharSet 字段表示的字符集默认为 ANSI。 某些函数可以具有两个以上的版本。

MessageBoxA 是 MessageBox 函数的 ANSI 入口点;MessageBoxW 是 Unicode 版本。 可以通过运行多种命令行工具列出特定 DLL(如 user32.dll)的函数名称。 例如,可以使用 dumpbin /exports user32.dlllink /dump /exports user32.dll 来获取函数名称。

可以将非托管函数重命名为代码内的任意名称,只要将新名称映射到 DLL 中的原始入口点。 有关重命名托管源代码中的非托管 DLL 函数的说明,请参见指定入口点

借助平台调用,可以通过调用 Windows API 和其他 DLL 中的函数来控制操作系统的重要部分。 除了 Windows API,还可通过平台调用获取许多其他 API 和 DLL。

下表描述了 Windows API 中的多个常用的 DLL。

DLL 内容描述
GDI32.dll 图形设备接口 (GDI) 函数,用于设备输出,例如用于绘图和字体管理。
Kernel32.dll 低级别的操作系统函数,用于内存管理和资源处理。
User32.dll Windows 管理函数,用于消息处理、计时器、菜单和通信。

有关 Windows API 的完整文档,请参阅平台 SDK。 有关演示如何构造要用于平台调用的基于 .NET 的声明的示例,请参阅用平台调用封送数据

请参阅