3 つの UNC パスがあるとします。
\\it\may\be\samba\on\linux.txt
\\maybe\its\on\windows\fileserver.txt
\\and\that\one\is\dfs.txt
どれが dfs マッピングで、どれがそうでないか (c# で) どのように確認できますか?
3 つの UNC パスがあるとします。
\\it\may\be\samba\on\linux.txt
\\maybe\its\on\windows\fileserver.txt
\\and\that\one\is\dfs.txt
どれが dfs マッピングで、どれがそうでないか (c# で) どのように確認できますか?
解決策を見つけましたが、欠点があります。dfs ルート (またはリンク) を渡すと、 NetDfsGetInfoを呼び出すと、dfs ルート (またはリンク) に関する情報が返されます。dfs 上にない UNC パスの場合、エラーが返されます。
唯一の欠点は、そのエラーを返すのに約 1 秒かかり、dfs 情報を返すと即座に結果が生成されることです。
誰かがこのソリューションを使用したい場合:
NetDfsGetInfo のドキュメントには、エラーが返された場合でも、返されたバッファーでNetApiBufferFreeを呼び出さなければならないと書かれています。