- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レジストリ値の取得)
レジストリ値の取得について
このQ&Aのポイント
- Windows 2000 Professionalの環境でレジストリ値を取得する方法について教えてください。
- テストコードでは問題なく動作するが、実際に他のソースに組み込むとエラーが発生する。
- メモリ確保の問題だと思われるが、解決する方法はあるのか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#5537
回答No.2
ポインタ変数 lpcbData を初期化せずに使っていますね。 DWORD cbData; と定義して, RegQueryValueEx(hKey, "BootDir", NULL, NULL, NULL, &cbData); lpData = malloc(cbData); RegQueryValueEx(hKey, "BootDir", NULL, NULL, lpData, &cbData); でいいと思います。
その他の回答 (1)
- chie65536
- ベストアンサー率41% (2512/6032)
回答No.1
mallocの呼び出しが怪しそうです。 Application->Initialize(); のイニシャライズをしない状態だと、malloc、freeに使うヒープメモリが初期化されておらず、mallocがエラーでNULL値を返して来てるんじゃないでしょうか?
お礼
お返事が遅くんなりましたが、一発で解決することができました。どうもありがとうございました。