• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レジストリ値の取得)

レジストリ値の取得について

このQ&Aのポイント
  • Windows 2000 Professionalの環境でレジストリ値を取得する方法について教えてください。
  • テストコードでは問題なく動作するが、実際に他のソースに組み込むとエラーが発生する。
  • メモリ確保の問題だと思われるが、解決する方法はあるのか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.2

ポインタ変数 lpcbData を初期化せずに使っていますね。 DWORD cbData; と定義して, RegQueryValueEx(hKey, "BootDir", NULL, NULL, NULL, &cbData); lpData = malloc(cbData); RegQueryValueEx(hKey, "BootDir", NULL, NULL, lpData, &cbData); でいいと思います。

noname#27709
質問者

お礼

お返事が遅くんなりましたが、一発で解決することができました。どうもありがとうございました。

その他の回答 (1)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

mallocの呼び出しが怪しそうです。 Application->Initialize(); のイニシャライズをしない状態だと、malloc、freeに使うヒープメモリが初期化されておらず、mallocがエラーでNULL値を返して来てるんじゃないでしょうか?

関連するQ&A