示例#1
0
    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!");
        }
    }
示例#2
0
    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.");
        }
    }