使用 DataWrite::D etachBuffer 发生错误(WinRT C++)
Use DataWrite::DetachBuffer An error occurred(WinRT C++)
auto featureReport = hidDevice->CreateFeatureReport(6(; auto dataWriter = ref new DataWriter((;
Array<UINT8>^buff = ref new Array<UINT8>(6);
buff[0] = (uint8)featureReport->Id;
buff[1] = 0xe;//update mode
buff[2] = 0;
buff[3] = 0;
buff[4] = 0;
buff[5] = 0;
dataWriter->WriteBytes(buff);
featureReport->Data = dataWriter->DetachBuffer();
create_task(hidDevice->SendFeatureReportAsync(featureReport))
.then([this](task<uint32> bytesWrittenTask)
{
auto x = bytesWrittenTask.get(); // If exception occured, let an exception flow down the task chain so it can be caught
//MessageDialog^ msg = ref new MessageDialog(x.ToString());
});
这段代码是访问hid驱动程序成功后需要向hid设备发送命令,但这里的错误功能Report-> Data = dataWriter-> DetachBuffer ((;错误消息:HRESULT:0x80070057参数错误
您可能遇到了无效的缓冲区长度。在尝试写入缓冲区之前,请尝试获取缓冲区长度。
(pseudo code)
FeatureReport report = hidDevice->GetFeatureReport(reportId)
Array<UINT8>^buff = ref new Array<UINT8>(report.Data.Length);
相关文章:
- 是否可以用C++/WinRT将windows 10.0.14393作为目标
- 将 win32 hbitmap 转换为 winrt softwarebitmap
- 升级到 Windows 10 版本 1809 SDK 后,我无法编译使用 C++/WinRT 的项目
- 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,我收到未解析的外部符号 winrt_make_*
- 在 Winrt/C++ 中使用应用服务
- 无法将运行时类绑定到 XAML T 必须是 WinRT 类型
- 是否可以从控制台应用程序使用 C++/WinRT 创建窗口?
- WinRT 应用调用 win32 c++ dll 发送参数
- 从 WinRT C++组件访问 COM 对象
- 使用 c++/WinRT Direct3D UWP Game DR 模板 Direct X11 的错误消息
- C++应用程序缺少 winrt::Windows::Storage::Streams::D ataWriter
- 我可以用C++/WinRT编写一个DLL,供windows桌面应用程序(而不是UWP)或Unity插件使用吗
- 如何在c++winrt中取消装箱多值字符串
- 在 c++ winrt 导航视图中,如何找到选择/单击的导航项?
- C++/WinRT,Windows SDK 17134的一部分与Visual Studio 15.8 Preview 3
- 如何从 c++ winrt UWP 应用中的代码将文本添加到富文本块
- C++/WinRT 数据 不正确的数据封送处理
- ERROR_ACCESS_DENIED在C++/WinRT中使用BluetoothLEAdvertisementWatc
- 无法在 WinRT 中获取异步操作结果 (Windows::Foundation::IAsyncOperating 接口
- UWP - 跨 WinRT 模块重用字符串分析函数的建议方法