diff options
Diffstat (limited to 'public/sdk/inc/unknwn.idl')
-rw-r--r-- | public/sdk/inc/unknwn.idl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/public/sdk/inc/unknwn.idl b/public/sdk/inc/unknwn.idl new file mode 100644 index 000000000..d80bcac77 --- /dev/null +++ b/public/sdk/inc/unknwn.idl @@ -0,0 +1,75 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1996. +// +// File: unknwn.idl +// +// Contents: IUnknown interface definition +// +// +//-------------------------------------------------------------------------- + +cpp_quote("//+-------------------------------------------------------------------------") +cpp_quote("//") +cpp_quote("// Microsoft Windows") +cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1996.") +cpp_quote("//") +cpp_quote("//--------------------------------------------------------------------------") + +#ifndef DO_NO_IMPORTS +import "wtypes.idl"; +#endif + +[ + local, + object, + uuid(00000000-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IUnknown +{ + typedef [unique] IUnknown *LPUNKNOWN; + +cpp_quote("//////////////////////////////////////////////////////////////////") +cpp_quote("// IID_IUnknown and all other system IIDs are provided in UUID.LIB") +cpp_quote("// Link that library in with your proxies, clients and servers") +cpp_quote("//////////////////////////////////////////////////////////////////") + + HRESULT QueryInterface( + [in] REFIID riid, + [out, iid_is(riid)] void **ppvObject); + ULONG AddRef(); + ULONG Release(); +} + +[ + object, + uuid(00000001-0000-0000-C000-000000000046), + pointer_default(unique) +] + +interface IClassFactory : IUnknown +{ + typedef [unique] IClassFactory * LPCLASSFACTORY; + + [local] + HRESULT CreateInstance( + [in, unique] IUnknown * pUnkOuter, + [in] REFIID riid, + [out, iid_is(riid)] void **ppvObject); + + [call_as(CreateInstance)] + HRESULT RemoteCreateInstance( + [in] REFIID riid, + [out, iid_is(riid)] IUnknown ** ppvObject); + + [local] + HRESULT LockServer( + [in] BOOL fLock); + + [call_as(LockServer)] + HRESULT __stdcall RemoteLockServer( + [in] BOOL fLock); +} |