3,245
社区成员
发帖
与我相关
我的任务
分享
[
object,
uuid(8D2D2A49-E8D3-4630-924D-1F83A4B063DB),
dual,
nonextensible,
helpstring("IAlgorithm 接口"),
pointer_default(unique)
]
interface IAlgorithm : IDispatch{
[id(1), helpstring("方法Add")] HRESULT Add([in] LONG n1, [in] LONG n2, [out,retval]LONG* nVal);
[id(2), helpstring("方法Minus")] HRESULT Minus([in] LONG n1, [in] LONG n2, [out,retval] LONG* nVal);
[id(3), helpstring("方法Input")] HRESULT Input([in] BSTR str);
};
#ifdef UNDER_CE
[
uuid(C33B6BCD-ABBB-4E80-8E55-F34CC867BE83),
dual,
helpstring("_IAlgorithmEvents 接口")
]
interface _IAlgorithmEvents : IDispatch
{
//properties:
//methods:
[id(1), helpstring("方法Output")] HRESULT Output([in] BSTR str);
};
#endif //UNDER_CE
[
uuid(4EC8BE3C-DF5C-4E56-B1F5-9350266E32FC),
version(1.0),
helpstring("ServDemo 1.0 类型库")
]
library ServDemoLib
{
importlib("stdole2.tlb");
interface IDocHostUIHandlerDispatch;
interface IAxWinAmbientDispatchEx;
#ifndef UNDER_CE
[
uuid(C33B6BCD-ABBB-4E80-8E55-F34CC867BE83),
helpstring("_IAlgorithmEvents 接口")
]
dispinterface _IAlgorithmEvents
{
properties:
methods:
};
#endif //UNDER_CE
[
uuid(9EEFFB69-1604-4DA2-A12A-FAB65CE9D587),
helpstring("Algorithm Class")
]
coclass Algorithm
{
[default] interface IAlgorithm;
[default, source] dispinterface _IAlgorithmEvents;
};
};
// dlldata.c 的包装
//#ifdef _MERGE_PROXYSTUB // 合并代理存根(stub) DLL
#define REGISTER_PROXY_DLL //DllRegisterServer 等
#ifndef _WIN32_WCE
#define _WIN32_WINNT 0x0400 //对于 WinNT 4.0 或安装了 DCOM 的 Win95
#else
#define WIN32
#endif
#define USE_STUBLESS_PROXY //仅当使用 MIDL 开关 /Oicf 时定义
#ifndef _WIN32_WCE
#pragma comment(lib, "rpcns4.lib")
#endif
#pragma comment(lib, "rpcrt4.lib")
//#define ENTRY_PREFIX Prx
#include "dlldata.c"
#include "ServDemo_p.c"