| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| // XCallback_Impl.idl : IDL source for XCallback_Impl.dll |
| // |
| |
| // This file will be processed by the MIDL tool to |
| // produce the type library (XCallback_Impl.tlb) and marshalling code. |
| |
| import "oaidl.idl"; |
| import "ocidl.idl"; |
| [ |
| object, |
| uuid(180FF55F-6F5C-11D4-8330-005004526AB4), |
| dual, |
| helpstring("ICallback Interface"), |
| pointer_default(unique) |
| ] |
| interface ICallback : IDispatch |
| { |
| [id(1), helpstring("method func1")] HRESULT func1(); |
| [id(2), helpstring("method returnInterface")] HRESULT returnInterface([out, retval] IDispatch** ppdisp); |
| [id(3), helpstring("method outInterface")] HRESULT outInterface([out] IDispatch** ppdisp); |
| [id(4), helpstring("method outValuesMixed")] HRESULT outValuesMixed([in] long val, [out] long* pval, [in] BSTR string); |
| [id(5), helpstring("method outValuesAll")] HRESULT outValuesAll([out] IDispatch** ppdisp, [out] IDispatch** ppSimpleStruct, [out] long* aSimpleEnum, |
| [out] SAFEARRAY( VARIANT)* outSeq, |
| [out] VARIANT* varAny, |
| [out] VARIANT_BOOL * aBool, |
| [out] short* aChar, |
| [out] BSTR* aString , |
| [out] float* aFloat, |
| [out] double* aDouble, |
| [out] unsigned char* aByte, |
| [out] short* aShort, |
| [out]long* aLong); |
| // ); |
| [id(6), helpstring("method outStruct")] HRESULT outStruct([out] IDispatch** outStruct); |
| [id(7), helpstring("method outEnum")] HRESULT outEnum([out] long* outEnum); |
| [id(8), helpstring("method outSeqAny")] HRESULT outSeqAny([out] SAFEARRAY( VARIANT)* outSeq); |
| [id(9), helpstring("method outAny")] HRESULT outAny([out] VARIANT* outAny); |
| [id(10), helpstring("method outBool")] HRESULT outBool([out]VARIANT_BOOL* outBool); |
| [id(11), helpstring("method outChar")] HRESULT outChar([out] short* outChar); |
| [id(12), helpstring("method outString")] HRESULT outString([out] BSTR * outString); |
| [id(13), helpstring("method outFloat")] HRESULT outFloat([out] float* outFloat); |
| [id(14), helpstring("method outDouble")] HRESULT outDouble([out] double* outDouble); |
| [id(16), helpstring("method outShort")] HRESULT outShort([out] short *outShort); |
| [id(17), helpstring("method outLong")] HRESULT outLong([out] long* outLong); |
| [id(20), helpstring("method outByte")] HRESULT outByte([out] unsigned char* outByte); |
| [id(21), helpstring("method inoutInterface")] HRESULT inoutInterface([in,out] IDispatch** ppdisp); |
| [id(22), helpstring("method inoutStruct")] HRESULT inoutStruct([in,out] IDispatch** inoutVal); |
| [id(23), helpstring("method inoutEnum")] HRESULT inoutEnum([in,out] long * inoutVal); |
| [id(24), helpstring("method inoutSeqAny")] HRESULT inoutSeqAny([in,out] SAFEARRAY(VARIANT)* pArray); |
| [id(25), helpstring("method inoutAny")] HRESULT inoutAny([in,out] VARIANT* inoutVal); |
| [id(26), helpstring("method inoutBool")] HRESULT inoutBool([in,out] VARIANT_BOOL * inoutVal); |
| [id(27), helpstring("method inoutChar")] HRESULT inoutChar([in,out] short* inoutVal); |
| [id(28), helpstring("method inoutString")] HRESULT inoutString([in,out] BSTR *inoutVal); |
| [id(29), helpstring("method inoutFloat")] HRESULT inoutFloat([in,out] float* inoutVal); |
| [id(30), helpstring("method inoutDouble")] HRESULT inoutDouble([in,out] double* inoutVal); |
| [id(31), helpstring("method inoutByte")] HRESULT inoutByte([in,out] unsigned char* inoutVal); |
| [id(32), helpstring("method inoutShort")] HRESULT inoutShort([in,out] short* inoutVal); |
| [id(33), helpstring("method inoutLong")] HRESULT inoutLong([in,out] long* inoutVal); |
| [id(34), helpstring("method inoutValueAll")] HRESULT inoutValuesAll( |
| [in,out] IDispatch** aXSimple, |
| [in,out] IDispatch** aStruct, |
| [in,out] long* aEnum, |
| [in,out] SAFEARRAY( VARIANT)* aSeq, |
| [in,out] VARIANT* aAny, |
| [in,out] VARIANT_BOOL* aBool, |
| [in,out] short* aChar, |
| [in,out] BSTR* aString, |
| [in,out] float* aFloat, |
| [in,out] double* aDouble, |
| [in,out] unsigned char* aByte, |
| [in,out] short* aShort, |
| [in,out] long* aLong); |
| [id(35), helpstring("method inValues")] HRESULT inValues([in]short aChar, [in] long aLong, [in] BSTR aString); |
| [id(36), helpstring("method outSeqByte")] HRESULT outSeqByte([out] SAFEARRAY(unsigned char)* outVal); |
| [id(37), helpstring("method inSeqByte")] HRESULT inSeqByte([in] SAFEARRAY(VARIANT) val); |
| [id(38), helpstring("method inSeqXEventListener")] HRESULT inSeqXEventListener([in] SAFEARRAY(VARIANT) listener, |
| [in] SAFEARRAY(VARIANT) event); |
| |
| }; |
| [ |
| object, |
| uuid(180FF564-6F5C-11D4-8330-005004526AB4), |
| dual, |
| helpstring("ISimple Interface"), |
| pointer_default(unique) |
| ] |
| interface ISimple : IDispatch |
| { |
| [id(1), helpstring("method func")] HRESULT func( [in] BSTR message); |
| [id(2), helpstring("method func2")] HRESULT func2([in] BSTR message); |
| [id(3), helpstring("method func3")] HRESULT func3([in] BSTR message); |
| [propget, id(4), helpstring("property _implementedInterfaces")] HRESULT _implementedInterfaces([out, retval] SAFEARRAY(BSTR) *pVal); |
| }; |
| |
| |
| |
| [ |
| uuid(180FF553-6F5C-11D4-8330-005004526AB4), |
| version(1.0), |
| helpstring("XCallback_Impl 1.0 Type Library") |
| ] |
| library XCALLBACK_IMPLLib |
| { |
| importlib("stdole32.tlb"); |
| importlib("stdole2.tlb"); |
| |
| [ |
| uuid(180FF560-6F5C-11D4-8330-005004526AB4), |
| helpstring("Callback Class") |
| ] |
| coclass Callback |
| { |
| [default] interface ICallback; |
| }; |
| [ |
| uuid(180FF565-6F5C-11D4-8330-005004526AB4), |
| helpstring("Simple Class") |
| ] |
| coclass Simple |
| { |
| [default] interface ISimple; |
| }; |
| }; |
| |
| |