NetDfsRemove function (lmdfs.h)
Removes a Distributed File System (DFS) link or a specific link target of a DFS link in a DFS namespace. When removing a specific link target, the link itself is removed if the last link target of the link is removed.
Syntax
NET_API_STATUS NET_API_FUNCTION NetDfsRemove(
[in] LPWSTR DfsEntryPath,
[in, optional] LPWSTR ServerName,
[in, optional] LPWSTR ShareName
);
Parameters
[in] DfsEntryPath
Pointer to a string that specifies the Universal Naming Convention (UNC) path of the DFS link.
The string can be in one of two forms. The first form is as follows:
\\ShareName\DfsName\link_path
where ShareName is the name of the root target server that hosts the stand-alone DFS namespace; DfsName is the name of the DFS namespace; and link_path is a DFS link.
The second form is as follows:
\\DomainName\DomDfsname\link_path
where DomainName is the name of the domain that hosts the domain-based DFS namespace; DomDfsname is the name of the DFS namespace; and link_path is a DFS link.
This parameter is required.
[in, optional] ServerName
Pointer to a string that specifies the server name of the link target. For more information, see the following Remarks section. Set this parameter to NULL if the link and all link targets are to be removed.
[in, optional] ShareName
Pointer to a string that specifies the share name of the link target. Set this parameter to NULL if the link and all link targets are to be removed.
Return value
If the function succeeds, the return value is NERR_Success.
If the function fails, the return value is a system error code. For a list of error codes, see System Error Codes.
Remarks
The caller must have Administrator privilege on the DFS server. For more information about calling functions that require administrator privileges, see Running with Special Privileges.
When you call NetDfsRemove to remove a target from a link, you must specify the same target server name in the ServerName parameter that you specified when you created the link. For example, if you specified the target server's DNS name when you added the target to the link, you must specify the same DNS name when you remove the link. You cannot specify the NetBIOS name.
Examples
The following code sample demonstrates how to remove a target from a DFS link using a call to the NetDfsRemove function.
#include <windows.h>
#include <lm.h>
#include <lmdfs.h>
#include <stdio.h>
#pragma comment(lib, "Netapi32.lib")
void wmain(int argc, wchar_t *argv[])
{
DWORD res;
//
// All parameters are required.
//
if (argc < 4)
wprintf(L"Syntax: %s DfsEntryPath ServerName ShareName\n", argv[0]);
else
{
//
// Call the NetDfsRemove function
// to remove the DFS link.
//
res = NetDfsRemove(argv[1], argv[2], argv[3]);
//
// Display the result of the call.
//
if(res == 0)
printf("Removed DFS link\n");
else
printf("Error: %u\n", res);
}
return;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Minimum supported server | Windows Server 2008 |
Target Platform | Windows |
Header | lmdfs.h (include LmDfs.h, Lm.h) |
Library | Netapi32.lib |
DLL | Netapi32.dll |