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 '
첫 번째 두 번째 DirectInput8Create
IID_IDirectInput8
에 참조된다 di->EnumDevices...
시작 라인을 참조한다.
나는 그것이 중요한지 확인하기 위해 유니 코드 설정으로 놀아 보았습니다. 아니.
매우 기본적인 것 같습니다.
[DirectInput 샘플] (https://code.msdn.microsoft.com/windowsdesktop/DirectInput-Samples-8ac6f5e3)을 참조하십시오. n MSDN 코드 갤러리. –