标识 DLL 中的函数

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

  • 函数名称或序号

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

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

MessageBoxAMessageBox 函数的 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 的声明的示例,请参阅用平台调用封送数据

另请参阅