Purpose
Dos16SysTrace writes a trace record to the system trace buffer. It provides a high speed event recording mechanism which may be used by PM and non-PM threads in ring 3 and ring 2 and by detached processes.
Syntax
#define INCL_DOSMISC #include os2.h>
APIRET16 APIENTRY16 Dos16SysTrace
Parameters
major (USHORT) input
Valid range 0 255
0 512 (before 4.0 FP 10 and 3.0 FP 35)
0 4099 (from 3.0 FP35 and 4.0 FP10 onwards).
Valid range 1 255
Returns
ulrc (APIRET) returns
Dos16SysTrace returns one of the following values
150
Remarks
Dos16SysTrace creates a trace record that includes the following items
If you use Dos16SysTrace, then you need to LINK specifying OS2386.LIB. If you use DosSysTrace, then you need to LINK specifying OS2286.LIB as an additional library file with the LINK386 command.
Related Functions
Example Code
int main(int argc, char *argv[], char *envp[]){ APIRET16 rc=0; /* default return code */ USHORT major=255; /* default major code */ USHORT minor=1; /* default minor code */ USHORT cBuffer=0; /* default buffer length */ PCHAR pBuffer=NULL; /* default buffer address */ if (argc>1) { pBuffer = argv[1]; cBuffer = strlen(argv[1]); } if (argc>2) major = atol(argv[2]); if (argc>3) minor = atol(argv[3]); rc = Dos16SysTrace(major, cBuffer, minor, pBuffer); if (rc) printf("DosSysTrace retuned rc=%u\n", rc); return rc; }