HIDデバイスへ書き込み際ですが・・・ – プログラミング – Home

HIDデバイスへ書き込み際ですが・・・
 
通知
すべてクリア

[解決済] HIDデバイスへ書き込み際ですが・・・


一
 一
(@一)
ゲスト
結合: 17年前
投稿: 5
Topic starter  

XP + VC8.0MFC + DDK(WDK)
参考書も手元になく、ググっても英語の文書ばかりでしょーもない質問。

HIDデバイスへWriteFile、ReadFileする場合のデータサイズはHidP_GetCaps関数で求め

HIDP_CAPS::InputReportByteLength、HIDP_CAPS::OutputReportByteLengthの長さですが

単位はByteの認識でよいのでしょうか?(変な質問ですみません^^;

現在、某機器にてInputReportByteLength、OutputReportByteLengthの両方が9と返って
くる
のですがバッファとしては、char *buf = new char [9] ;などと確保するでいいのです
よね?

何かのタイミングでブルー画面になる現象を調査してます故、なにか手がかりをお願い
します。


引用未解決
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

# 英語ドキュメントを読まないのはただの怠慢
# 自分の怠慢を他人に押し付けるのは傲慢

http://msdn2.microsoft.com/en-us/library/ms790919.aspx
http://msdn2.microsoft.com/en-us/library/ms790997.aspx
によればそういうことなのだと思うぞ

オラ作の HID ではレポートを複数種使っている
char* input_report_buffer = new char [caps.InputReportByteLength];
として青画面が出たことは無いので、レポート複数種ならこれで正しいと思う

WriteFile/ReadFile においては必ず ReportID を付加することになっている
InputReportByteLength 等は *ID があれば* それを含んだ、となっている
ということは HID レポートが1種類しかない場合には +1 が必要そうに思える
検証してない


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

参考にどうぞ
  http://ema.fsr.jp/20061228.html

HIDデバイスってことは、USBデバイスドライバーですか?

>何かのタイミングでブルー画面になる現象を調査してます故、
>なにか手がかりをお願いします。
ドライバーは、会社その他仲間が作っているのですか。
もし、そうであるならブルー画面になるのはドライバーのバグであることが多いです。
ドライバーの作者に相談したほうがいいですね。
エラーコードも伝えた方がいいです。

わざわざ「HidP_GetCaps関数」でバイト数を得らなくても、決まっていると思います。
作者に相談してみるのがいいと思います。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

補足、
>参考書も手元になく、ググっても英語の文書ばかりでしょーもない質問。
 DDK関連に首を突っ込むのなら、英語の文章ばかりなのは仕方がないこですね。
慣れることが必要ですね。
 DDKをインストールしてあるなら、ヘルプファイルやサンプル等も調べてみるのが
いいですね。
 特に、DDKのサンプルは豊富にそろってます。


返信引用
一
 一
(@一)
ゲスト
結合: 17年前
投稿: 5
Topic starter  

皆さん。レスありがとうございました。
言い訳ではないですが、英文ドキュメントは
キチンと読んでますよ。時間があるときは。(^^;

思いがけず、デバイス制御にクビ突っ込んで
分けも分からずの質問でした。<(__)>

件のブルー画面は、徹夜で解析した結果
別のドライバーがカーネルパニックを
引き起こしているらしい。とのことで
無事、朝方に釈放されました。(´▽`*)アハハ

# 実の担当が捕まらないからって
# 直接の上司でもない門外漢を
# 拉致しないで貰いたいものです;;


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました