none
WDMドライバからレジストリアクセス方法 RRS feed

  • 質問

  • 開発中のカーネルドライバからレジストリにアクセスして値を参照したいのですが、うまく参照できません。ドライバモデルはWDM。取り込むレジストリ値はREG_DWORD。
    文献等調査したのですが、意外と情報が少なく困っています。
    参考となるコーディング例がありましたら教示頂けると幸いです。
    2012年10月11日 2:21

回答

すべての返信

  • >うまく参照できません。

    どんなエラーコードが返ってきていますか?

    >取り込むレジストリ値はREG_DWORD。

    どのハイブですか?

    2012年10月11日 3:25
  • 早速の回答深謝致します。
    ZwQueryValueKey関数において、正常リターンし、KEY_VALUE_FULL_INFOMATION構造体の変数には、Type=4、DataOffset=36、DataLength=4が返ってくるところまでは確認できたのですが、Name[1]に入っているはずのRZ_DWORDの数値が取り出せません。
    Name[1]はUnicode文字で格納されているとのことなので、RtlUnicodeStringToInteger(&Name[1], 10, &val)でvalに10進数値が取り出せそうな気がするのですが。
    2012年10月11日 5:04
  • ZwQueryValueKey() を使った実装例でしたら、WDK 7.1.0 で提供されているサンプルにもたくさんあるのですが、そちらはご覧になっていらっしゃいますでしょうか?
    2012年10月11日 11:02
  • 取り込めるようになりました。
    KEY_VALUE_FULL_INFOMATION構造体仕様に誤解があったようです。
    それにしてもこの構造体の仕様紛らわしい。
    2012年10月12日 0:36