objidl.idl revision 554f00fe75489f3f3ce7fbb6d126ce1d2c5c922c
/*
* Copyright 2002 Ove Kaaven
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Sun elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
import "unknwn.idl";
interface IStream;
interface IEnumString;
interface IRunningObjectTable;
interface IMoniker;
interface IAdviseSink;
interface IAsyncManager;
interface ISynchronize;
} COSERVERINFO;
/******************** Fundamentals ********************/
[
]
{
}
[
]
{
}
[
]
interface IStdMarshalInfo : IUnknown
{
}
[
]
interface IExternalConnection : IUnknown
{
typedef enum tagEXTCONN {
EXTCONN_STRONG = 0x0001,
EXTCONN_WEAK = 0x0002,
EXTCONN_CALLABLE = 0x0004
} EXTCONN;
}
[
]
{
} MULTI_QI;
}
[
]
{
void Free(
void HeapMinimize();
}
[
]
interface IMallocSpy : IUnknown
{
void PostFree(
int PostDidAlloc(
void PreHeapMinimize();
void PostHeapMinimize();
}
[
]
interface IInternalUnknown : IUnknown
{
}
[
]
interface IEnumUnknown : IUnknown
{
[local]
}
[
version(1.0),
]
interface ISurrogate : IUnknown
{
}
[
]
interface IGlobalInterfaceTable : IUnknown
{
}
/******************** Monikers ********************/
[
]
{
} BIND_OPTS, *LPBIND_OPTS;
/* FIXME: C++ crap */
} BIND_OPTS2, *LPBIND_OPTS2;
typedef enum tagBIND_FLAGS {
BIND_MAYBOTHERUSER = 1,
} BIND_FLAGS;
[local]
[local]
}
[
]
interface IEnumMoniker : IUnknown
{
[local]
}
[
]
interface IRunnableObject : IUnknown
{
[local]
}
/* GetObject is defined in wingdi.h as WINELIB_NAME_AW(GetObject),
* which resolves to a compilation failure if WINE_NO_UNICODE_MACROS is defined,
* but GetObject is used as a valid method name below, so we have
* to undefine it in that case */
cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
cpp_quote("#undef GetObject")
cpp_quote("#endif")
[
]
interface IRunningObjectTable : IUnknown
{
}
[
]
{
}
[
]
interface IPersistStream : IPersist
{
}
[
]
interface IMoniker : IPersistStream
{
MKSYS_NONE = 0,
MKSYS_FILEMONIKER = 2,
MKSYS_ANTIMONIKER = 3,
MKSYS_ITEMMONIKER = 4,
MKSYS_POINTERMONIKER = 5,
/* MKSYS_URLMONIKER = 6, */ /* defined in urlmon.idl */
} MKSYS;
MKRREDUCE_ALL = 0
} MKRREDUCE;
[local]
[local]
}
[
]
{
}
[
]
interface IEnumString : IUnknown
{
[local]
}
[
]
interface IClassActivator : IUnknown
{
}
/******************** Storage ********************/
[
]
interface ISequentialStream : IUnknown
{
[local]
void *pv,
byte *pv,
[local]
}
[
]
interface IStream : ISequentialStream
{
} STATSTG;
STGTY_STORAGE = 1,
STGTY_STREAM = 2,
STGTY_LOCKBYTES = 3,
STGTY_PROPERTY = 4
} STGTY;
typedef enum tagSTREAM_SEEK {
STREAM_SEEK_SET = 0,
STREAM_SEEK_CUR = 1,
STREAM_SEEK_END = 2
} STREAM_SEEK;
/* these are defined in Linux's fcntl.h,
* undefine them to avoid conflicts */
cpp_quote("#undef LOCK_MAND")
cpp_quote("#undef LOCK_READ")
cpp_quote("#undef LOCK_WRITE")
cpp_quote("#undef LOCK_RW")
typedef enum tagLOCKTYPE {
LOCK_WRITE = 1,
LOCK_EXCLUSIVE = 2,
LOCK_ONLYONCE = 4
} LOCKTYPE;
[local]
[local]
}
[
]
interface IEnumSTATSTG : IUnknown
{
[local]
}
[
]
{
} RemSNB;
[local]
[local]
}
[
]
interface IPersistFile : IPersist
{
}
[
]
interface IPersistStorage : IPersist
{
}
[
]
interface IRootStorage : IUnknown
{
}
[
]
interface ILockBytes : IUnknown
{
[local]
void *pv,
byte *pv,
[local]
}
[
]
interface IFillLockBytes : IUnknown
{
[local]
[local]
}
[
]
interface IProgressNotify : IUnknown
{
}
[
]
interface ILayoutStorage : IUnknown
{
}
[
]
interface IBlockingLock : IUnknown
{
}
[
]
interface ITimeAndNoticeControl : IUnknown
{
}
[
]
interface IOplockStorage: IUnknown
{
}
/******************** Data Object ********************/
[
]
interface IEnumFORMATETC : IUnknown
{
} FORMATETC, *LPFORMATETC;
[local]
}
[
]
interface IEnumSTATDATA : IUnknown
{
ADVF_NODATA = 1,
ADVF_PRIMEFIRST = 2,
ADVF_ONLYONCE = 4,
ADVF_DATAONSTOP = 64,
ADVFCACHE_NOHANDLER = 8,
ADVFCACHE_FORCEBUILTIN = 16,
ADVFCACHE_ONSAVE = 32
} ADVF;
{
} STATDATA, *LPSTATDATA;
[local]
}
[
]
interface IAdviseSink : IUnknown
{
TYMED_HGLOBAL = 1,
TYMED_FILE = 2,
TYMED_ISTREAM = 4,
TYMED_ISTORAGE = 8,
TYMED_GDI = 16,
TYMED_MFPICT = 32,
TYMED_ENHMF = 64,
TYMED_NULL = 0
} TYMED;
unsigned long pUnkForRelease;
} RemSTGMEDIUM;
[default] ;
} uSTGMEDIUM;
/* copied from wingdi.h */
default: wireHGLOBAL hGeneric;
} GDI_OBJECT;
case TYMED_NULL: ;
long ContextFlags;
long fPassOwnership;
long ContextFlags;
long fPassOwnership;
[local]
void OnDataChange(
[local]
void OnViewChange(
[local]
void OnRename(
[local]
void OnSave();
[local]
void OnClose();
}
[
]
interface IAdviseSink2 : IAdviseSink
{
[local]
void OnLinkSrcChange(
}
[
]
interface IDataObject : IUnknown
{
typedef enum tagDATADIR {
DATADIR_GET = 1,
DATADIR_SET = 2
} DATADIR;
[local]
[local]
[local]
}
[
]
interface IDataAdviseHolder : IUnknown
{
}
/******************** Remoting ********************/
[
]
interface IMessageFilter : IUnknown
{
typedef enum tagCALLTYPE {
CALLTYPE_TOPLEVEL = 1,
CALLTYPE_NESTED = 2,
CALLTYPE_ASYNC = 3,
} CALLTYPE;
typedef enum tagSERVERCALL {
SERVERCALL_ISHANDLED = 0,
SERVERCALL_REJECTED = 1,
} SERVERCALL;
typedef enum tagPENDINGTYPE {
PENDINGTYPE_TOPLEVEL = 1,
} PENDINGTYPE;
typedef enum tagPENDINGMSG {
} PENDINGMSG;
}
[
]
interface IRpcChannelBuffer : IUnknown
{
void *reserved1;
void *Buffer;
void *reserved2[5];
[out] void **ppvDestContext);
}
[
]
interface IRpcChannelBuffer2 : IRpcChannelBuffer
{
}
[
]
interface IRpcChannelBuffer3 : IRpcChannelBuffer2
{
[out] void **pInterface);
[out] void **ppvDestContext);
}
[
]
interface IAsyncRpcChannelBuffer : IRpcChannelBuffer2
{
[out] void **ppvDestContext);
}
[
]
interface IRpcSyntaxNegotiate : IUnknown
{
}
[
]
interface IRpcProxyBuffer : IUnknown
{
void Disconnect();
}
[
]
interface IRpcStubBuffer : IUnknown
{
void Disconnect();
void **ppv);
void DebugServerRelease(
void *pv);
}
[
]
interface IPSFactoryBuffer : IUnknown
{
}
[
]
interface IChannelHook : IUnknown
{
void *pObject;
void ClientGetSize(
void ClientFillBuffer(
[in] void *pDataBuffer);
void ClientNotify(
[in] void *pDataBuffer,
void ServerNotify(
[in] void *pDataBuffer,
void ServerGetSize(
void ServerFillBuffer(
[in] void *pDataBuffer,
}
/******************** Connection Points ********************/
/* FIXME */
/******************** DCOM ********************/
[
]
interface IClientSecurity : IUnknown
{
void *pAuthInfo;
EOAC_NONE = 0x0,
EOAC_MUTUAL_AUTH = 0x1,
EOAC_STATIC_CLOAKING = 0x20,
EOAC_DYNAMIC_CLOAKING = 0x40,
EOAC_ANY_AUTHORITY = 0x80,
EOAC_MAKE_FULLSIC = 0x100,
EOAC_DEFAULT = 0x800,
}
[
]
interface IServerSecurity : IUnknown
{
}
[
]
interface IAsyncSetup : IUnknown
{
}
[
]
interface IDirectWriterLock : IUnknown
{
}
[
]
interface ISynchronize : IUnknown
{
}
[
]
interface ISynchronizeHandle : IUnknown
{
}
[
]
interface ISynchronizeEvent : ISynchronizeHandle
{
}
[
]
interface ISynchronizeContainer : IUnknown
{
}
[
]
interface ISynchronizeMutex : ISynchronize
{
}
[
]
interface ICancelMethodCalls : IUnknown
{
}
[
]
interface IAsyncManager : IUnknown
{
typedef enum tagDCOM_CALL_STATE {
DCOM_NONE = 0,
DCOM_CALL_COMPLETE = 1,
[out] void **pInterface);
}
[
]
interface ICallFactory : IUnknown
{
}
[
]
interface IRpcOptions : IUnknown
{
}
enum {
COMBND_RPCTIMEOUT = 1,
};
enum {
};
[
]
interface IRpcHelper : IUnknown
{
}
[
]
interface IReleaseMarshalBuffers : IUnknown
{
}
[
]
interface IWaitMultiple : IUnknown
{
}
[
]
{
}
[
]
interface IForegroundTransfer : IUnknown
{
[in] void *lpvReserved);
}
[
]
interface IAddrTrackingControl : IUnknown
{
}
[
]
interface IAddrExclusionControl : IUnknown
{
}
APTTYPE_CURRENT = -1,
APTTYPE_STA = 0,
APTTYPE_MTA = 1,
APTTYPE_NA = 2,
APTTYPE_MAINSTA = 3
} APTTYPE;
} THDTYPE;
[
]
interface IComThreadingInfo : IUnknown
{
}
[
]
interface IProcessInitControl : IUnknown
{
}
[
]
interface IInitializeSpy : IUnknown
{
}
[
]
interface IThumbnailExtractor : IUnknown
{
}
cpp_quote("#ifdef USE_COM_CONTEXT_DEF")
{
[
]
interface IEnumContextProps : IUnknown
{
}
[
]
{
}
cpp_quote("#endif /* defined USE_COM_CONTEXT_DEF */")