home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 39 / IOPROG_39.ISO / SOFT / sdkjava40.exe / data1.cab / fg_Samples / Samples / COM / CustomMarshal / client / custsample.idl < prev    next >
Encoding:
Text File  |  2000-05-04  |  2.8 KB  |  89 lines

  1. // (C) Copyright 1995 - 1999 Microsoft Corporation.  All rights reserved.
  2.  
  3. [ uuid(2BEBEC40-6499-11d0-BFFC-00AA003CFDFC), version(1.0),
  4.   helpstring("Sample Custom Marshaling (Java->COM") ]
  5. library JavaLib
  6. {
  7.  
  8.     importlib("stdole32.tlb");
  9.     importlib("sysdata.tlb");
  10.  
  11.  
  12.     // Defining our own VARIANT look-alike because VARIANT is treated specially
  13.     // and cannot be customized.
  14.     typedef struct MYVARIANT {
  15.         unsigned short  vt;
  16.         unsigned short  pad1;
  17.         unsigned short  pad2;
  18.         unsigned short  pad3;
  19.         BSTR            bstrVal;
  20.         unsigned long   pad4;
  21.     } MYVARIANT;
  22.  
  23.     
  24.  
  25.  
  26.     [ uuid(2BEBEC41-6499-11d0-BFFC-00AA003CFDFC), version(1.0),
  27.       helpstring("Simple test"),
  28.       odl]
  29.     interface ICustSample : IUnknown
  30.     {
  31.         HRESULT PassFixedPtIn([in] FIXED fp);
  32.         HRESULT PassPFixedPtOutRetVal([out,retval] FIXED *pfp);
  33.         HRESULT PassPFixedPtIn([in] FIXED *pfp);
  34.         HRESULT PassPFixedPtOut([out] FIXED *pfp);
  35.         HRESULT PassPFixedPtInOut([in,out] FIXED *pfp);
  36.  
  37.  
  38.         HRESULT PassFixedPtsFromComToJava([in] ICustSample *pCustSample);
  39.  
  40.  
  41.         HRESULT PassMyVariantIn([in] MYVARIANT v);
  42.         HRESULT PassPMyVariantOutRetVal([out,retval] MYVARIANT *pv);
  43.         HRESULT PassPMyVariantIn([in] MYVARIANT *pv);
  44.         HRESULT PassPMyVariantOut([out] MYVARIANT *pv);
  45.         HRESULT PassPMyVariantInOut([in,out] MYVARIANT *pv);
  46.  
  47.         HRESULT PassMyVariantFromComToJava([in] ICustSample *pCustSample);
  48.  
  49.  
  50.         HRESULT PassPPointOut([out] POINT *ppt);
  51.         HRESULT PassPPointInOut([in,out] POINT *ppt);
  52.         HRESULT PassPointFromComToJava([in] ICustSample *pCustSample);
  53.  
  54.  
  55.         HRESULT PassRectIn([in] RECT r);
  56.         HRESULT PassPRectOutRetVal([out,retval] RECT *pr);
  57.         HRESULT PassPRectIn([in] RECT *pr);
  58.         HRESULT PassPRectOut([out] RECT *pr);
  59.         HRESULT PassPRectInOut([in,out] RECT *pr);
  60.         HRESULT PassPPRectOutRetVal([out,retval] RECT **ppr);
  61.         HRESULT PassPPRectIn([in] RECT **ppr);
  62.         HRESULT PassPPRectOut([out] RECT **ppr);
  63.         HRESULT PassPPRectInOut([in,out] RECT **ppr);
  64.  
  65.         HRESULT PassRectFromComToJava([in] ICustSample *pCustSample);  
  66.  
  67.  
  68.         HRESULT PassPStrIn([in] MYCHAR *pstr);
  69.         HRESULT PassPPStrOutRetVal( [out,retval] MYCHAR **ppstr );
  70.         HRESULT PassPPStrIn(    [in]     MYCHAR **ppstr );
  71.         HRESULT PassPPStrOut(   [out]    MYCHAR **ppstr );
  72.         HRESULT PassPPStrInOut( [in,out] MYCHAR **ppstr );
  73.  
  74.         HRESULT PassAnsiFromComToJava([in] ICustSample *pCustSample);  
  75.  
  76.          
  77.     }
  78.  
  79.  
  80.  
  81.     [ uuid(2BEBEC42-6499-11d0-BFFC-00AA003CFDFC), version(1.0),
  82.       helpstring("Simple test")
  83.     ]
  84.     coclass CCustSample {
  85.         [default] interface ICustSample;
  86.     }
  87.  
  88. };
  89.