The CERTTRANSBLOB structure defines a byte buffer that is used to store certificates, request certificates, transmit responses, manipulate [UNICODE] strings, and marshal property values.

 typedef struct _CERTTRANSBLOB {
   ULONG cb;
   [size_is(cb), unique] BYTE* pb;

cb: Unsigned integer value that MUST contain the length of the buffer pointed to by pb in bytes.

pb: Byte buffer that MUST contain the binary contents being transported in this CERTTRANSBLOB.

CERTTRANSBLOB is empty when both cb and pb are set to 0.

The following sections specify marshaling of all supported structures that can be passed in the pb Byte buffer of CERTTRANSBLOB.

All instances of CERTTRANSBLOB used by this protocol MUST use one of the marshaling rules described in the following sections.