[PATCH 4/5] widl: Use "string" for HSTRING in signatures for generated UUID.

Rémi Bernon rbernon at codeweavers.com
Tue Jan 25 03:13:38 CST 2022


Fixes the UUID of IVectorView<HSTRING*> to match MIDL for instance.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---

This does the following kind of change to the generated headers:

> diff --git a/windows.foundation.h b/windows.foundation.h
> index 15311b7..f7202e0 100644
> --- a/windows.foundation.h
> +++ b/windows.foundation.h
> @@ -880,7 +880,7 @@ static FORCEINLINE HRESULT __FIAsyncOperation_1_boolean_GetResults(__FIAsyncOper
>  #ifndef ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__
>  #define ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__
>  
> -DEFINE_GUID(IID___FIVectorView_1_HSTRING, 0xfca5679c, 0xbfd4, 0x5187, 0x8b,0x2d, 0xde,0x22,0x50,0x49,0xb3,0x46);
> +DEFINE_GUID(IID___FIVectorView_1_HSTRING, 0x2f13c006, 0xa03a, 0x5f69, 0xb0,0x90, 0x75,0xa4,0x3e,0x33,0x42,0x3e);
>  #if defined(__cplusplus) && !defined(CINTERFACE)
>  } /* extern "C" */
>  namespace ABI {
> @@ -888,7 +888,7 @@ namespace ABI {
>          namespace Foundation {
>              namespace Collections {
>                  template<>
> -                MIDL_INTERFACE("fca5679c-bfd4-5187-8b2d-de225049b346")
> +                MIDL_INTERFACE("2f13c006-a03a-5f69-b090-75a43e33423e")
>                  IVectorView<HSTRING > : IVectorView_impl<HSTRING >
>                  {
>                  };

And this matches MIDL UUID for IVectorView<HSTRING>.

 tools/widl/typetree.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/widl/typetree.c b/tools/widl/typetree.c
index f4175b1ae45..94e0b8c59b5 100644
--- a/tools/widl/typetree.c
+++ b/tools/widl/typetree.c
@@ -197,6 +197,7 @@ static size_t append_type_signature(char **buf, size_t *len, size_t pos, type_t
         return n;
     case TYPE_ALIAS:
         if (!strcmp(type->name, "boolean")) n += strappend(buf, len, pos + n, "b1");
+        else if (!strcmp(type->name, "HSTRING")) n += strappend(buf, len, pos + n, "string");
         else n += append_type_signature(buf, len, pos + n, type->details.alias.aliasee.type);
         return n;
     case TYPE_STRUCT:
-- 
2.34.1




More information about the wine-devel mailing list