[PATCH 1/2] include: Add roparameterizediid.idl

Alex Henrie alexhenrie24 at gmail.com
Sun Nov 12 23:00:53 CST 2017


Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
Microsoft only distributes the header file, so I wrote the IDL based on
MSDN documentation.
---
 include/Makefile.in            |  1 +
 include/roparameterizediid.idl | 91 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100644 include/roparameterizediid.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index cc42f66ebd..d453dc8568 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -146,6 +146,7 @@ IDL_SRCS = \
 	pstore.idl \
 	qedit.idl \
 	richole.idl \
+	roparameterizediid.idl \
 	row.idl \
 	rowchg.idl \
 	rowpos.idl \
diff --git a/include/roparameterizediid.idl b/include/roparameterizediid.idl
new file mode 100644
index 0000000000..5c3ffd7b5c
--- /dev/null
+++ b/include/roparameterizediid.idl
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2017 Alex Henrie
+ *
+ * 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 "unknwn.idl";
+
+typedef void *ROPARAMIIDHANDLE;
+
+[
+    object
+]
+interface IRoSimpleMetaDataBuilder : IUnknown
+{
+    HRESULT SetDelegate(
+        GUID iid
+    );
+
+    HRESULT SetEnum(
+        const WCHAR *typename,
+        const WCHAR *basetype
+    );
+
+    HRESULT SetInterfaceGroupParameterizedDefault(
+        const WCHAR *typename,
+        UINT32 name_element_count,
+        const WCHAR **name_elements
+    );
+
+    HRESULT SetInterfaceGroupSimpleDefault(
+        const WCHAR *typename,
+        const WCHAR *default_name,
+        const GUID *default_iid
+    );
+
+    HRESULT SetParameterizedDelegate(
+        GUID iid,
+        UINT32 arg_count
+    );
+
+    HRESULT SetParameterizedInterface(
+        GUID iid,
+        UINT32 arg_count
+    );
+
+    HRESULT SetRuntimeClassParameterizedDefault(
+        GUID iid,
+        UINT32 name_element_count,
+        const WCHAR **name_elements
+    );
+
+    HRESULT SetRuntimeClassSimpleDefault(
+        const WCHAR *typename,
+        const WCHAR *default_name,
+        const GUID *default_iid
+    );
+
+    HRESULT SetStruct(
+        const WCHAR *typename,
+        UINT32 field_count,
+        const WCHAR **field_typenames
+    );
+
+    HRESULT SetWinRtInterface(
+        GUID iid
+    );
+}
+
+[
+    object
+]
+interface IRoMetaDataLocator : IUnknown
+{
+    HRESULT Locate(
+        const WCHAR *typename,
+        IRoSimpleMetaDataBuilder *out
+    );
+}
-- 
2.15.0




More information about the wine-devel mailing list