0
自動featureReport = hidDevice-> CreateFeatureReport(6)。 自動dataWriter = REF新しいDataWriter()。使用データ書き込み:: DetachBufferエラー(WinRTのC++)発生
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デバイスにコマンドを送信する必要がありますが、ここでエラーfeatureReport->データ= dataWriter-> DetachBuffer()の成功の後、HIDドライバにアクセスすることです。 エラーメッセージ:HRESULT:0x80070057がパラメータエラー
コードが正しいと思われます。私はあなたのHIDデバイスの詳細を知っていないので、私はいくつかのモックデータでテストし、私は 'dataWriter-> DetachBuffer()'を呼び出すエラーはありません。だから私は問題があなたが投稿したコードにないかもしれないと思います。また、HIDの開発のために、あなたは[カスタムHIDデバイスのサンプル](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CustomHidDeviceAccess)を参照してもよいです。 –
ご返信ありがとうございます。私のプログラムは、あなたが私にHIDドライバに関するテストコードを与えることができ、カスタムHIDデバイスのサンプルを参照してくださいです。私は自分のコードと比較する – Sniper