home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / atl / labrador / labrador.idl < prev    next >
Text File  |  1998-03-26  |  2KB  |  70 lines

  1. // Labrador.idl : IDL source for Labrador.dll
  2. //
  3.  
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (Labrador.tlb) and marshalling code.
  6.  
  7. // This is a part of the ActiveX Template Library.
  8. // Copyright (C) 1996 Microsoft Corporation
  9. // All rights reserved.
  10. //
  11. // This source code is only intended as a supplement to the
  12. // ActiveX Template Library Reference and related
  13. // electronic documentation provided with the library.
  14. // See these sources for detailed information regarding the
  15. // ActiveX Template Library product.
  16.  
  17. import "unknwn.idl";
  18.  
  19. #define MAX_MY_BSTR_LEN 32
  20. typedef [string] WCHAR MY_BSTR[MAX_MY_BSTR_LEN];
  21.  
  22.     [
  23.         object,
  24.         uuid(62A33E75-932A-11CF-B056-00A0C90348FA),
  25.         helpstring("IMammal Interface"),
  26.         pointer_default(unique)
  27.     ]
  28.     interface IMammal : IUnknown
  29.     {
  30.         import "oaidl.idl";
  31.         HRESULT GetSpeciesName([out, string] MY_BSTR p);
  32.         HRESULT IsAlive([out] BOOL* pBool);
  33.     };
  34.  
  35.     [
  36.         object,
  37.         uuid(62A33E76-932A-11CF-B056-00A0C90348FA),
  38.         helpstring("IDog Interface"),
  39.         pointer_default(unique)
  40.     ]
  41.     interface IDog : IUnknown
  42.     {
  43.         import "oaidl.idl";
  44.         HRESULT GetPetName([out, string] MY_BSTR p);
  45.         HRESULT SetPetName([in, string] MY_BSTR p);
  46.         HRESULT IsBarking([out] BOOL* pBool);
  47.     };
  48.  
  49.  
  50. [
  51.     uuid(62A33E74-932A-11CF-B056-00A0C90348FA),
  52.     version(1.0),
  53.     helpstring("Labrador 1.0 Type Library")
  54. ]
  55. library LABRADORLib
  56. {
  57.     importlib("stdole32.tlb");
  58.  
  59.     [
  60.         uuid(62A33E79-932A-11CF-B056-00A0C90348FA),
  61.         helpstring("Labrador Class")
  62.     ]
  63.     coclass Labrador
  64.     {
  65.         [default] interface IMammal;
  66.         interface IDog;
  67.     };
  68.  
  69. };
  70.