StructDemo.idl
上传用户:weisheen
上传日期:2022-07-09
资源大小:19390k
文件大小:1k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. // StructDemo.idl : IDL source for StructDemo.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (StructDemo.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. typedef struct StPerson
  8. {
  9.      BSTR name;
  10.  UINT age;
  11.  BSTR sex;
  12. }StPerson;
  13. [
  14. object,
  15. uuid(4FB1A9EF-DBC7-498F-824D-1FEACA15E5A9),
  16. dual,
  17. helpstring("IMyStruct Interface"),
  18. pointer_default(unique)
  19. ]
  20. interface IMyStruct : IDispatch
  21. {
  22.     [id(1),helpstring("adf")] HRESULT GetPersonById([in] UINT id,[out] StPerson** Result);
  23. [id(2),helpstring("adf")] HRESULT GetAllPerson([out] UINT* number,[out] StPerson** Result);
  24. [id(3),helpstring("adf")] HRESULT SavePerson([in] UINT number,[in] StPerson* Result,[out] UINT* pResult);
  25. [propget, id(4), helpstring("property UID")] HRESULT UID([out, retval] BSTR *pVal);
  26. [propput, id(4), helpstring("property UID")] HRESULT UID([in] BSTR newVal);
  27. };
  28. [
  29. uuid(143A3C7E-F406-458E-AD4D-BFB99743D777),
  30. version(1.0),
  31. helpstring("StructDemo 1.0 Type Library")
  32. ]
  33. library STRUCTDEMOLib
  34. {
  35. importlib("stdole32.tlb");
  36. importlib("stdole2.tlb");
  37. [
  38. uuid(0C704694-9121-496F-B635-FD4B3BAD4C53),
  39. helpstring("MyStruct Class")
  40. ]
  41. coclass MyStruct
  42. {
  43. [default] interface IMyStruct;
  44. };
  45. };