[ Home |
Alpha index |
Topic index |
Tutorials |
Download |
Feedback ]
The OS/2 API Project
DosQueryProcAddr
[ Syntax |
Params |
Returns |
Include |
Usage |
Structs |
Gotchas |
Code |
Also ]
Syntax
rc = DosQueryProcAddr( hMod,
ulOrdinal,
pszProcName,
pProcAddr );
Parameters
-
HMODULE hMod (input)
-
Handle for the module to be queried (from DosLoadModule).
-
ULONG ulOrdinal (input)
-
Ordinal number for the sought process. If 0 then pszProcName is used.
-
PSZ pszProcName (input)
-
Pointer to string containing the sought processes name. Not case sensitive.
-
PFN* pProcAddr (output)
-
Address of a function pointer, which will contain the address of the procedure.
Returns
-
APIRET rc
-
Indicates if any error occured.
0 | NO_ERROR |
6 | ERROR_INVALID_HANDLE |
123 | ERROR_INVALID_NAME |
65079 | ERROR_ENTRY_IS_CALLGATE |
Include Info
#define INCL_DOSMODULEMGR
#include <os2.h>
Usage Explanation
DosQueryProcAddr is used to find the address of a process in a dynamic link
module.
Relevant Structures
Gotchas
Sample Code
void (* my_dll_function)(int, char*); /* Pointer to process */
HMODULE hmod;
APIRET rc = 0;
/* Load DLL and get hmod with DosLoadModule*/
/* Get address for process in DLL */
rc = DosQueryProcAddr(hmod, 0, "MY_DLL_FUNCTION", (PFN *) my_dll_function);
if(rc) { /* Failure? */
printf("Error. Cannot get the address for my_dll_function. DosQueryProcAddr returned %d.\n",rc);
return(-1);
}
/* Call my_dll_function */
my_dll_function(4711,"Hello World!\n");
See Also
DosLoadModule,
DosFreeModule
Author
Oscar Gustafsson -
oscar@lysator.liu.se
Additions
Last modified March 7/1996
Please send all errors, comments, and suggestions to:
timur@vnet.ibm.com
The OS/2 API Project |
DosQueryProcAddr |