[PATCH v2 1/5] include/windows.foundation.collections.idl: Add IVector<T> interface.

Bernhard Kölbl besentv at gmail.com
Mon Jan 31 06:51:45 CST 2022


Signed-off-by: Bernhard Kölbl <besentv at gmail.com>
---
v2: Added missing parameters and attributes.
This and more incoming patches are part of a bigger branch:
https://github.com/besentv/wine-patches/tree/main/windows.media.speech
---
 include/windows.foundation.collections.idl | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/include/windows.foundation.collections.idl b/include/windows.foundation.collections.idl
index 876e15336a2..a2d2d75ec4f 100644
--- a/include/windows.foundation.collections.idl
+++ b/include/windows.foundation.collections.idl
@@ -118,6 +118,26 @@ cpp_quote("#endif")
                 HRESULT IndexOf([in, optional] T element, [out] UINT32 *index, [out, retval] BOOLEAN *value);
                 HRESULT GetMany([in] UINT32 start_index, [in] UINT32 items_size, [out] T *items, [out, retval] UINT32 *value);
             }
+
+            [
+                contract(Windows.Foundation.FoundationContract, 1.0),
+                uuid(913337e9-11a1-4345-a3a2-4e7f956e222d)
+            ]
+            interface IVector<T> : IInspectable
+            {
+                HRESULT GetAt([in, optional] UINT32 index, [out, retval] T *value);
+                [propget] HRESULT Size([out, retval] UINT32 *value);
+                HRESULT GetView([out, retval] IVectorView<T> **value);
+                HRESULT IndexOf([in, optional] T element, [out] UINT32 *index, [out, retval] BOOLEAN *value);
+                HRESULT SetAt([in] UINT32 index, [in, optional] T value);
+                HRESULT InsertAt([in] UINT32 index, [in, optional] T value);
+                HRESULT RemoveAt([in] UINT32 index);
+                HRESULT Append([in, optional] T value);
+                HRESULT RemoveAtEnd();
+                HRESULT Clear();
+                HRESULT GetMany([in] UINT32 start_index, [in] UINT32 items_size, [out] T *items, [out, retval] UINT32 *value);
+                HRESULT ReplaceAll([in] UINT32 count, [in] T *items);
+            }
         }
 #endif
     }
-- 
2.34.1




More information about the wine-devel mailing list