您的位置:首页 > 编程语言

ADO编程中ATL所遇到的定义问题

2004-12-08 17:06 489 查看
ADO编程中ATL所遇到的定义问题
 

当欲向接口中定义方法如下:

[id(1), helpstring("method SearchCust")] HRESULT SearchCust([in] BSTR bstrcustid,[out,retval] _Recordset **ptr);



由于用到_Recordset类型,所以必须

importlib("C:/Program Files/Common Files/System/ADO/MSADO15.DLL");



于是整个idl文件应该改写为以下方式:

// FindCust.idl : IDL source for FindCust.dll

//



// This file will be processed by the MIDL tool to

// produce the type library (FindCust.tlb) and marshalling code.



import "oaidl.idl";

import "ocidl.idl";



[

uuid(B32A7D72-12D4-11D5-AC09-00A0247A8577),

version(1.0),

helpstring("FindCust 1.0 Type Library")

]

library FINDCUSTLib //Library给手动提前了

{

importlib("stdole32.tlb");

importlib("stdole2.tlb");

//MODIFY HERE

importlib("C:/Program Files/Common Files/System/ADO/MSADO15.DLL");

[

object,

uuid(B32A7D7F-12D4-11D5-AC09-00A0247A8577),

dual,

helpstring("ISearch Interface"),

pointer_default(unique)

]

interface ISearch : IDispatch

{

[id(1), helpstring("method SearchCust")] HRESULT SearchCust([in] BSTR bstrcustid,[out,retval] _Recordset **ptr);

};





[

uuid(B32A7D81-12D4-11D5-AC09-00A0247A8577),

helpstring("_ISearchEvents Interface")

]

dispinterface _ISearchEvents

{

properties:

methods:

};



[

uuid(B32A7D80-12D4-11D5-AC09-00A0247A8577),

helpstring("Search Class")

]

coclass Search

{

[default] interface ISearch;

[default, source] dispinterface _ISearchEvents;

};

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: