SDL_windows_gaming_input.c: work-around to build against old SDKs.

Fixes https://github.com/libsdl-org/SDL/issues/15646
This commit is contained in:
Ozkan Sezer
2026-05-19 17:25:56 +03:00
parent 169480a352
commit 42c4a0e30f

View File

@@ -62,7 +62,7 @@ typedef struct WindowsGamingInputControllerState
int steam_virtual_gamepad_slot;
} WindowsGamingInputControllerState;
typedef HRESULT(WINAPI *CoIncrementMTAUsage_t)(CO_MTA_USAGE_COOKIE *pCookie);
typedef HRESULT(WINAPI *CoIncrementMTAUsage_t)(HANDLE* pCookie); // CO_MTA_USAGE_COOKIE*
typedef HRESULT(WINAPI *RoGetActivationFactory_t)(HSTRING activatableClassId, REFIID iid, void **factory);
typedef HRESULT(WINAPI *WindowsCreateStringReference_t)(PCWSTR sourceString, UINT32 length, HSTRING_HEADER *hstringHeader, HSTRING *string);
typedef HRESULT(WINAPI *WindowsDeleteString_t)(HSTRING string);
@@ -611,7 +611,7 @@ static bool WGI_JoystickInit(void)
* As a workaround, we will keep a reference to the MTA to prevent COM from unloading DLLs later.
* See https://github.com/libsdl-org/SDL/issues/5552 for more details.
*/
static CO_MTA_USAGE_COOKIE cookie = NULL;
static HANDLE cookie = NULL; // CO_MTA_USAGE_COOKIE*
if (!cookie) {
hr = wgi.CoIncrementMTAUsage(&cookie);
if (FAILED(hr)) {