include: Add definitions for IMetaDataDispenserEx.
authorVincent Povirk <vincent@codeweavers.com>
Tue, 5 Oct 2010 17:34:28 +0000 (12:34 -0500)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 11 Nov 2010 15:41:36 +0000 (16:41 +0100)
include/cor.idl

index 4c5e639b4fd848698e4a07c1ed34be46ec0ae902..8d8154bf4d5f0010fa8ace223dde65d19d7054b4 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
+import "propidl.idl";
+
 cpp_quote("#include <ole2.h>")
 /* FIXME: #include "specstrings.h" */
 /* FIXME: #include "corerror.h" */
 /* FIXME: #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);")