public static void Main() { // initialize all members DSBrowseInfo dsbi = new DSBrowseInfo(); dsbi.structSize = Marshal.SizeOf(dsbi); dsbi.dlgCaption = "The container picker"; dsbi.treeViewTitle = "Pick a container for this example."; dsbi.path = new string( new char[MAX_PATH]); dsbi.pathSize = dsbi.path.Length; dsbi.flags = LibWrap.DSBI_ENTIREDIRECTORY; dsbi.objectClass = new string( new char[MAX_PATH]); dsbi.objectClassSize = dsbi.objectClass.Length; Console.WriteLine("Call DSBrowseForContainer..."); int status = LibWrap.DsBrowseForContainerW(ref dsbi); Console.WriteLine("The status is " + status); if (status == 1) { Console.WriteLine("The path is " + dsbi.path); } else { Console.WriteLine("Call failed!"); } }
public static void Main() { DsBrowseInfo dsbi = new DsBrowseInfo { Size = Marshal.SizeOf(typeof(DsBrowseInfo)), PathSize = DsBrowseInfo.MAX_PATH, Caption = "Container Selection Example", Title = "Select a container from the list.", ReturnFormat = LibWrap.ADS_FORMAT_WINDOWS, Flags = LibWrap.DSBI_ENTIREDIRECTORY, Root = "LDAP:", Path = new string(new char[DsBrowseInfo.MAX_PATH]) }; // Initialize remaining members... int status = LibWrap.DsBrowseForContainerW(ref dsbi); if ((LibWrap.BrowseStatus)status == LibWrap.BrowseStatus.BrowseOk) { Console.WriteLine(dsbi.Path); } else { Console.WriteLine("No path returned."); } }