Jump to content

DosGetResource2: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
==Description==
This call returns the far address of the specified resource.
This call returns the far address of the specified resource.


==Syntax==
==Syntax==
<PRE>
  DosGetResource2 (ModHandle, TypeID, NameID, ResAddr)
  DosGetResource2


    (ModHandle, TypeID, NameID, ResAddr)
</PRE>
==Parameters==
==Parameters==
; ModHandle (HMODULE) - input : The location of the resource.
; ModHandle (HMODULE) - input : The location of the resource.
Line 15: Line 11:
  <> 0        A handle to a dynamic link module returned by DosLoadModule.  
  <> 0        A handle to a dynamic link module returned by DosLoadModule.  


; TypeID (USHORT) - input : A 16 bit resource type ID (see Remarks).  
; TypeID (USHORT) - input : A 16 bit resource type ID (see Remarks).
 
; NameID (USHORT) - input : A 16 bit resource name ID (see Remarks).
; NameID (USHORT) - input : A 16 bit resource name ID (see Remarks).  
 
; ResAddr (PULONG) - output : Address of the resource address.  
; ResAddr (PULONG) - output : Address of the resource address.  


==Return Code==
==Return Code==
  rc (USHORT) - return
  rc (USHORT) - return
Return code descriptions are:
Return code descriptions are:
* 0        NO_ERROR
* 6        ERROR_INVALID_HANDLE


* 0        NO_ERROR
* 6        ERROR_INVALID_HANDLE
==Remarks==
==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.
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.
Line 66: Line 59:
*  
*  


[[Category:The OS/2 API Project]]
[[Category:Dos]]

Revision as of 10:45, 13 February 2017

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

Related Functions