コンピュータ名の取得 – プログラミング – Home

通知
すべてクリア

[解決済] コンピュータ名の取得


おっか
 おっか
(@おっか)
ゲスト
結合: 21年前
投稿: 34
Topic starter  

開発環境
VC++6.0
です。

WINDOWS XPにおいて
ログインアカウントによって
GetComputerNameでコンピュータ名が
取得できない場合があります。
GetComputerName以外で取得する方法、
もしくはWINDOWS XP上の設定で
取得できない理由を
ご教授いただけますでしょうか。
宜しくお願いいたします。


引用未解決
トピックタグ
おっちゃん
 おっちゃん
(@おっちゃん)
ゲスト
結合: 20年前
投稿: 11
 

>GetComputerNameでコンピュータ名が
>取得できない場合があります。
戻り値はなんですか?
GetLastErrorはなんですか?


返信引用
おっか
 おっか
(@おっか)
ゲスト
結合: 21年前
投稿: 34
Topic starter  

おっちゃんさん、
始めまして
ご質問いただきありがとうございます。
エラー番号は’111’
となっておりました、
どのように対応すればよろしいでしょうか。
ご教授宜しくお願いいたします。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2659
 

えーと、GetComputerNameの戻り値は確認しているでしょうか?
GetLastErrorは、直前のエラー値を返すのでGetComputerNameが
失敗を返却している場合に呼ばないと意味がありません。

あと、GetLastErrorが返却するコードは、
Microsoft VisualStudio 6.0 ツールのError Lookupで検索できるはずです。
御自分で調べてみましょう。
この辺はHELPをよく読んで関数の仕様を把握しながら
起こっている状況をきちんと把握しないと先に進めません。
調べられるところまでは御自分で調べてみてください。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

111 というと ERROR_BUFFER_OVERFLOW なので、
GetComputerNameに与えたバッファが小さすぎるのではないかしら?


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2659
 

Error Lookupで見てみたら、ファイル名が長すぎます。とか出てるし。(^^;
気持ちはわかるけど、意味不明ですね、この内容だと。

潔く、WINERROR.Hを見た方がよいかもしれないですね。

GetComputerNameの関数説明の通りにバッファを確保していないのですかねぇ。


返信引用
おっか
 おっか
(@おっか)
ゲスト
結合: 21年前
投稿: 34
Topic starter  

PATIOさん、επιστημηさん
ご丁寧な、ご教授ありがとうございます。
GetComputerNameの前に
GetUserNameの処理も行っていて同じバッファを再利用していたのですが、
そのバッファを取敢えず別々にしたところ
上手くいきました。
いろいろとありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました