2
我希望從ASP Classic訪問DLL的功能,我的理解是,COM是要走的路。與DLL相關複雜的C++數據類型和COM
的.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服務器定義這樣的數據類型?
感謝,
巴里