Microsoft DirectX 8.1 (C++)

Token Records

This section describes the format of the records for each of the record-bearing tokens. Information is divided into the following sections.

TOKEN_NAME

A variable-length record. The token is followed by a count value that specifies the number of bytes that follow in the name field. An ASCII name of length count completes the record.

Field Type Size (bytes) Contents
token WORD 2 TOKEN_NAME
count DWORD 4 Length of name field, in bytes
name BYTE array count ASCII name

TOKEN_STRING

A variable-length record. The token is followed by a count value that specifies the number of bytes that follow in the string field. An ASCII string of length count continues the record, which is completed by a terminating token. The choice of terminator is determined by syntax issues discussed elsewhere.

Field Type Size (bytes) Contents
token WORD 2 TOKEN_STRING
count DWORD 4 Length of string field in bytes
string BYTE array count ASCII string
terminator DWORD 4 TOKEN_SEMICOLON or TOKEN_COMMA

TOKEN_INTEGER

A fixed length record. The token is followed by the integer value required.

Field Type Size (bytes) Contents
token WORD 2 TOKEN_INTEGER
value DWORD 4 Single integer

TOKEN_GUID

A fixed-length record. The token is followed by the four data fields as defined by the OSF DCE standard.

Field Type Size (bytes) Contents
token WORD 2 TOKEN_GUID
data1 DWORD 4 UUID data field 1
data2 WORD 2 UUID data field 2
data3 WORD 2 UUID data field 3
data4 BYTE array 8 UUID data field 4

TOKEN_INTEGER_LIST

A variable-length record. The token is followed by a count value that specifies the number of integers that follow in the list field. For efficiency, consecutive integer lists should be compounded into a single list.

Field Type Size (bytes) Contents
token WORD 2 TOKEN_INTEGER_LIST
count DWORD 4 Number of integers in list field
list DWORD 4 × count Integer list

TOKEN_FLOAT_LIST

A variable-length record. The token is followed by a count value that specifies the number of floats or doubles that follow in the list field. The size of the floating point value (float or double) is determined by the value of float size specified in the file header. For efficiency, consecutive TOKEN_FLOAT_LISTs should be compounded into a single list.

Field Type Size (bytes) Contents
token WORD 2 TOKEN_FLOAT_LIST
count DWORD 4 Number of floats or doubles in list field
list float/double array 4 or 8 × count Float or double list