This is used to log a string in a function compiled using 16-bit segment:offset addressing and is coded as:
ASCIIZ=(address_spec,flag,maxlength),
where:
address_spec
D[IRECT] I[NDIRECT][*[{+|-}iiiiiiii]]... IF
DIRECT implies that the address points to a memory location, the contents of which are to be saved in the trace buffer.
INDIRECT means that the address points to a far pointer which is a segmented address that is dereferenced to obtain the target location to save in the trace buffer. The optional asterisks denote the level of indirection, one for each level. The indirect offsets iiiiiiii are added to or subtracted from the value found at the given level of indirection.
IF (Indirect Flat) means that the address points to a far pointer, which is a flat address that is dereferenced to obtain the target location to save in the trace buffer. Only far pointers may be dereferenced using segmented addresses. maxlength
If maxlength is 0 an error message will be given, and this tracepoint will be ignored.
Note: When using dynamic tracing, the OS/2 kernel does not place the terminating null byte into the trace buffer; therefore the prefix byte must be used by the Trace Formatter to obtain the length of the string.