0

現在、vc++ 6.0 を使用して、自分のマシンからプログラムでネットワーク共有にアクセスしようとしています。WNetAddConnection2 を使用して、資格情報を使用して共有に接続しています。

次の問題に直面しています: 2 人のユーザーが同じマシンから同じリモート共有に次々にアクセスしようとしている場合を考えてみましょう。ユーザーがログインすると、最初のユーザーがログアウトするまで、他のユーザーは資格情報を使用して共有にログインできなくなります。

また、最初のユーザーがリモート マシンのルート共有にログオンすると、他のユーザーはそのマシンの他の共有にアクセスできなくなります。

同じ対処法があれば教えてください。

前もって感謝します

4

1 に答える 1

1

答えは、最初のユーザーがまだアクセスを必要としているかどうかによって異なります。そうでない場合は、WNetCancelConnection2() を呼び出します。その場合、Keith Brown は著書「Programming Windows Security」の中で、LogonUser() を呼び出して新しいログオン セッションを確立し、競合を回避するために新しい SMB「ポート」を作成するトリックを持っています。偽装後、スレッドは別の資格情報を使用して接続できるようになります。

于 2010-01-28T17:00:09.580 に答える