From: Rémi Bernon rbernon@codeweavers.com
--- include/combaseapi.h | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/include/combaseapi.h b/include/combaseapi.h index 41461f22e98..7343a72fbbb 100644 --- a/include/combaseapi.h +++ b/include/combaseapi.h @@ -53,6 +53,15 @@ enum AgileReferenceOptions HRESULT WINAPI CoDecodeProxy(DWORD client_pid, UINT64 proxy_addr, ServerInformation *server_info); HRESULT WINAPI RoGetAgileReference(enum AgileReferenceOptions options, REFIID riid, IUnknown *obj, IAgileReference **agile_reference);
+#ifdef __cplusplus +extern "C++" template<typename T> void **IID_PPV_ARGS_Helper(T **obj) +{ + (void)static_cast<IUnknown *>(*obj); + return reinterpret_cast<void **>(obj); +} +#define IID_PPV_ARGS(obj) __uuidof(**(obj)), IID_PPV_ARGS_Helper(obj) +#endif /* __cplusplus */ + #ifdef __cplusplus } #endif