home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / com / allinone / server / stlcoll.idl < prev    next >
Encoding:
Text File  |  1998-04-03  |  9.7 KB  |  296 lines

  1. // stlcoll.idl : IDL source for stlcoll.dll
  2. //
  3.  
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (stlcoll.tlb) and marshalling code.
  6.  
  7. import "idata.idl";
  8.  
  9.     [
  10.         object,
  11.         uuid(7CE086C9-3E78-11D0-AE6B-00C04FD7D06E),
  12.         helpstring("IStlMaps Interface"),
  13.         pointer_default(unique)
  14.     ]
  15.  
  16.     interface IStlMaps : IUnknown
  17.     {
  18.         import "oaidl.idl";
  19.     };
  20.  
  21.     [
  22.         object,
  23.         uuid(7CE086CE-3E78-11D0-AE6B-00C04FD7D06E),
  24.         helpstring("IStlMapStringToMyObject Interface"),
  25.         pointer_default(unique)
  26.     ]
  27.     interface IStlMapStringToMyObject : IUnknown
  28.     {
  29.         import "oaidl.idl";
  30.         [id(1), propget] HRESULT Map([in] BSTR str, [out, retval] IMyStruct** obj);
  31.         [id(1), propput] HRESULT Map([in] BSTR str, [in] IMyStruct* obj);
  32.         [id(2)] HRESULT Lookup([in] BSTR str, IMyStruct** obj, [out, retval] VARIANT_BOOL* b);
  33.         [id(3)] HRESULT First();
  34.         [id(4)] HRESULT Next([out] BSTR* str, [out] IMyStruct** obj, [out, retval] VARIANT_BOOL* b);
  35.         [id(5), propget] HRESULT Remove([out, retval] BSTR* str);
  36.         [id(6)] HRESULT RemoveAll();
  37.         [id(7), propget] HRESULT Count([out, retval] UINT* dw);
  38.     };
  39.  
  40.     [
  41.         object,
  42.         uuid(7CE086D3-3E78-11D0-AE6B-00C04FD7D06E),
  43.         helpstring("IStlMapDWordToMyStruct Interface"),
  44.         pointer_default(unique)
  45.     ]
  46.     interface IStlMapDWordToMyStruct : IUnknown
  47.     {
  48.         import "oaidl.idl";
  49.         [id(1), propget] HRESULT Map([in] DWORD dw, [out, retval] IMyStruct** str);
  50.         [id(1), propput] HRESULT Map([in] DWORD dw, [in] IMyStruct* str);
  51.         [id(2)] HRESULT Lookup([in] DWORD dw, [out] IMyStruct** str, [out, retval] VARIANT_BOOL* b);
  52.         [id(3)] HRESULT First();
  53.         [id(4)] HRESULT Next([out] DWORD* dw, [out] IMyStruct** str, [out, retval] VARIANT_BOOL* b);
  54.         [id(5), propget] HRESULT Remove([out, retval] DWORD* str);
  55.         [id(6)] HRESULT RemoveAll();
  56.         [id(7), propget] HRESULT Count([out, retval] UINT* dw);
  57.     };
  58.  
  59.     [
  60.         object,
  61.         uuid(7CE086D8-3E78-11D0-AE6B-00C04FD7D06E),
  62.         helpstring("IStlMapStringToString Interface"),
  63.         pointer_default(unique)
  64.     ]
  65.     interface IStlMapStringToString : IUnknown
  66.     {
  67.         import "oaidl.idl";
  68.         [id(1), propget] HRESULT Map([in] BSTR str1, [out, retval] BSTR* str2);
  69.         [id(1), propput] HRESULT Map([in] BSTR str1, [in] BSTR str2);
  70.         [id(2)] HRESULT Lookup([in] BSTR str1, [out] BSTR* str2, [out, retval] VARIANT_BOOL* b);
  71.         [id(3)] HRESULT First();
  72.         [id(4)] HRESULT Next([out] BSTR* str1, [out] BSTR* str2, [out, retval] VARIANT_BOOL* b);
  73.         [id(5), propget] HRESULT Remove([out, retval] BSTR* str);
  74.         [id(6)] HRESULT RemoveAll();
  75.         [id(7), propget] HRESULT Count([out, retval] UINT* dw);
  76.     };
  77.  
  78.     [
  79.         object,
  80.         uuid(7CE086DD-3E78-11D0-AE6B-00C04FD7D06E),
  81.         helpstring("IStlLists Interface"),
  82.         pointer_default(unique)
  83.     ]
  84.     interface IStlLists : IUnknown
  85.     {
  86.         import "oaidl.idl";
  87.     };
  88.  
  89.     [
  90.         object,
  91.         uuid(7CE086E2-3E78-11D0-AE6B-00C04FD7D06E),
  92.         helpstring("IStlStringList Interface"),
  93.         pointer_default(unique)
  94.     ]
  95.     interface IStlStringList : IUnknown
  96.     {
  97.         import "oaidl.idl";
  98.         [id(1)] HRESULT Find([in] BSTR str, [out, retval] VARIANT_BOOL* b);
  99.         [id(2), propput] HRESULT SetAt([in] BSTR str);
  100.         [id(3), propput] HRESULT Add([in] BSTR str);
  101.         [id(4), propput] HRESULT InsertBefore([in] BSTR str);
  102.         [id(5), propget] HRESULT Remove([out, retval] BSTR* str);
  103.         [id(6)] HRESULT RemoveAll();
  104.         [id(7)] HRESULT First();
  105.         [id(8)] HRESULT Next([out] BSTR* str, [out, retval] VARIANT_BOOL* b);
  106.         [id(9), propget] HRESULT Count([out, retval] UINT* dw);
  107.     };
  108.  
  109.     [
  110.         object,
  111.         uuid(7CE086E7-3E78-11D0-AE6B-00C04FD7D06E),
  112.         helpstring("IStlMyStructList Interface"),
  113.         pointer_default(unique)
  114.     ]
  115.     interface IStlMyStructList : IUnknown
  116.     {
  117.         import "oaidl.idl";
  118.         [id(1)] HRESULT Find([in] IMyStruct* str, [out, retval] VARIANT_BOOL* b);
  119.         [id(2), propput] HRESULT SetAt([in] IMyStruct* str);
  120.         [id(3), propput] HRESULT Add([in] IMyStruct* str);
  121.         [id(4), propput] HRESULT InsertBefore([in] IMyStruct* str);
  122.         [id(5), propget] HRESULT Remove([out, retval] IMyStruct** str);
  123.         [id(6)] HRESULT RemoveAll();
  124.         [id(7)] HRESULT First();
  125.         [id(8)] HRESULT Next([out] IMyStruct** str, [out, retval] VARIANT_BOOL* b);
  126.         [id(9), propget] HRESULT Count([out, retval] UINT* dw);
  127.     };
  128.  
  129.     [
  130.         object,
  131.         uuid(7CE086EC-3E78-11D0-AE6B-00C04FD7D06E),
  132.         helpstring("IStlintList Interface"),
  133.         pointer_default(unique)
  134.     ]
  135.     interface IStlintList : IUnknown
  136.     {
  137.         import "oaidl.idl";
  138.         [id(1)] HRESULT Find([in] long n, [out, retval] VARIANT_BOOL* b);
  139.         [id(2), propput] HRESULT SetAt([in] long n);
  140.         [id(3), propput] HRESULT Add([in] long n);
  141.         [id(4), propput] HRESULT InsertBefore([in] long n);
  142.         [id(5), propget] HRESULT Remove([out, retval] long* n);
  143.         [id(6)] HRESULT RemoveAll();
  144.         [id(7)] HRESULT First();
  145.         [id(8)] HRESULT Next([out] long* n, [out, retval] VARIANT_BOOL* b);
  146.         [id(9), propget] HRESULT Count([out, retval] UINT* dw);
  147.     };
  148.  
  149.     [
  150.         object,
  151.         uuid(7CE086F1-3E78-11D0-AE6B-00C04FD7D06E),
  152.         helpstring("IStlArrays Interface"),
  153.         pointer_default(unique)
  154.     ]
  155.     interface IStlArrays : IUnknown
  156.     {
  157.         import "oaidl.idl";
  158.     };
  159.  
  160.     [
  161.         object,
  162.         uuid(7CE086F6-3E78-11D0-AE6B-00C04FD7D06E),
  163.         helpstring("IStlDWordArray Interface"),
  164.         pointer_default(unique)
  165.     ]
  166.     interface IStlDWordArray : IUnknown
  167.     {
  168.         import "oaidl.idl";
  169.         [id(1), propget] HRESULT Array([in] long idx, [out, retval] DWORD* dw);
  170.         [id(1), propput] HRESULT Array([in] long idx, [in] DWORD dw);
  171.         [id(2), propput] HRESULT Add([in] DWORD dw);
  172.         [id(3), propget] HRESULT Remove([in] long idx, [out, retval] DWORD* dw);
  173.         [id(4)] HRESULT RemoveAll();
  174.         [id(5)] HRESULT First();
  175.         [id(6)] HRESULT Next([out] DWORD* pt, [out, retval] VARIANT_BOOL* b);
  176.         [id(7), propget] HRESULT Count([out, retval] UINT* dw);
  177.     };
  178.  
  179.     [
  180.         object,
  181.         uuid(7CE086FB-3E78-11D0-AE6B-00C04FD7D06E),
  182.         helpstring("IStlMyObjectArray Interface"),
  183.         pointer_default(unique)
  184.     ]
  185.     interface IStlMyObjectArray : IUnknown
  186.     {
  187.         import "oaidl.idl";
  188.         [id(1), propget] HRESULT Array([in] long idx, [out, retval] IMyStruct** str);
  189.         [id(1), propput] HRESULT Array([in] long idx, [in] IMyStruct* str);
  190.         [id(2), propput] HRESULT Add([in] IMyStruct* str);
  191.         [id(3), propget] HRESULT Remove([in] long idx, [out, retval] IMyStruct** str);
  192.         [id(4)] HRESULT RemoveAll();
  193.         [id(5)] HRESULT First();
  194.         [id(6)] HRESULT Next([out] IMyStruct** pt, [out, retval] VARIANT_BOOL* b);
  195.         [id(7), propget] HRESULT Count([out, retval] UINT* dw);
  196.     };
  197.  
  198.     [
  199.         object,
  200.         uuid(7CE08700-3E78-11D0-AE6B-00C04FD7D06E),
  201.         helpstring("IStlPointArray Interface"),
  202.         pointer_default(unique)
  203.     ]
  204.     interface IStlPointArray : IUnknown
  205.     {
  206.         import "oaidl.idl";
  207.         [id(1), propget] HRESULT Array([in] long idx, [out, retval] POINT* pt);
  208.         [id(1), propput] HRESULT Array([in] long idx, [in] POINT pt);
  209.         [id(2), propput] HRESULT Add([in] POINT pt);
  210.         [id(3), propget] HRESULT Remove([in] long idx, [out, retval] POINT* pt);
  211.         [id(4)] HRESULT RemoveAll();
  212.         [id(5)] HRESULT First();
  213.         [id(6)] HRESULT Next([out] POINT* pt, [out, retval] VARIANT_BOOL* b);
  214.         [id(7), propget] HRESULT Count([out, retval] UINT* dw);
  215.     };
  216.  
  217. [
  218.     uuid(7CE086C7-3E78-11D0-AE6B-00C04FD7D06E),
  219.     version(1.0),
  220.     helpstring("stlcoll 1.0 Type Library")
  221. ]
  222. library STLCOLLLib
  223. {
  224.     importlib("stdole32.tlb");
  225.  
  226.     [
  227.         uuid(7CE086CD-3E78-11D0-AE6B-00C04FD7D06E),
  228.         helpstring("StlMaps Class")
  229.     ]
  230.     coclass CStlMaps
  231.     {
  232.         [default] interface IStlMaps;
  233.     };
  234.  
  235.     [
  236.         uuid(7CE086CF-3E78-11D0-AE6B-00C04FD7D06E),
  237.         helpstring("StlMapStringToMyObject Class")
  238.     ]
  239.     coclass CStlMapStringToMyObject
  240.     {
  241.         [default] interface IStlMapStringToMyObject;
  242.     };
  243.  
  244.     [
  245.         uuid(7CE086D0-3E78-11D0-AE6B-00C04FD7D06E),
  246.         helpstring("StlMapDWordToMyStruct Class")
  247.     ]
  248.     coclass CStlMapDWordToMyStruct
  249.     {
  250.         [default] interface IStlMapDWordToMyStruct;    
  251.     };
  252.  
  253.     [
  254.         uuid(7CE086D1-3E78-11D0-AE6B-00C04FD7D06E),
  255.         helpstring("StlMapStringToString Class")
  256.     ]
  257.     coclass CStlMapStringToString
  258.     {
  259.         [default] interface IStlMapStringToString;
  260.     };
  261.  
  262.     [
  263.         uuid(7CE086D2-3E78-11D0-AE6B-00C04FD7D06E),
  264.         helpstring("StlLists Class")
  265.     ]
  266.     coclass CStlLists
  267.     {
  268.         [default] interface IStlLists;
  269.         interface IStlStringList;
  270.         interface IStlMyStructList;
  271.         interface IStlintList;
  272.     };
  273.  
  274.     [
  275.         uuid(7CE086D7-3E78-11D0-AE6B-00C04FD7D06E),
  276.         helpstring("StlArrays Class")
  277.     ]
  278.     coclass CStlArrays
  279.     {
  280.         [default] interface IStlArrays;
  281.         interface IStlMyObjectArray;
  282.         interface IStlPointArray;
  283.     };
  284.  
  285.     [
  286.         uuid(7CE086D9-3E78-11D0-AE6B-00C04FD7D06E),
  287.         helpstring("StlDWordArray Class")
  288.     ]
  289.     coclass CStlDWordArray
  290.     {
  291.         [default] interface IStlDWordArray;
  292.     };
  293.  
  294. };
  295.  
  296.