拡張ヘッダー(D8CAIRX)のレベル フィールド'd8xiLvl'を1に設定し、eyecatcherを"IRX8"に設定する必要があります。 これにより、古いエレメント構造が完全に排除され、拡張部分にあるすべてのエレメントが新しい形式になります(レベル フィールドがゼロに設定されている場合は、32ビット モードと64ビット モードで動作するように定義されたエレメントが有効になります)。 2つの新しいエレメント構造を使用すると、APHパーセルと非APHパーセルの両方をCLIに提供できます。 これらは、32ビット モードと64ビット モードの両方に対して互換性があります。
typedef struct D8XIELEM { UInt16 d8xieLen; /* Length of element */ UInt16 d8xieTyp; /* Type of element */ /* 0 - Use of non APH */ /* 1 - Use APH */ } D8XIELEM; typedef struct D8XIEP { UInt16 d8xiepF; /* Parcel flavor */ UInt16 d8xiepR1; /* Reserved: must be zero */ UInt32 d8xiepLn; /* Length of body */ /* if d8xiepPt NULL */ /* set d8xiepLn to 0 */ /* else */ /* set d8xiepLn to body length */ Byte d8xiepA[4]; /* Reserved: must be zero */ #ifdef CLI_64BIT Byte d8xiepP4[4]; /* Reserved: must be zero */ #else char* d8xiepPt ; /* Pointer to body,if not inline */ #endif #ifdef CLI_64BIT char* d8xiepPt; /* Pointer to body,if not inline */ #else Byte d8xiepP8[8]; /* Reserved: must be zero */ #endif Byte d8xiepL8[8]; /* Reserved: must be zero */ } D8XIEP;
新しいエレメントでは、パーセル本体をインラインにするか、ポインタで指すことができます。