The RecordTypeEnumeration identifies the type of the record. Each record (except for MemberPrimitiveUnTyped) starts with a record type enumeration. The size of the enumeration is one BYTE.

 typedef  enum
   SerializedStreamHeader = 0x00,
   ClassWithId = 0x01,
   SystemClassWithMembersAndTypes = 0x04,
   ClassWithMembersAndTypes = 0x05,
   BinaryObjectString = 0x06,
   MemberPrimitiveTyped = 0x08,
   MemberReference = 0x09,
   ObjectNull = 0x0a,
   MessageEnd = 0x0b,
   BinaryLibrary = 0x0c,
   ObjectNullMultiple256 = 0x0d,
   ObjectNullMultiple = 0x0e,
   ArraySingleObject = 0x10,
   ArraySingleString = 0x11,
   IsPrincipalMemberOfRequest = 0x15,
   IsPrincipalMemberOfResponse = 0x16
 } RecordTypeEnumeration;

SerializedStreamHeader:  Identifies the SerializationHeaderRecord.

ClassWithId:  Identifies a ClassWithId record.

SystemClassWithMembersAndTypes:  Identifies a class record that does not have a LibraryId field.

ClassWithMembersAndTypes:  Identifies a Class Record that has a LibraryId field.

BinaryObjectString:  Identifies a BinaryObjectString record.

MemberPrimitiveTyped:  Identifies a MemberPrimitiveTyped record.

MemberReference:  Identifies a MemberReference record.

ObjectNull:  Identifies an ObjectNull record.

MessageEnd:  Identifies a MessageEnd record.

BinaryLibrary:  Identifies a BinaryLibrary record.

ObjectNullMultiple256:  Identifies an ObjectNullMultiple256 record.

ObjectNullMultiple:  Identifies an ObjectNullMultiple record.

ArraySingleObject:  Identifies an ArraySingleObject record.

ArraySingleString:  Identifies an ArraySingleString record.

IsPrincipalMemberOfRequest:  Identifies a IsPrincipalMemberOfRequest record.

IsPrincipalMemberOfResponse:  Identifies a IsPrincipalMemberOfResponse record.