ネットワークのフォルダを検索時、たまにアクセスできない場合、その情報を取得できるのでしょうか?

[戻る]
きろろ 2005/06/29(水) 16:52:48
VC++6.0 MFC WinXP sp2

ネットワークのフォルダを検索時、
たまにアクセスできない場合があります。
その情報を取得できるのでしょうか?

検索処理は下記の通りです。
誰か教えてください。

if ((dno = FindFirstFile(dir, &fil)) != INVALID_HANDLE_VALUE) { // 検索ハンドル
    if ((fil.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
    != FILE_ATTRIBUTE_DIRECTORY) {
        GetFileInfo(  fil.cFileName, fil.dwFileAttributes);
    }
    while(FindNextFile(dno, &fil) != 0) {
        if ((fil.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            != FILE_ATTRIBUTE_DIRECTORY) {
            GetFileInfo(  fil.cFileName, fil.dwFileAttributes);
        }
    }
    FindClose(dno);
}

PATIO 2005/06/29(水) 17:22:14
ネットワーク越しの場合、色々な要因でありえる話だと思います。
例えば、その共有フォルダを保持しているのがサーバー系のOSでなければ、
セッション数の上限で引っかかって繋げないという事もあるでしょうし、
ネットワークの状態が悪ければ、それだけで繋がらないということもあると思います。
この辺の内容に関しては繋いで見なくてはわからないという事になると思います。
繋ぐ前に事前に知る手立てを私は知りません。
知る手立てがあるなら私も知りたいです。

ars 2005/06/30(木) 20:14:21
一番簡単な方法は、ダミーファイルかなんかを置いといて
読めなかったら切れてるという判断でしょうか。
もっと正確にやるならSMBプロトコルを実装するか
パイプ等でNETコマンドを発行するとかかな。

古いスレッドには追加発言できません。