On 9/3/20 1:28 PM, Alistair Leslie-Hughes wrote:
+typedef struct tagXHR_COOKIE +{ + [ref, string] WCHAR *url; + [ref, string] WCHAR *name; + [unique, string] WCHAR *value; + [unique, string] WCHAR *p3_policy; + FILETIME expire_time; + DWORD flags; +} XHR_COOKIE; Fields names do not match public definition.
+interface IXMLHTTPRequest3 : IXMLHTTPRequest2 +{ + HRESULT SetClientCertificate([in] DWORD hash_size, [in] const BYTE *hash, [in] const WCHAR *pin); +}; No need to terminate interface block like that.
+[ + object, + uuid(A44A9299-E321-40DE-8866-341B41669162), + helpstring("IXMLHTTPRequest2Callback Interface"), + pointer_default(ref) +] Let's make uuid lowercase for consistency. +[ + helpstring("Free Threaded XML HTTP Request class 6.0"), + progid("Msxml2.FreeThreadedXMLHTTP60.6.0"), + threading(both), + uuid(88d96a09-f192-11d4-a65f-0040963251e5) +] +coclass FreeThreadedXMLHTTP60 +{ + [default] interface IXMLHTTPRequest2; +} + Public header does not have progid() for this coclass, and does not have default attribute.
Missing marshaling attributes for methods arguments are still missing in v2.