reactos/sdk/include/psdk/cor.idl

108 lines
3.3 KiB
Text

/*
* Copyright (C) 2007 Francois Gouget
*
* This library is free software; you can redistribute it and/or
* 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
*/
import "propidl.idl";
cpp_quote("#include <ole2.h>")
/* FIXME: #include "specstrings.h" */
cpp_quote("#include <corerror.h>")
cpp_quote("#include <corhdr.h>")
cpp_quote("DEFINE_GUID(CLSID_CorMetaDataDispenser, 0xe5cb7a31,0x7512,0x11d2,0x89,0xce,0x00,0x80,0xc7,0x92,0xe5,0xd8);")
cpp_quote("DEFINE_GUID(CLSID_CorMetaDataDispenserRuntime, 0x1ec2de53,0x75cc,0x11d2,0x97,0x75,0x00,0xa0,0xc9,0xb4,0xd5,0x0c);")
[
object,
local,
uuid(809c652e-7396-11d2-9771-00a0c9b4d50c)
]
interface IMetaDataDispenser : IUnknown
{
HRESULT DefineScope(
[in] REFCLSID rclsid,
[in] DWORD dwCreateFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk);
HRESULT OpenScope(
[in] LPCWSTR szScope,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk);
HRESULT OpenScopeOnMemory(
[in] const void *pData,
[in] ULONG cbData,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk);
}
[
object,
local,
uuid(31bcfce2-dafb-11d2-9f81-00c04f79a0a3)
]
interface IMetaDataDispenserEx : IMetaDataDispenser
{
HRESULT SetOption(
[in] REFGUID optionid,
[in] const VARIANT *value);
HRESULT GetOption(
[in] REFGUID optionid,
[out] VARIANT *pvalue);
HRESULT OpenScopeOnITypeInfo(
[in] ITypeInfo *pITI,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk);
HRESULT GetCORSystemDirectory(
[out, size_is(cchBuffer)] LPWSTR szBuffer,
[in] DWORD cchBuffer,
[out] DWORD *pchBuffer);
HRESULT FindAssembly(
[in] LPCWSTR szAppBase,
[in] LPCWSTR szPrivateBin,
[in] LPCWSTR szGlobalBin,
[in] LPCWSTR szAssemblyName,
[out, size_is(cchName)] LPWSTR szName,
[in] ULONG cchName,
[out] ULONG *pcName);
HRESULT FindAssemblyModule(
[in] LPCWSTR szAppBase,
[in] LPCWSTR szPrivateBin,
[in] LPCWSTR szGlobalBin,
[in] LPCWSTR szAssemblyName,
[in] LPCWSTR szModuleName,
[out, size_is(cchName)] LPWSTR szName,
[in] ULONG cchName,
[out] ULONG *pcName);
}
cpp_quote("BOOL WINAPI _CorDllMain(HINSTANCE,DWORD,LPVOID);")
cpp_quote("__int32 WINAPI _CorExeMain(void);")
cpp_quote("__int32 WINAPI _CorExeMain2(PBYTE,DWORD,LPWSTR,LPWSTR,LPWSTR);")
cpp_quote("VOID WINAPI _CorImageUnloading(PVOID);")
cpp_quote("HRESULT WINAPI _CorValidateImage(PVOID*,LPCWSTR);")
cpp_quote("HRESULT WINAPI CoInitializeCor(DWORD);")
cpp_quote("void WINAPI CoUninitializeCor(void);")