ctxtcall.idl revision 589fd26cedb2b4ebbed14f2964cad03cc8ebbca2
4c221b0da1816acf2ca302b10092df059484468dvboxsync/*
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Copyright (C) 2008 Louis Lenders
4c221b0da1816acf2ca302b10092df059484468dvboxsync *
4c221b0da1816acf2ca302b10092df059484468dvboxsync * This library is free software; you can redistribute it and/or
4c221b0da1816acf2ca302b10092df059484468dvboxsync * modify it under the terms of the GNU Lesser General Public
4c221b0da1816acf2ca302b10092df059484468dvboxsync * License as published by the Free Software Foundation; either
4c221b0da1816acf2ca302b10092df059484468dvboxsync * version 2.1 of the License, or (at your option) any later version.
4c221b0da1816acf2ca302b10092df059484468dvboxsync *
4c221b0da1816acf2ca302b10092df059484468dvboxsync * This library is distributed in the hope that it will be useful,
4c221b0da1816acf2ca302b10092df059484468dvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
4c221b0da1816acf2ca302b10092df059484468dvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Lesser General Public License for more details.
4c221b0da1816acf2ca302b10092df059484468dvboxsync *
4c221b0da1816acf2ca302b10092df059484468dvboxsync * You should have received a copy of the GNU Lesser General Public
4c221b0da1816acf2ca302b10092df059484468dvboxsync * License along with this library; if not, write to the Free Software
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/*
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4c221b0da1816acf2ca302b10092df059484468dvboxsync * other than GPL or LGPL is available it will apply instead, Sun elects to use only
4c221b0da1816acf2ca302b10092df059484468dvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
4c221b0da1816acf2ca302b10092df059484468dvboxsync * a choice of LGPL license versions is made available with the language indicating
4c221b0da1816acf2ca302b10092df059484468dvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
4c221b0da1816acf2ca302b10092df059484468dvboxsync * of the LGPL is applied is otherwise unspecified.
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncimport "wtypes.idl";
4c221b0da1816acf2ca302b10092df059484468dvboxsyncimport "objidl.idl";
4c221b0da1816acf2ca302b10092df059484468dvboxsyncimport "unknwn.idl";
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct tagComCallData
4c221b0da1816acf2ca302b10092df059484468dvboxsync{
4c221b0da1816acf2ca302b10092df059484468dvboxsync DWORD dwDispid;
4c221b0da1816acf2ca302b10092df059484468dvboxsync DWORD dwReserved;
4c221b0da1816acf2ca302b10092df059484468dvboxsync void *pUserDefined;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} ComCallData;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/***************************************************************************
4c221b0da1816acf2ca302b10092df059484468dvboxsync * IContextCallback
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync[
4c221b0da1816acf2ca302b10092df059484468dvboxsync local,
4c221b0da1816acf2ca302b10092df059484468dvboxsync object,
4c221b0da1816acf2ca302b10092df059484468dvboxsync uuid(000001da-0000-0000-c000-000000000046),
4c221b0da1816acf2ca302b10092df059484468dvboxsync pointer_default(unique)
4c221b0da1816acf2ca302b10092df059484468dvboxsync]
4c221b0da1816acf2ca302b10092df059484468dvboxsyncinterface IContextCallback : IUnknown
4c221b0da1816acf2ca302b10092df059484468dvboxsync{
4c221b0da1816acf2ca302b10092df059484468dvboxsync typedef HRESULT (__stdcall *PFNCONTEXTCALL)(ComCallData *pParam);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync HRESULT ContextCallback(
4c221b0da1816acf2ca302b10092df059484468dvboxsync [in] PFNCONTEXTCALL pCallback,
4c221b0da1816acf2ca302b10092df059484468dvboxsync [in] ComCallData *pParam,
4c221b0da1816acf2ca302b10092df059484468dvboxsync [in] REFIID riid,
4c221b0da1816acf2ca302b10092df059484468dvboxsync [in] int iMethod,
4c221b0da1816acf2ca302b10092df059484468dvboxsync [in] IUnknown *pUnk);
4c221b0da1816acf2ca302b10092df059484468dvboxsync}
4c221b0da1816acf2ca302b10092df059484468dvboxsync