takrl
takrl

Reputation: 6472

How to check if UNC path is DFS path?

Suppose I've got three UNC paths:

\\it\may\be\samba\on\linux.txt
\\maybe\its\on\windows\fileserver.txt
\\and\that\one\is\dfs.txt

How can I check (in c#) which one is a dfs mapping and which one isn't?

Upvotes: 3

Views: 6778

Answers (1)

takrl
takrl

Reputation: 6472

Found a solution, but it has a drawback. A call to NetDfsGetInfo will return information on the dfs root (or link) if I pass in a dfs root (or link). If it's an UNC path not on dfs it'll return an error.

The only drawback is that returning that error takes about one second, returning dfs info produces an instant result.

If anyone wants to use this solution:
The docs on NetDfsGetInfo say that YOU MUST call NetApiBufferFree on the buffer returned, even if you get an error back.

Upvotes: 3

Related Questions