[ Home | Alpha index | Topic index | Tutorials | Download | Feedback ]

The OS/2 API Project

DosQuerySysInfo

[ Syntax | Params | Returns | Include | Usage | Structs | Gotchas | Code | Also ]

Syntax

rc = DosQuerySysInfo( ulStartIndex, ulLastIndex, pDataBuffer, ulDataBufferLength );

Parameters

ULONG ulStartIndex (input)
Index of the first info to query.

ULONG ulLastIndex (input)
Index of the last info to query. Equal to ulStartIndex if it is the only wanted info.

PVOID pDataBuffer (output)
Address to a data buffer to put the information in.

LONG ulDataBufferLength (input)
Size of pDataBuffer.

Valid values for ulStartIndex and ulLastIndex
No. Name Description OS/2 Version
1 QSV_MAX_PATH_LENGTH Maximum length of a path name (bytes). Use this when allocating filename buffers. All
2 QSV_MAX_TEXT_SESSIONS Maximum number of text sessions. All
3 QSV_MAX_PM_SESSIONS Maximum number of PM sessions. All
4 QSV_MAX_VDM_SESSIONS Maximum number of DOS sessions. All
5 QSV_BOOT_DRIVE Boot drive (1 = A:, 2 = B:, 3 = C, and so on). All
6 QSV_DYN_PRI_VARIATION Absolute(= 0)/Dynamic(= 1) priority. All
7 QSV_MAX_WAIT Maximum wait time (seconds). All
8 QSV_MIN_SLICE Minimum time slice allowed (milliseconds). All
9 QSV_MAX_SLICE Maximum time slice allowed (milliseconds). All
10 QSV_PAGE_SIZE Memory page size (bytes). Default 4096 bytes. All
11 QSV_VERSION_MAJOR Major version number. All
12 QSV_VERSION_MINOR Minor version number. All
13 QSV_VERSION_REVISION Revision letter. All
14 QSV_MS_COUNT Value of a 32-bit, free-running counter (milliseconds). Zero at boot time. All
15 QSV_TIME_LOW Low-order 32 bits of the time since January 1, 1980 (seconds). All
16 QSV_TIME_HIGH High-order 32 bits of the time since January 1, 1980 (seconds). All
17 QSV_TOTPHYSMEM Total number of bytes of physical memory. All
18 QSV_TOTRESMEM Total number of bytes of system-resident memory. All
19 QSV_TOTAVAILMEM Maximum number of bytes available for all processes in the system RIGHT NOW. All
20 QSV_MAXPRMEM Maximum number of bytes available for this process RIGHT NOW. All
21 QSV_MAXSHMEM Maximum number of shareable bytes available RIGHT NOW. All
22 QSV_TIMER_INTERVAL Timer interval (1/10 milliseconds). All
23 QSV_MAX_COMP_LENGTH Maximum length of one component in a path name (bytes). All
24 QSV_FOREGROUND_FS_SESSION Session ID of the current foreground full screen session. (any PM, VIO or Win-DOS session would be ID = 1). Warp
25 QSV_FOREGROUND_PROCESS Process ID of the current foreground process. Warp
26 QSV_NUMPROCESSORS Number of processors in the computer. Warp

Returns

APIRET rc
Indicates if any error occured.
0NO_ERROR
87ERROR_INVALID_PARAMETER
111ERROR_BUFFER_OVERFLOW

Include Info

#define INCL_DOSMISC
#include <os2.h>

Usage Explanation

DosQuerySysInfo queries different information about the system. and returns it in a buffer sent to it with the call.

Relevant Structures

Gotchas

Sample Code

ULONG aulBuffer[4]; APIRET rc; rc = DosQuerySysInfo(QSV_VERSION_MAJOR, QSV_MS_COUNT, (void *)aulBuffer, 4*sizeof(ULONG)); if(rc) { printf("Error! DosQuerySysInfo returned %d.\n",rc); return(-1); } else { printf("You are running version %d.%d revision %c.\n", aulBuffer[0], aulBuffer[1], (char) aulBuffer[2]); printf("Your system has been running %d hour(s) and %d minute(s).\n", aulBuffer[3]/3600000, (aulBuffer[3]%3600000)/60000); }

See Also

Author

Oscar Gustafsson - oscar@lysator.liu.se

Additions

Thierry de Montaudry - thierry@absa.co.za

Last modified June 26/1996
Please send all errors, comments, and suggestions to: timur@vnet.ibm.com

The OS/2 API Project

DosQuerySysInfo