Я пытаюсь перечислить Joysticks в DirectInput.'EnumDevices': не является членом 'IDirectInput8A'
unsigned int GetCount()
{
unsigned int counter;
LPDIRECTINPUT8 di;
HRESULT hr;
counter = 0;
di = NULL;
if (SUCCEEDED(hr = DirectInput8Create(GetModuleHandle(NULL),
DIRECTINPUT_VERSION,
IID_IDirectInput8,
(VOID**)&di, NULL)))
{
di->EnumDevices(DI8DEVCLASS_GAMECTRL, countCallback, &counter, DIEDFL_ATTACHEDONLY);
}
return counter;
}
FYI - Это файл c с использованием компилятора C.
Я получаю эти любопытные ошибки.
error C2039: 'EnumDevices' : is not a member of 'IDirectInput8A'
error C2440: 'function' : cannot convert from 'const GUID' to 'const IID *const '
Первый из них имеет в виду строку, которая начинается di->EnumDevices...
Второй имеет в виду IID_IDirectInput8
в DirectInput8Create
.
Я играл с настройками UNICODE, чтобы узнать, имеет ли это значение. Неа.
Это ощущение, что-то очень простое.
Возможно, вы захотите увидеть [образцы DirectInput] (https://code.msdn.microsoft.com/windowsdesktop/DirectInput-Samples-8ac6f5e3) o n Галерея файлов MSDN. –