我是要写一个COM组件,组件调用我以前写好的DLL,
那个DLL的接口是int RecvServ(struct ClientInfo ClientIf,struct FileInfo Finfo);
struct ClientInfo和struct FileInfo
是我自定义的。
现在要用COM组件封装提起,在写COM的时候哪里添加这两个结构体?格式又该怎么写?
添加方法的时候不知道参数选什么类型了。
struct ClientInfo
{
char IPName[16];
char ID[30];
char RealName[200];
};struct FileInfo
{
char FileName[FILENAME_MAX];
unsigned long FileSize;
char Filenum[50];
char MAC[MAC_SIZE];
char FileDate[20];
};
那个DLL的接口是int RecvServ(struct ClientInfo ClientIf,struct FileInfo Finfo);
struct ClientInfo和struct FileInfo
是我自定义的。
现在要用COM组件封装提起,在写COM的时候哪里添加这两个结构体?格式又该怎么写?
添加方法的时候不知道参数选什么类型了。
struct ClientInfo
{
char IPName[16];
char ID[30];
char RealName[200];
};struct FileInfo
{
char FileName[FILENAME_MAX];
unsigned long FileSize;
char Filenum[50];
char MAC[MAC_SIZE];
char FileDate[20];
};
//// 此文件将由 MIDL 工具处理以
// 产生类型库(COMRecv.tlb)和封送处理代码。
#include "RecvExport.h"
import "oaidl.idl";
import "ocidl.idl";[
object,
uuid(5B6E8FB3-D34E-412D-9749-DD7F6AFA3094),
dual,
nonextensible,
helpstring("IReceiveDataService 接口"),
pointer_default(unique)
]
interface IReceiveDataService : IDispatch{
};
[
uuid(ADB8C2BE-F38D-45D2-A5C5-6A6020BE5B42),
version(1.0),
helpstring("COMRecv 1.0 类型库")
]
library COMRecvLib
{
importlib("stdole2.tlb");
[
uuid(8B42AF64-03A8-4B77-A674-DB94549E64BC),
helpstring("ReceiveDataService Class")
]
coclass ReceiveDataService
{
[default] interface IReceiveDataService;
};
};
这个是建好后的idl,我新加的应该加在哪个地方?格式呢?