Jump to content

DosGetModHandle: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
This call returns a handle to a previously loaded dynamic link module.
This call returns a handle to a previously loaded dynamic link module.
This is the legacy function. It is recommended to use:  "[[DosQueryModuleHandle]]".


==Syntax==
==Syntax==
Line 11: Line 9:


==Return Code==
==Return Code==
rc (USHORT) - return
;rc (USHORT) - return:Return code descriptions are:
Return code descriptions are:
*0 NO_ERROR
* 0         NO_ERROR  
*95 ERROR_INTERRUPT
* 95         ERROR_INTERRUPT  
*123 ERROR_INVALID_NAME
* 123       ERROR_INVALID_NAME  
*126 ERROR_MOD_NOT_FOUND
* 126       ERROR_MOD_NOT_FOUND


==Remarks==
==Remarks==
If a module name is provided, it must match the name of a module residing in the LIBPATH that is currently loaded. Otherwise an error code is returned. If a pathname is provided, the expanded pathname must match the full pathname of a module that is currently loaded.
If a module name is provided, it must match the name of a module residing in the LIBPATH that is currently loaded. Otherwise an error code is returned. If a pathname is provided, the expanded pathname must match the full pathname of a module that is currently loaded.


The handle returned by this call can be used with DosGetModName. It should not be used with DosGetProcAddr for access to the already loaded dynamic link module. Instead, DosLoadModule should be issued to ensure that the calling process is attached to the module.  
The handle returned by this call can be used with DosGetModName. It should not be used with DosGetProcAddr for access to the already loaded dynamic link module. Instead, DosLoadModule should be issued to ensure that the calling process is attached to the module.


==Example Code==
==Bindings==
===C Binding===
===C===
<PRE>
<PRE>
#define INCL_DOSMODULEMGR
#define INCL_DOSMODULEMGR
Line 36: Line 33:
</PRE>
</PRE>


===MASM Binding===
===MASM===
<PRE>
<PRE>
EXTRN  DosGetModHandle:FAR
EXTRN  DosGetModHandle:FAR
Line 47: Line 44:
Returns WORD
Returns WORD
</PRE>
</PRE>
==Related Functions==
*


[[Category:Dos]]
[[Category:Dos16]]

Latest revision as of 04:19, 26 January 2020

This call returns a handle to a previously loaded dynamic link module.

Syntax

DosGetModHandle (ModuleName, ModuleHandle)

Parameters

ModuleName (PSZ) - input
Address of the ASCIIZ name string containing the dynamic link module name or the pathname string. The filename extension used for dynamic link libraries when a module name is provided is .DLL. When a pathname is provided, the module name may have any extension.
ModuleHandle (PHMODULE) - output
Address of the handle for the dynamic link module.

Return Code

rc (USHORT) - return
Return code descriptions are:
  • 0 NO_ERROR
  • 95 ERROR_INTERRUPT
  • 123 ERROR_INVALID_NAME
  • 126 ERROR_MOD_NOT_FOUND

Remarks

If a module name is provided, it must match the name of a module residing in the LIBPATH that is currently loaded. Otherwise an error code is returned. If a pathname is provided, the expanded pathname must match the full pathname of a module that is currently loaded.

The handle returned by this call can be used with DosGetModName. It should not be used with DosGetProcAddr for access to the already loaded dynamic link module. Instead, DosLoadModule should be issued to ensure that the calling process is attached to the module.

Bindings

C

#define INCL_DOSMODULEMGR

USHORT  rc = DosGetModHandle(ModuleName, ModuleHandle);

PSZ              ModuleName;    /* Module name string */
PHMODULE         ModuleHandle;  /* Module handle (returned) */

USHORT           rc;            /* return code */

MASM

EXTRN  DosGetModHandle:FAR
INCL_DOSMODULEMGR   EQU 1

PUSH@  ASCIIZ  ModuleName    ;Module name string
PUSH@  WORD    ModuleHandle  ;Module handle (returned)
CALL   DosGetModHandle

Returns WORD