From EDM2
Jump to: navigation, search

This call returns the far address of the specified resource.


DosGetResource2 (ModHandle, TypeID, NameID, ResAddr)


ModHandle (HMODULE) - input 
The location of the resource.
0 - The executable file of the current process.
<> 0 - A handle to a dynamic link module returned by DosLoadModule.
TypeID (USHORT) - input 
A 16 bit resource type ID (see Remarks).
NameID (USHORT) - input 
A 16 bit resource name ID (see Remarks).
ResAddr (PULONG) - output 
Address of the resource address.

Return Code

rc (USHORT) - return
Return code descriptions are:
  • 0 NO_ERROR


A resource is read-only data generated by the Resource Compiler that can be accessed dynamically at run time. The access key consists of two 16-bit numbers, the first of which is a type ID and the second, a name ID. These numbers are similar in concept to the file extension and file name portions of a file name.

The advantage of a resource is that it can be bundled into an application's executable file, so a single file contains all of the code and data for an application.

Resource segments obtained through DosGetResource2 should only be freed using DosFreeResource.




USHORT  rc = DosGetResource2(ModHandle, TypeID, NameID, ResAddr);

HMODULE ModHandle;     /* Module handle to get resource from */
USHORT  TypeID;        /* 16 bit resource type ID */
USHORT  NameID;        /* 16 bit resource name ID */
PULONG  ResAddr;       /* where to return resource address */

USHORT  rc;            /* return code */


EXTRN  DosGetResource2:FAR

PUSH   WORD    ModHandle     ;Module handle to get resource from
PUSH   WORD    TypeID        ;16 bit resource type ID
PUSH   WORD    NameID        ;16 bit resource name ID
PUSH@  DWORD   ResAddr       ;Resource address (returned)
CALL   DosGetResource2

Returns WORD