2.2.12 RPC_STRING

EventLog Remoting Protocol APIs use the RPC_STRING to specify an ANSI string parameter.

 typedef struct _RPC_STRING {
   unsigned short Length;
   unsigned short MaximumLength;
   [size_is(MaximumLength)] char* Buffer;
 } RPC_STRING,
  *PRPC_STRING;

Length: The number of bytes (not the number of characters) in the string. This does not include the null terminator.

MaximumLength: If the string is the empty string, this MUST be set to zero. Otherwise, it MUST be the number of bytes in the string, including the null terminator (that is, it MUST be equal to the Length member plus 1).

Buffer: Either a pointer to a buffer containing a null-terminated non-empty ANSI string or NULL to indicate an empty string.