DosGetProcessorStatus: Difference between revisions
Appearance
m →Syntax |
|||
Line 1: | Line 1: | ||
DosGetProcessorStatus returns the ONLINE or OFFLINE status of each processor of an SMP system. The processor status may be set using [[DosSetProcessorStatus]]. ONLINE status imples the processor is available for running work. OFFLINE status implies the processor is not available for running work. | |||
DosGetProcessorStatus returns the ONLINE or OFFLINE status of each processor of an SMP system. The processor status may be set using DosSetProcessorStatus. ONLINE status imples the processor is available for running work. OFFLINE status implies the processor is not available for running work. | |||
==Syntax== | ==Syntax== |
Revision as of 01:15, 27 July 2017
DosGetProcessorStatus returns the ONLINE or OFFLINE status of each processor of an SMP system. The processor status may be set using DosSetProcessorStatus. ONLINE status imples the processor is available for running work. OFFLINE status implies the processor is not available for running work.
Syntax
APIRET DosGetProcessorStatus (ULONG procid, PULONG status)
Parameters
- procid (ULONG) input
- Procesor ID numbered 1 through n, where there are n processors in total
- status (PULONG) output
- Status is defined as follows
- PROC_OFFLINE 0x00000000 Processor is offline
- PROC_ONLINE 0x00000001 Processor is online
Return Code
ulrc (APIRET) returns
DosGetProcessorStatus returns one of the following values
- 0 NO_ERROR
- 87 ERROR_INVALID_PARAMETER
Example Code
int main(int argc, char *argv[], char *envp[]){ APIRET rc=0; ULONG procid; ULONG status; int i; if (argc == 1) { for (procid=1; rc==0 ;++procid) { rc = DosGetProcessorStatus(procid, status); if (rc==0) { if (status == PROC_OFFLINE) printf("Processor %u offline\n", procid); else printf("Processor %u online\n", procid); } /* endif */ } /* endfor */ } else for (i=1; i argc ; ++i) { procid = atol(argv[i]); rc = DosGetProcessorStatus(procid, status); if (rc) printf("DosGetProcesorStatus returned %u\n",rc); else { if (status == PROC_OFFLINE) printf("Processor %u offline\n", procid); else printf("Processor %u online\n", procid); } /* endif */ } /* endfor */ return rc; }
Related Functions
- DosGetProcessorCount
- DosGetProcessorIdleTime
- DosSetProcessorStatus