Здесь - это некоторый необработанный код C с использованием windows.gaming.input.h
API:
HSTRING gamepadClassName;
if (FAILED(WindowsCreateString(RuntimeClass_Windows_Gaming_Input_Gamepad,
HbArrayLength(RuntimeClass_Windows_Gaming_Input_Gamepad) - 1, &gamepadClassName))) {
Error("Failed to create a WinRT string reference for Windows.Gaming.Input.Gamepad class name.");
}
static IID const gamepadStaticsInterfaceID = { 0x8BBCE529, 0xD49C, 0x39E9, { 0x95, 0x60, 0xE4, 0x7D, 0xDE, 0x96, 0xB7, 0xC8 } };
if (FAILED(RoGetActivationFactory(gamepadClassName, &gamepadStaticsInterfaceID, &HbInputi_Windows_Gamepad_Statics))) {
Error("Failed to get the IGamepadStatics activation factory for Windows.Gaming.Input.Gamepad.");
}
WindowsDeleteString(gamepadClassName);
Есть ли способ избавиться от этого определения gamepadStaticsInterfaceID
GUID в коде? Я пытался использовать IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics
, объявленный в заголовке windows.gaming.input.h
, но тогда у меня есть error LNK2001: unresolved external symbol IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics
.
На какую библиотеку я должен ссылаться, чтобы правильно определить IID___x_ABI_CWindows_CGaming_CInput_CIGamepadStatics
?