GetProcAddress
The GetProcAddress
function returns the address of the specified exported dynamic-link library
(DLL) function.
FARPROC GetProcAddress(
HMODULE hModule, |
// handle to DLL
module |
LPCSTR lpProcName |
// name of function
|
); |
|
Parameters
hModule
Identifies
the DLL module that contains the function. The LoadLibrary
lpProcName
Points to a
null-terminated string containing the function name, or specifies the function s ordinal value. If this parameter is an ordinal
value, it must be in the low-order word; the high-order word must be zero.
Return Values
If the function
succeeds, the return value is the address of the DLL s exported function.
If the
function fails, the return value is NULL. To get extended error information,
call GetLastError
Remarks
The GetProcAddress
function is used to retrieve addresses of exported functions in DLLs.
The spelling
and case of the function name pointed to by lpProcName must be identical
to that in the EXPORTS statement of the source DLL s module-definition (.DEF) file.
The lpProcName
parameter can identify the DLL function by specifying an ordinal value
associated with the function in the EXPORTS statement. GetProcAddress
verifies that the specified ordinal is in the range 1 through the highest
ordinal value exported in the .DEF file. The function then uses the ordinal as
an index to read the function s address from
a function table. If the .DEF file does not number the functions consecutively
from 1 to N (where N is the number of exported functions), an
error can occur where GetProcAddress returns an invalid, non-NULL
address, even though there is no function with the specified ordinal.
In cases where
the function may not exist, the function should be specified by name rather
than by ordinal value.
See Also