2.2.31 RecordInfoData

The RecordInfoData structure specifies information that is needed to identify the definition of a UDT, such as the GUID and version of the automation scope that defines the UDT, and the GUID of the type itself.

 typedef struct tagRecordInfo {
   GUID libraryGuid;
   DWORD verMajor;
   GUID recGuid;
   DWORD verMinor;
   DWORD Lcid;
 } RecordInfo;

libraryGuid: MUST be set to a GUID that identifies the IDL automation scope of the UDT (see section 2.2.49.2).

verMajor: MUST be set to the major version of the UDT automation scope (see section 2.2.49.2).

recGuid: MUST be set to the GUID of the UDT.

verMinor: MUST be set to the minor version of the UDT's automation scope (see section 2.2.49.2).

Lcid: MUST be set to the locale ID of the UDT's automation scope (see section 2.2.49.2).

RecordInfoData structures allow a client and a server to fully specify the identity of the UDT type being marshaled in the containing BRECORD (section 2.2.28.2). The client and the server MUST be able to reference the same type definition, by sharing through an unspecified mechanism a consistent view of the IDL automation scope of the UDT.<13>

Data of this type MUST be marshaled as specified in [C706] section 14, with the exception that it MUST be marshaled by using a little-endian data representation, regardless of the data representation format label. For more information, see [C706] section 14.2.5.