How can I call a exported function using ordinal n

2019-02-09 09:50发布

问题:

If a dll exports some functions and the functions have only ordinal numbers, how can I call the functions?

Give me a short example please.

回答1:

The documentation for GetProcAddress explains that you pass the integer ordinal in the low-order word of the lpProcName parameter. The MAKEINTRESOURCE macro can actually be used to make this a little easier:

int ordinal = 123;
HANDLE dll = LoadLibrary("MyDLL.dll");
FARPROC fn = GetProcAddress(dll, MAKEINTRESOURCE(ordinal));