DosGetResource2

This call returns the far address of the specified resource.

Syntax
DosGetResource2 (ModHandle, TypeID, NameID, ResAddr)

Parameters

 * 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
 * 6 ERROR_INVALID_HANDLE

Remarks
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.

C

 * 1) define INCL_DOSRESOURCES2

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 */ 

MASM
 EXTRN DosGetResource2:FAR INCL_DOSRESOURCES2 EQU 1

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 