開発環境
VC++6.0
です。
WINDOWS XPにおいて
ログインアカウントによって
GetComputerNameでコンピュータ名が
取得できない場合があります。
GetComputerName以外で取得する方法、
もしくはWINDOWS XP上の設定で
取得できない理由を
ご教授いただけますでしょうか。
宜しくお願いいたします。
>GetComputerNameでコンピュータ名が
>取得できない場合があります。
戻り値はなんですか?
GetLastErrorはなんですか?
おっちゃんさん、
始めまして
ご質問いただきありがとうございます。
エラー番号は’111’
となっておりました、
どのように対応すればよろしいでしょうか。
ご教授宜しくお願いいたします。
えーと、GetComputerNameの戻り値は確認しているでしょうか?
GetLastErrorは、直前のエラー値を返すのでGetComputerNameが
失敗を返却している場合に呼ばないと意味がありません。
あと、GetLastErrorが返却するコードは、
Microsoft VisualStudio 6.0 ツールのError Lookupで検索できるはずです。
御自分で調べてみましょう。
この辺はHELPをよく読んで関数の仕様を把握しながら
起こっている状況をきちんと把握しないと先に進めません。
調べられるところまでは御自分で調べてみてください。
111 というと ERROR_BUFFER_OVERFLOW なので、
GetComputerNameに与えたバッファが小さすぎるのではないかしら?
Error Lookupで見てみたら、ファイル名が長すぎます。とか出てるし。(^^;
気持ちはわかるけど、意味不明ですね、この内容だと。
潔く、WINERROR.Hを見た方がよいかもしれないですね。
GetComputerNameの関数説明の通りにバッファを確保していないのですかねぇ。
PATIOさん、επιστημηさん
ご丁寧な、ご教授ありがとうございます。
GetComputerNameの前に
GetUserNameの処理も行っていて同じバッファを再利用していたのですが、
そのバッファを取敢えず別々にしたところ
上手くいきました。
いろいろとありがとうございました。