int Hsp3ExtLibInit( HSP3TYPEINFO *info ) { int i; STRUCTDAT *st; char tmp[1024]; hspctx = info->hspctx; exinfo = info->hspexinfo; pmpval = exinfo->mpval; libmax = hspctx->hsphed->max_linfo / sizeof(LIBDAT); prmmax = hspctx->hsphed->max_finfo / sizeof(STRUCTDAT); hpidat = NULL; if ( Hsp3ExtAddPlugin() ) return 1; for(i=0;i<prmmax;i++) { st = GetPRM(i); if ( BindFUNC( st, NULL ) == 1 ) { sprintf( tmp,"No FUNC:%s",strp(st->nameidx) ); Alert( tmp ); } } return 0; }
static void ExitFunc( STRUCTDAT *st ) { // 終了時関数の呼び出し // int p[16]; FARPROC pFn; BindFUNC( st, NULL ); pFn = (FARPROC)st->proc; if ( pFn == NULL ) return; p[0] = p[1] = p[2] = p[3] = 0; call_extfunc( pFn, p, st->size / 4 ); }