Parameter update structures
Three structures are used to convey information about parameter value update notifications.
1
typedef struct
  {
  RecHdrDef hdr; // This is the identification
of the current structure. (hdr.usRecID = 11
  long lParamCount; // This is the number
of parameter updates contained in the current structure.
  ParamDef aParams[1]; // This is a dummy placeholder. The size of this field
depends on the number of parameter notifications that is contained
in the message, and the size of each parameter notification.
  } ParametersRecDef;
2
typedef struct
  {
  long lCookie; // This is the identification
of the current parameter. The value is returned
from the Start parameter notification.
  DWORDLONG dwlTimeStamp; // This is the time when
the parameter was updated.
  ValueDef sValue; This is the actual
parameter data.
  long unused;
  } ParamDef;
3
typedef struct
  {
 long lValueLen; // This is the size of
the parameter data byte array following below.
  BYTE aValue[1];
  } ValueDef;
aValue[1]: This is the byte array holding the updated parameter value. The client must be able to match this byte array against the actual data type of the parameter. This can be done either by hard coding with knowledge about the size of the parameter, or by requesting parameter information from the server.