0


0

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

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

また、1人目のユーザーがリモートマシンのルート共有にログオンした場合、他のユーザーはそのマシン上の他の共有にアクセスすることはできません。

回避策があるかどうかを教えてください。

前もって感謝します

1 Answer


1


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