質問

ユーザーがドメイン上にあるか、サーバー上で同じ資格情報を持つローカルアカウントを持っているUNC共有への接続を断続的に失う.NETクライアントアプリがあります。 SOとGoogleの両方には、P-Invokeを介してLogonUserとWNetAddConnectionを使用する多くの例がありますが、両方ともユーザーのパスワードが必要です。アプリが行う必要があるのは、UNCへの接続を明示的に開き、ファイルをコピーし、資格情報を提供せずに、つまり現在の資格情報を使用して明示的に接続を閉じることです。誰でもC#でそれを行う方法について正しい方向に私を向けることができますか?

役に立ちましたか?

解決

WNetAddConnection2のドキュメントによる関数を使用すると、ユーザー名にNullを渡して、現在のプロセスのユーザーコンテキストを使用できます。これは、クライアントアプリケーションを実行しているアカウントのセキュリティコンテキストを使用することを意味すると思います。また、MSDNは、指定されたユーザー名に関連付けられたパスワードを使用するために、パスワードにNullを渡すように言っています。

おそらく両方をNullに設定すると、魔法のように機能します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top