Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

NetDfsSetInfo (netapi32)
 
.
Summary
The NetDfsSetInfo function sets or modifies the information associated with a Distributed File System (Dfs) link in the named Dfs root, or with the Dfs root itself. The function can set information relevant to a specific root, root target, link, or link target.

C# Signature:

    /// <summary>
    /// The NetDfsSetInfo function sets or modifies the information associated with a Distributed File System (Dfs) link in the named Dfs root, or with the Dfs root itself. The function can set information relevant to a specific root, root target, link, or link target.
    /// </summary>
    /// <param name="DfsEntryPath">[in] Pointer to a string that specifies the Universal Naming Convention path of a Dfs link or a Dfs root. </param>
    /// <param name="ServerName">[in, optional] Pointer to a string that specifies the name of the host server that the Dfs link references.</param>
    /// <param name="ShareName">[in, optional] Pointer to a string that specifies the name of the shared folder or the path to a folder within a shared folder on the host server that the Dfs link references. </param>
    /// <param name="Level">[in] Specifies the information level of the data. This parameter can be one of the following values. </param>
    /// <param name="Buffer">[in] Pointer to a buffer that specifies the data. The format of this data depends on the value of the Level parameter.</param>
    /// <returns></returns>
    [DllImport("Netapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
    public static extern int NetDfsSetInfo(
        [MarshalAs(UnmanagedType.LPWStr)] string DfsEntryPath,
        [MarshalAs(UnmanagedType.LPWStr)] string ServerName,
        [MarshalAs(UnmanagedType.LPWStr)] string ShareName,
        [MarshalAs(UnmanagedType.SysUInt)] int Level,
        out IntPtr Buffer
    );

VB Signature:

Declare Function NetDfsSetInfo Lib "netapi32.dll" (TODO) As TODO

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
    private struct DFS_INFO_100 {
        [MarshalAs(UnmanagedType.LPWStr)] public string Comment;
    }

    static public void SetComment(string dfsPath, string comment) {
        DFS_INFO_100 info;
        info.Comment = comment;

        IntPtr commentBuffer = IntPtr.Zero;

        try {
            commentBuffer = Marshal.AllocHGlobal(Marshal.SizeOf(info));
            Marshal.StructureToPtr(info, commentBuffer, false);

            int result = NetDfsSetInfo(dfsPath, null, null, 100, commentBuffer);

            if (result != 0) {
                throw new Win32Exception(result);
            }
        } finally {
            Marshal.FreeHGlobal(commentBuffer);
        }
    }

Documentation

Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions