を使用してドライブをマップしようとしていますが、WNetAddCOnnection2
何かが正しくありません。pinvoke.netから使用しているコードで、最初は機能しているようです。コードをステップ実行している場合、応答に 0 が返されSystem.IO.Directory.GetFiles()
、新しいマップされたドライブを検査するために使用できるため、資格情報に問題はないと考えられます。
問題は、アプリケーションの外部でドライブを使用できないことです。net use
コマンド プロンプトから入力すると、次のようにドライブが一覧表示されます。
Unavailable L: \\<server>\<share> Microsoft Windows Network
ドライブにアクセスしようとすると、次のいずれかが表示されます。
The system cannot find the drive specified.
また
The system cannot find the path specified.
どんな助けでも大歓迎です。
問題のコードの概要は次のとおりです。
NETRESOURCE res = new NETRESOURCE();
res.iScope = RESOURCE_GLOBALNET;
res.iType = RESOURCETYPE_DISK;
res.iDisplayType = RESOURCEDISPLAYTYPE_SHARE;
res.iUsage = RESOURCEUSAGE_CONNECTABLE;
res.sRemoteName = share;
res.sLocalName = drive;
res.sProvider = null;
int iFlags = 0;
iFlags = CONNECT_UPDATE_PROFILE;
int iResult = WNetAddConnection2( ref res, psPassword, psUsername, iFlags );
はiResult
常に 0 になります。