cre_mpl
acre_mpl
ER cre_mpl ( ID mplid, T_CMPL *pk_cmpl );
ER_ID acre_mpl ( T_CMPL *pk_cmpl );
typedef struct t_cmpl { ATR mplatr; /*可変長メモリ・プール属性*/ SIZE mplsz; /*可変長メモリ・プール領域のサイズ(バイト数)*/ VP mpl; /*可変長メモリ・プール領域の先頭アドレス*/ UINT maxblksz; /*最大メモリ・ブロック・サイズ(バイト数)*/ } T_CMPL; |
cre_mplは,指定されたmplidの可変長メモリ・プールをpk_cmplで指定された内容で生成します。acre_mplはpk_cmplで指定された内容で可変長メモリ・プールを生成し,生成した可変長メモリ・プールIDを返します。
2 ) 可変長メモリ・プール領域のサイズ(mplsz),可変長メモリ・プール領域の先頭アドレス(mpl)
アプリケーション側で,mplszバイトの可変長メモリ・プール領域を確保し,その先頭アドレスをmplに指定します。
mplは4バイト境界でなければなりません。
アプリケーション側で,mplszバイトの可変長メモリ・プール領域を確保し,その先頭アドレスをmplに指定します。
mplは4バイト境界でなければなりません。
備考1 RI600PXは,可変長メモリ・プール領域に関するアクセス権については何も関知しません。タスクが可変長メモリ・プールから獲得したメモリ・ブロックにアクセスするには,可変長メモリ・プール領域は適切にアクセス許可が設定されたメモリ・オブジェクト内に確保する必要があります。
また,RI600PXは可変長メモリ・プール領域内に管理テーブルを生成します。この管理テーブルがアプリケーションによって書き換えられた場合,システムの正常な動作は保証されません。
また,RI600PXは可変長メモリ・プール領域内に管理テーブルを生成します。この管理テーブルがアプリケーションによって書き換えられた場合,システムの正常な動作は保証されません。
3 ) 最大メモリ・ブロック・サイズ(maxblksz)
maxblkszにはメモリ・ブロックの最大サイズを指定します。実際に獲得可能メモリ・ブロックの最大サイズは,maxblkszより大きくなることがあります。詳細は,「9.3.1 可変長メモリ・ブロックのサイズ」を参照してください。
maxblkszにはメモリ・ブロックの最大サイズを指定します。実際に獲得可能メモリ・ブロックの最大サイズは,maxblkszより大きくなることがあります。詳細は,「9.3.1 可変長メモリ・ブロックのサイズ」を参照してください。