2.3.1.1 ClassInfo

ClassInfo is a common structure used by all the Class (2) records. It has the following structure.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ObjectId

Name (variable)

...

MemberCount

MemberNames (variable)

...

ObjectId (4 bytes): An INT32 value (as specified in [MS-DTYP] section 2.2.22) that uniquely identifies the object in the serialization stream. An implementation MAY use any algorithm to generate the unique IDs. If the ObjectId is referenced by a MemberReference record elsewhere in the serialization stream, the ObjectId MUST be positive. If the ObjectId is not referenced by any MemberReference in the serialization stream, then the ObjectId SHOULD be positive, but MAY be negative.<4>

Name (variable): A LengthPrefixedString value that contains the name of the Class (1). The format of the string MUST be as specified in the RemotingTypeName, as specified in [MS-NRTP] section 2.2.1.2.

MemberCount (4 bytes): An INT32 value (as specified in [MS-DTYP] section 2.2.22) that contains the number of Members in the Class (2). The value MUST be 0 or a positive integer.

MemberNames (variable): A sequence of LengthPrefixedString values that represents the names of the Members in the class (2). The number of items in the sequence MUST be equal to the value specified in the MemberCount field.

The MemberNames MAY be in any order.<5>