Rémi Bernon (@rbernon) commented about include/dxcore_interface.h:
+ STDMETHOD_(BOOL, IsSetStateSupported) (THIS_ DXCoreAdapterState property) PURE; + STDMETHOD(SetState) (THIS_ DXCoreAdapterState state, size_t input_size, const void *input_state, size_t data_size, const void *input_data) PURE; + STDMETHOD(GetFactory) (THIS_ REFIID riid, IUnknown **ppv) PURE; + + #ifdef __cplusplus + template <class T> + HRESULT GetProperty(DXCoreAdapterProperty property, (sizeof(T)) T *buffer) + { + return GetProperty(property, sizeof(T), (void *)buffer); + } + + template <class T1, class T2> + HRESULT QueryState(DXCoreAdapterState state, (sizeof(T1)) const T1 *input_state, (sizeof(T2)) T2 *buffer) + { + return QueryState(state, sizeof(T1), (const void *)input_state, sizeof(T2), (void *)buffer); + }
HRESULT QueryState(DXCoreAdapterState state, const T1 *state_details, T2 *buffer)
{
return QueryState(state, sizeof(T1), (const void *)state_details, sizeof(T2), (void *)buffer);
}
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3607#note_43285