gpt4 book ai didi

c++ - directX directInput 键盘抛出 E_accessdenied

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:56 25 4
gpt4 key购买 nike

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

HRESULT hr;
hr = m_pDIKeyboard->GetDeviceState( sizeof(keyBuffer), (LPVOID)&keyBuffer );

hr 返回为(十六进制地址)“访问代码无效”,当我检查

if(FAILED(hr))

它返回为 E_ACCESSDENIEDkeyBuffer 或该行的任何部分都没有错误(或与此相关的警告)。

对此有什么想法

最佳答案

IDirectInputDevice8::GetDeviceState 的文档给出以下可能的返回值:

Return Value
If the method succeeds, the return value is DI_OK. If the method fails, the return value can be one of the following error values: DIERR_INPUTLOST, DIERR_INVALIDPARAM, DIERR_NOTACQUIRED, DIERR_NOTINITIALIZED, E_PENDING.

您应该检查没有任何 DIERR_* 宏与 E_ACCESSDENIED 重叠。

此外,我见过的一些代码处理 E_ACCESSDENIED 的方式与 DIERR_INPUTLOST 相同。您可能想尝试重新获取输入并再试一次。

关于c++ - directX directInput 键盘抛出 E_accessdenied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9425575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com