en:docs:fapi:dosgetmachinemode

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:docs:fapi:dosgetmachinemode [2018/08/31 08:23] – created prokusheven:docs:fapi:dosgetmachinemode [2021/12/05 09:59] (current) prokushev
Line 1: Line 1:
 +{{page>en:templates:fapiint}}
 +
 +====== DosGetMachineMode ======
  
 This call returns the current mode of the processor, whether the processor is running in the DOS mode or the OS/2 mode. This allows an application to determine whether a dynamic link call is valid or not. This call returns the current mode of the processor, whether the processor is running in the DOS mode or the OS/2 mode. This allows an application to determine whether a dynamic link call is valid or not.
  
-==Syntax== +===== Syntax =====
- DosGetMachineMode (MachineMode)+
  
-==Parameters== +<code c> 
-;MachineMode (PBYTE- output: Address of the value to indicate the current processor mode. This value may be: +DosGetMachineMode (MachineMode) 
-::0 - DOS mode +</code>
-::1 - OS/2 mode.+
  
-==Return Code== +===== Parameters =====
-;rc (USHORT) - return:Return code description is: +
-*0 NO_ERROR+
  
-==Remarks== 
-All dynamic link calls are available to an application if the MachineMode value indicates the program is in OS/2 mode. This method provides a self-tailoring application that allows the application to adapt to the execution environment by limiting or enhancing the functions it provides. 
  
-If the MachineMode value indicates the program is in DOS mode, the application is limited to a subset of dynamic link calls listed in the [[Family API]].+  * MachineMode ([[PBYTE]]) - output: Address of the value to indicate the current processor mode. This value may be: 
 +    *0 - DOS (real) mode 
 +    *1 - OS/2 (protected) mode.
  
-==Example Code== +===== Return Code =====
-===C Binding=== +
-<PRE> +
-#define INCL_DOSQUEUES+
  
-USHORT  rc = DosGetMachineMode(MachineMode)+rc ([[USHORT]]return
-PBYTE   MachineMode;   /* Processor mode (returned) */ +
-USHORT  rc;            /* return code /*/ +
-</PRE>+
  
-===MASM Binding=== +Return code description is:
-<PRE> +
-EXTRN  DosGetMachineMode:FAR +
-INCL_DOSQUEUES      EQU 1+
  
-PUSH@  BYTE    MachineMode   ;Processor mode (returned) +  *0 NO_ERROR
-CALL   DosGetMachineMode+
  
-Returns WORD +===== Remarks =====
-</PRE>+
  
 +All dynamic link calls are available to an application if the MachineMode value indicates the program is in OS/2 mode. This method provides a self-tailoring application that allows the application to adapt to the execution environment by limiting or enhancing the functions it provides.
  
 +If the MachineMode value indicates the program is in DOS mode (or real), the application is limited to a subset of dynamic link calls listed in the [[en:docs:fapi|Family API]].
  
-====== Note ======+===== Example Code ===== 
 + 
 +==== C Binding ==== 
 + 
 +<code c> 
 +  #define INCL_DOSMISC 
 +   
 +  USHORT  rc = DosGetMachineMode(MachineMode); 
 +  PBYTE   MachineMode;   /* Processor mode (returned) */ 
 +  USHORT  rc;            /* return code /*/ 
 +</code> 
 + 
 +==== MASM Binding ==== 
 + 
 +<code asm> 
 +  EXTRN  DosGetMachineMode:FAR 
 +  INCL_DOSMISC      EQU 1 
 +   
 +  PUSH@  BYTE    MachineMode   ;Processor mode (returned) 
 +  CALL   DosGetMachineMode 
 +</code> 
 + 
 +Returns WORD 
 + 
 +===== Note =====
  
 Text based on [[http://www.edm2.com/index.php/DosGetMachineMode]] Text based on [[http://www.edm2.com/index.php/DosGetMachineMode]]
  
 +{{page>en:templates:os2api}}
 {{page>en:templates:fapi}} {{page>en:templates:fapi}}
-