5

「切断」されているため、ネットワーク ドライブが既にドライブ文字にマップされている場合があります。通常の Windows 機能を使用して、そのドライブのファイル/フォルダーにアクセスできません。ユーザーがそのドライブを Windows エクスプローラー ダイアログで手動でクリックするとすぐに、魔法のように修復されます。

私のプログラムはバッチ プログラムなので、プログラム (C++) からこの "魔法" を開始したいのですが、そのための Windows 関数が見つかりません。通常の WNet... 関数には何もありません...

4

8 に答える 8

1
NET USE V: /DELETE
NET USE V: "\\server1\videos"

NET USE L: /DELETE
NET USE L: "\\server2\archive"
于 2009-09-29T18:59:20.020 に答える
1

パスが挿入されたら、それがネットワーク リソースかどうかを確認し、ファイルを開く前にWNetGetConnection()を使用してネットワーク リソースを取得します。

環境によっては、より偽りのサポートがあるように見えるWNetRestoreConnectionW()を使用することもできます。

于 2009-10-10T01:49:15.110 に答える
0

私は少し前に私のクライアントでこれに問題を抱えていました。あなたの状況でそれが可能かどうかはわかりませんが、私たちの修正は、サーバーのネットワーク設定を微調整して、タイムアウトと切断を停止することでした。詳細については、 MSKB297684を参照してください。

于 2009-09-29T18:33:27.887 に答える
0

次の方法で共有に再接続してみてくださいnet use

net use \\server\folder [/user:[domain\]username] [password]

それが機能しない場合はnet use /delete、まず接続してから再接続してください。

于 2009-09-24T21:38:51.913 に答える
0

これが WNetAddConnection と WNetAddConnection2 の目的ではないでしょうか。

于 2009-09-25T12:55:50.183 に答える
0

でも、それは本当に同じことだと思います。エクスプローラーはおそらく接続情報をレジストリのどこかにキャッシュします。ユーザーがそのドライブに移動しようとすると、エクスプローラーはマッピングが切断されていることを確認し、レジストリから接続情報を読み取り、接続を再作成します。ドライブ マッピングの作成中に regmon を実行してみて、接続情報がどこにどのようにキャッシュされているかを確認してみてください。

于 2009-09-27T02:53:40.967 に答える