1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski// so_activex.idl : IDL source for so_activex.dll 25*b1cdbd2cSJim Jagielski// 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski// This file will be processed by the MIDL tool to 28*b1cdbd2cSJim Jagielski// produce the type library (so_activex.tlb) and marshalling code. 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielskiimport "oaidl.idl"; 31*b1cdbd2cSJim Jagielskiimport "ocidl.idl"; 32*b1cdbd2cSJim Jagielski#include "olectl.h" 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski [ 36*b1cdbd2cSJim Jagielski object, 37*b1cdbd2cSJim Jagielski uuid(DACF7E3F-626B-4BF9-964B-F4910C843711), 38*b1cdbd2cSJim Jagielski dual, 39*b1cdbd2cSJim Jagielski helpstring("ISOActiveX Interface"), 40*b1cdbd2cSJim Jagielski pointer_default(unique) 41*b1cdbd2cSJim Jagielski ] 42*b1cdbd2cSJim Jagielski interface ISOActiveX : IDispatch 43*b1cdbd2cSJim Jagielski { 44*b1cdbd2cSJim Jagielski }; 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski[ 47*b1cdbd2cSJim Jagielski object, 48*b1cdbd2cSJim Jagielski uuid(BF5D10F3-8A10-4A0B-B150-2B6AA2D7E118), 49*b1cdbd2cSJim Jagielski dual, 50*b1cdbd2cSJim Jagielski helpstring("ISOComWindowPeer Interface"), 51*b1cdbd2cSJim Jagielski pointer_default(unique) 52*b1cdbd2cSJim Jagielski] 53*b1cdbd2cSJim Jagielskiinterface ISOComWindowPeer : IDispatch 54*b1cdbd2cSJim Jagielski{ 55*b1cdbd2cSJim Jagielski [id(1), helpstring("method getWindowHandle")] 56*b1cdbd2cSJim Jagielski HRESULT getWindowHandle( [in] SAFEARRAY(VARIANT) procId, 57*b1cdbd2cSJim Jagielski [in] short s, 58*b1cdbd2cSJim Jagielski [out,retval] long* ret); 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski [id(2), helpstring("method getToolkit")] 61*b1cdbd2cSJim Jagielski HRESULT getToolkit( [out,retval] IDispatch** retVal ); 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski [id(3), helpstring("method setPointer")] 64*b1cdbd2cSJim Jagielski HRESULT setPointer( [in] IDispatch* xPointer ); 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski [id(4), helpstring("method setBackground")] 67*b1cdbd2cSJim Jagielski HRESULT setBackground( [in] int nColor ); 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielski [id(5), helpstring("method invalidate")] 70*b1cdbd2cSJim Jagielski HRESULT invalidate( [in] short ); 71*b1cdbd2cSJim Jagielski 72*b1cdbd2cSJim Jagielski [id(6), helpstring("method invalidateRect")] 73*b1cdbd2cSJim Jagielski HRESULT invalidateRect( [in] IDispatch* aRect, [in] short nFlags ); 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski [id(7), helpstring("method dispose")] 76*b1cdbd2cSJim Jagielski HRESULT dispose(); 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski [id(8), helpstring("method addEventListener")] 79*b1cdbd2cSJim Jagielski HRESULT addEventListener( [in] IDispatch* xListener ); 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski [id(9), helpstring("method removeEventListener")] 82*b1cdbd2cSJim Jagielski HRESULT removeEventListener( [in] IDispatch* xListener ); 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski [propget, id(10), helpstring("property_implementedInterfaces")] 85*b1cdbd2cSJim Jagielski HRESULT Bridge_implementedInterfaces([out, retval] SAFEARRAY(BSTR) *pVal); 86*b1cdbd2cSJim Jagielski}; 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski[ 89*b1cdbd2cSJim Jagielski uuid(61FA3F13-8061-4796-B055-3697ED28CB38), 90*b1cdbd2cSJim Jagielski version(1.0), 91*b1cdbd2cSJim Jagielski helpstring("so_activex 1.0 Type Library") 92*b1cdbd2cSJim Jagielski] 93*b1cdbd2cSJim Jagielskilibrary SO_ACTIVEXLib 94*b1cdbd2cSJim Jagielski{ 95*b1cdbd2cSJim Jagielski importlib("stdole32.tlb"); 96*b1cdbd2cSJim Jagielski importlib("stdole2.tlb"); 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski [ 99*b1cdbd2cSJim Jagielski uuid(7F760565-5719-4F04-BA86-112C474B10EA), 100*b1cdbd2cSJim Jagielski helpstring("_ISOActiveXEvents Interface") 101*b1cdbd2cSJim Jagielski ] 102*b1cdbd2cSJim Jagielski dispinterface _ISOActiveXEvents 103*b1cdbd2cSJim Jagielski { 104*b1cdbd2cSJim Jagielski properties: 105*b1cdbd2cSJim Jagielski methods: 106*b1cdbd2cSJim Jagielski }; 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski [ 109*b1cdbd2cSJim Jagielski uuid(67F2A879-82D5-4A6D-8CC5-FFB3C114B69D), 110*b1cdbd2cSJim Jagielski helpstring("SOActiveX Class") 111*b1cdbd2cSJim Jagielski ] 112*b1cdbd2cSJim Jagielski coclass SOActiveX 113*b1cdbd2cSJim Jagielski { 114*b1cdbd2cSJim Jagielski [default] interface ISOActiveX; 115*b1cdbd2cSJim Jagielski [default, source] dispinterface _ISOActiveXEvents; 116*b1cdbd2cSJim Jagielski }; 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski [ 119*b1cdbd2cSJim Jagielski uuid(EE51BD3E-8BB6-4FB8-B319-F65B1BE3B21D), 120*b1cdbd2cSJim Jagielski helpstring("SOComWindowPeer Class") 121*b1cdbd2cSJim Jagielski ] 122*b1cdbd2cSJim Jagielski coclass SOComWindowPeer 123*b1cdbd2cSJim Jagielski { 124*b1cdbd2cSJim Jagielski [default] interface ISOComWindowPeer; 125*b1cdbd2cSJim Jagielski }; 126*b1cdbd2cSJim Jagielski}; 127*b1cdbd2cSJim Jagielski 128