Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ directX directInput键盘抛出E_访问被拒绝_C++_Windows_Directx - Fatal编程技术网

C++ directX directInput键盘抛出E_访问被拒绝

C++ directX directInput键盘抛出E_访问被拒绝,c++,windows,directx,C++,Windows,Directx,我正在尝试使用DirectInput键盘,我的代码抛出了一个奇怪的错误。 我可以完成所有的创建和设置,它们都返回S_OK,但是当我尝试运行时 HRESULT hr; hr = m_pDIKeyboard->GetDeviceState( sizeof(keyBuffer), (LPVOID)&keyBuffer ); hr返回为(十六进制地址)“访问代码无效”,当我检查 if(FAILED(hr)) 它以E_ACCESSDENIED的形式返回 keyBuffer或行的任何部分都

我正在尝试使用DirectInput键盘,我的代码抛出了一个奇怪的错误。 我可以完成所有的创建和设置,它们都返回S_OK,但是当我尝试运行时

HRESULT hr;
hr = m_pDIKeyboard->GetDeviceState( sizeof(keyBuffer), (LPVOID)&keyBuffer );
hr返回为(十六进制地址)“访问代码无效”,当我检查

if(FAILED(hr))
它以E_ACCESSDENIED的形式返回 keyBuffer或行的任何部分都没有错误(或警告)

有关此问题的任何想法,请参阅文档,给出以下可能的返回值:

返回值
如果该方法成功,则返回值为DI_OK。如果方法失败,返回值可以是以下错误值之一:DIERR\u INPUTLOST、DIERR\u INVALIDPARAM、DIERR\u NOTACQUIRED、DIERR\u NOTINITIALIZED、E\u PENDING

您应该检查
DIERR.*
宏是否与
E\u ACCESSDENIED
重叠

此外,我看到的一些代码处理
E\u ACCESSDENIED
的方式与
DIERR\u INPUTLOST
相同。您可能希望尝试重新获取输入,然后再试一次。

的文档提供以下可能的返回值:

返回值
如果该方法成功,则返回值为DI_OK。如果方法失败,返回值可以是以下错误值之一:DIERR\u INPUTLOST、DIERR\u INVALIDPARAM、DIERR\u NOTACQUIRED、DIERR\u NOTINITIALIZED、E\u PENDING

您应该检查
DIERR.*
宏是否与
E\u ACCESSDENIED
重叠


此外,我看到的一些代码处理
E\u ACCESSDENIED
的方式与
DIERR\u INPUTLOST
相同。您可能希望尝试重新获取输入,然后再试一次。

但它不会显示为这些HRESULT值之一,而不是“访问代码无效”,而是显示为这些HRESULT值之一,而不是“访问代码无效”