DosGetResource2: Difference between revisions
Appearance
Created page with "==Description== This call returns the far address of the specified resource. ==Syntax== <PRE> DosGetResource2 (ModHandle, TypeID, NameID, ResAddr) </PRE> ==Parameters=..." |
m Ak120 moved page OS2 API:CPI:LEGACY:DosGetResource2 to DosGetResource2 |
(No difference)
|
Revision as of 10:43, 13 February 2017
Description
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.
Value Definition 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.
Example Code
C Binding
#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 Binding
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