ASP Classic から dll の機能にアクセスしたいのですが、COM が最適であると理解しています。
dll に関連付けられた .h ヘッダー ファイルは次のようになります。
...
struct _Data;
typedef struct _Field
{
INT iType;
BOOL bChanged;
INT iFieldId;
INT iInternalFieldId;
INT iLenght;
INT iDec;
RW iRW;
union
{
DOUBLE d;
CHAR* s;
LONG l;
BOOL b;
LONG date;
struct _Data* data;
}
value;
} FIELD;
typedef struct _MetaData
{
HANDLE hHandle;
INT iDatabaseId;
INT iFields;
INT iStructSize;
} META;
typedef struct _Data
{
META metaData;
FIELD rgField[MAX_FIELD];
} DATA, *PDATA;
...
#ifdef __cplusplus
extern "C"
{
#endif //__cplusplus
__declspec(dllexport) P_DATA __stdcall CreateData(INT iDatabaseId);
__declspec(dllexport) ERROR __stdcall GetStr(DATA* pData, INT iFieldId, CHAR** ppsValue, INT iLen);
...
関数自体は簡単ですが、データはかなり複雑です。
COM サーバーでこのようなデータ型を定義するにはどうすればよいですか?
ありがとう、
バリー