MFCのAPIのGetProfileBinaryが正しく使用できないため、ご教授いただきたいです。
char型配列に格納しているバイナリデータをWriteProfileBinary関数によってレジストリに格納するところまではできたのですが、保存してあるバイナリデータをGetProfileBinaryで呼び出すことがうまくできません。
下記のようなコーディングの仕方で正しく配列pDataに入らないのですが、なぜでしょうか?
char pData[50];
int n = 50;
GetProfileBinary(pszKey, _T("xxxxxx"), (LPBYTE*)&pData, &n);
お手数ですが、よろしくお願いいたします。
参考までに
GetProfileBinary
https://msdn.microsoft.com/ja-jp/library/60e44e56.aspx
次の点はいかがでしょうか。
(1)section/entryがWriteProfileBinaryと同じで、それぞれがNULLでおわっているか。
(2)GetProfileBinaryの戻り値は正常(0)か。
(3)pDataは、GetProfileBinary実行前後で変化はあるか。
(1)に関しては問題ありませんでした。
(2)については返り値が1となってしまっているのでうまく関数が処理されていないのかもしれません…
(3)については本来40列ぐらいバイナリの値が入ってるのにGetProfileBinaryで取得した結果はpDataの最初の4列目ぐらいまでしか入っていません…しかも値がめちゃくちゃです。
バイナリデータの受け皿としてchar型の配列が適切でないのでしょうか?
回答2件
あなたの回答
tips
プレビュー