Trace Event Parameters
In general, interface parameters should be passed with the trace call. Interfaces
to performance sensitive code may require that only a few of the most important
parameters, if any, be passed with the trace call.
- Pre-Invocation:
a.
Call by value parameters set by the caller should
be passed with the trace call
b.
Call
by reference parameters to simple data (BYTE, WORD, DWORD) set by the caller
should be passed and copied with the trace call
c.
Call by reference parameters to character string
data set by the caller should be passed and copied with the trace call
d.
Call by reference parameters to complex data (structures
other than character strings) should be handled by passing a subset of the
most important data in the structure if the entire structure can not/need
not be recorded
2.
Post-Invocation:
a.
A return code should always be returned from
a post-invocation trace call. If the return code is not zero, then any
additional parameters that are traced may not be valid.
b.
Call by value parameters returned by the service
should be passed with the trace call
c.
Call
by reference parameters to simple data (BYTE, WORD, DWORD) returned by the
service should be passed and copied with the trace call
d.
Call by reference parameters to character string
data returned by the service should be passed and copied with the trace
call
e.
Call by reference
parameters to complex data (structures other than character strings) should
be handled by passing a subset of the most important data in the structure
if the entire structure can not/need not be recorded
3.