Jump to content

Dos16QueryModFromCS

From EDM2
Revision as of 22:03, 10 September 2025 by Martini (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Dos16QueryModFromCS queries the name, segment, and handle that corresponds to a 16 bit selector. It takes a selector as a parameter and returns information about the module (a protect mode application currently executing) owning that selector.

Syntax

Dos16QueryModFromCS (sel, qmresult)

Parameters

sel (SEL) - input
Selector to be queried.
qmresult (QMRESULT) - output
Structure containing the queried information
typedef struct_QMRESULT{USHORT seg; USHORT htme; char name[256];} QMRESULT;
typedef QMRESULT*PQMRESULT;

Return Code

ulrc (APIRET) - returns
Dos16QueryModFromCS returns one of the following values
  • 0 NO_ERROR
  • 87 ERROR_INVALID_PARAMETER

Example Code

#define INCL_DOSMODULEMGR
#include <os2.h>

int main(int argc, char *argv[], char *envp[]){
   SEL sel=0;
   QMRESULT qmresult;
   APIRET16 rc;

   if (argc!=2) {
      printf("QMODCS sel\n");
      return;
   } /* endif */

   sel=(SEL)strtoul(argv[1],NULL,16);

   rc=Dos16QueryModFromCS(sel,  qmresult);

   if (rc != 0) {
      printf("DosQueryModFromCS returned rc=%u\n",rc);
      return rc;
   } /* endif */

   printf("Sel=0x%04x Handle=0x%04x Segment=0x%04x %s\n",
           sel,qmresult.hmte,qmresult.seg,qmresult.name);

   return 0;
}

Related Functions