int FNC_Get_GLOP_Map(GLOP_Map_t **Map)
- GLOP_Map_t ** Map
- FNC_Get_GLOP_MapがGLOP_Map_t構造体へのポインタを保存するアドレス。
- 外部ルーチンにGLOPセットへのアクセスがない場合、FNC_Get_GLOP_MapはNULLポインタを戻します。これは、外部ルーチンでCREATE文にUSING GLOP SET句が含まれていない場合、またはGLOPデータ テーブルで外部ルーチンがメンバーである指定されたGLOPセットの行を検出できなかった場合に当てはまります。
- 構造体GLOP_Map_tは、8つのGLOP_ref_t構造体に、いくつかの内部構造体が加わった配列です。8つのGLOPデータ参照は、外部ルーチンがマップできる最大数です。
- GLOP_Map_tには、以下の定義があります。
typedef struct { GLOP_ref_t GLOP[8], } GLOP_Map_t;
- 構造体GLOP_ref_tには、以下の定義があります。
typedef struct { void *GLOP_ptr, int version, int size, int page, GLOP_Mode mode, GLOP_Type type, } GLOP_ref_t;
- 条件
- GLOP_ptrは、GLOPデータのマップ済みアドレスを指定します。
- versionは、使用されるGLOPのバージョンを指定します。
このバージョンは、DBCExtension.GLOP_DataテーブルのGLOP_Version列を反映します。
- sizeは、マップ済みGLOPデータのバイト単位の長さを指定します。
範囲外の参照は、メモリ違反の原因となる可能性があります。
- pageは、マップ済みGLOPページの数を指定します。
- modeは、マッピングおよび変更モードを指定します。GLOP_Mode列挙型には、以下の定義があります。
typedef enum { GLOP_NONE=0, /* no map mode */ GLOP_R=1, /* read-only */ GLOP_W=2, /* normal map read/write */ GLOP_M=3, /* normal map global modify */ GLOP_SW=4, /* shared map read/write */ GLOP_SM=5 /* shared map global modify */ } GLOP_Mode;
- typeはGLOPのタイプを指定します。GLOP_Type列挙型には、以下の定義があります。
typedef enum { GLOP_NULL=0, /* no mapping */ GLOP_SY=1, /* system GLOP */ GLOP_RO=2, /* role GLOP */ GLOP_US=3, /* user GLOP */ GLOP_SE=4, /* session GLOP */ GLOP_TR=5, /* transaction GLOP */ GLOP_RE=6, /* request GLOP */ GLOP_XR=7 /* external routine GLOP */ } GLOP_Type;
GLOP型の詳細については、GLOP型を参照してください。