#include #pragma pack(push, 1) /* 応答コード */ #define VMX_RET_SUCCESS 0 /* 正常に処理された */ #define VMX_RET_ERROR -1 /* エラーが発生した */ #define VMX_RET_NOTFOUND 101 /* 呼び出された関数が見つからない */ #define VMX_RET_ILLEGALCALL 102 /* 不正な関数呼び出し */ #define VMX_RET_INTERNALERROR 103 /* 関数内部でエラーが発生 */ #define VMX_RET_INVALIDPARAMNUM 104 /* 関数の引数の数が正しくない */ #define VMX_RET_INVALIDPARAMTYPE 105 /* 関数の引数の属性が正しくない */ /* 値タイプ */ #define VMX_TYPE_UNKNOWN 0 /* 予約済み */ #define VMX_TYPE_INTEGER 1 /* 整数 */ #define VMX_TYPE_REAL 2 /* 実数 */ /* 値 */ typedef struct { DWORD ValueType; union { int iValue; double aValue; char Reserved[28]; }; } TVMXValue; typedef TVMXValue far *PTVMXValue; /* 定数 */ typedef struct { DWORD Size; char far * Name; char far * Comment; TVMXValue Value; } TVMXConstant; typedef TVMXConstant far *PTVMXConstant; /* 関数 */ typedef struct { DWORD Size; char far * Name; char far * Comment; INT ParamNum; } TVMXFunction; typedef TVMXFunction far *PTVMXFunction; /* モジュール情報 */ typedef struct { DWORD Size; char far * Name; char far * Comment; char far * ModuleType; char far * Level; char far * Version; char far * Author; char far * Copyright; } TVMXModuleInfo; typedef TVMXModuleInfo far *PTVMXModuleInfo; /* 標準出力 */ typedef BOOL WINAPI (far *PTVMXStdout)(char far *pStr, DWORD iLen); #pragma pack(pop)