标识 DLL 中的函数

DLL 函数的标识包括以下元素:

  • 函数的名称或序号

  • 实现所在的 DLL 文件的名称

例如,如果指定 User32.dll 中的 MessageBox 函数,需要标识该函数 (MessageBox) 及其位置(User32.dll、User32 或 user32)。 Microsoft Windows 应用程序编程接口 (Win32 API) 可以包含每个字符和字符串处理函数的两个版本:单字节字符 ANSI 版本和双字节字符 Unicode 版本。 如果不进行指定,CharSet 字段所表示的字符集将默认为 ANSI。 某些函数可以有两个以上的版本。

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

您可以在代码中将非托管函数重命名为任何所需的名称,但是要将该新名称映射到 DLL 中的初始入口点。 有关在托管源代码中重命名非托管 DLL 函数的说明,请参见指定入口点

利用平台调用,可以通过调用 Win32 API 和其他 DLL 中的函数来控制操作系统中相当大的一部分。 除了 Win32 API 之外,还有许多其他的 API 和 DLL 可通过平台调用来调用。

下表将说明 Win32 API 中几个常用的 DLL。

DLL

内容说明

GDI32.dll

用于设备输出的图形设备接口 (GDI) 函数,例如用于绘图和字体管理的函数。

Kernel32.dll

用于内存管理和资源处理的低级别操作系统函数。

User32.dll

用于消息处理、计时器、菜单和通信的 Windows 管理函数。

有关 Win32 API 的全部文档,请参见 Platform SDK。 有关说明如何构造用于平台调用的基于 .NET 的声明的示例,请参见用平台调用封送数据

请参见

概念

使用非托管 DLL 函数

指定入口点

创建用于容纳 DLL 函数的类

在托管代码中创建原型

其他资源

调用 DLL 函数