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

IADs (Interfaces)
 
.
Summary
The IADsContainer interface enables an ADSI container object to create, delete, and manage contained ADSI objects. Container objects represent hierarchical directory trees, such as in a file system, and to organize the directory hierarchy.
Summary
IADs Interface (activeds.tlb)

C# Definition:

[ComImport(), InterfaceType(ComInterfaceType.InterfaceIsDual), Guid("001677d0-fd16-11ce-abc4-02608c9e7553")]
    public interface IADsContainer
        [ComImport(), InterfaceType(ComInterfaceType.InterfaceIsDual), Guid("fd8256d0-fd15-11ce-abc4-02608c9e7553")]
    interface IADs
    {
        int Count
            {get; }

        object _newEnum
        {
        [return: MarshalAs(UnmanagedType.IUnknown)]
        get;        
        }
        object Filter
        {
        [return: MarshalAs(UnmanagedType.Struct)] get;
        [return: MarshalAs(UnmanagedType.Struct)]
        set;
        }
        object Hints
        {
        [return: MarshalAs(UnmanagedType.Struct)]
        [DispId(2)]
        string Name {
        [return: MarshalAs(UnmanagedType.BStr)]
        get;
        [return: MarshalAs(UnmanagedType.Struct)]
        set;
        }
        [return: MarshalAs(UnmanagedType.IDispatch)]
        object GetObject(
        [MarshalAs(UnmanagedType.BStr)]
        string ClassName,
        [MarshalAs(UnmanagedType.BStr)]
        string RelativeName);    

        [return: MarshalAs(UnmanagedType.IDispatch)]
        object Create(
        [MarshalAs(UnmanagedType.BStr)]
        string ClassName,
        [MarshalAs(UnmanagedType.BStr)]
        string RelativeName);    

         void Delete(
        [MarshalAs(UnmanagedType.BStr)]
        string ClassName,
        [MarshalAs(UnmanagedType.BStr)]
        string RelativeName);    

        [return: MarshalAs(UnmanagedType.IDispatch)]
        object CopyHere(
        [MarshalAs(UnmanagedType.BStr)]
        string SourceName,
        [MarshalAs(UnmanagedType.BStr)]
        string NewName);    

        [return: MarshalAs(UnmanagedType.IDispatch)]
        object MoveHere(
        [MarshalAs(UnmanagedType.BStr)]
        string SourceName,
        [MarshalAs(UnmanagedType.BStr)]
        string NewName);    
    }

VB Definition:

<ComImport> _
<Guid("TODO")> _
'TODO: Insert <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ if this doesn't derive from IDispatch
Interface IADsContainer
   TODO
End Interface

User-Defined Types:

None.

        [DispId(3)]
        string Class
        {
        [return: MarshalAs(UnmanagedType.BStr)]
        get;
        }
        [DispId(4)]
        string Guid
        {
        [return: MarshalAs(UnmanagedType.BStr)]
        get;
        }
        [DispId(5)]
        string ADsPath
        {
        [return: MarshalAs(UnmanagedType.BStr)]
        get;
        }
        [DispId(6)]
        string Parent
        {
        [return: MarshalAs(UnmanagedType.BStr)]
        get;
        }
        [DispId(7)]
        string Schema
        {
        [return: MarshalAs(UnmanagedType.BStr)]
        get;        
        }
        [DispId(8)]
        void GetInfo();
        [DispId(9)]
        void SetInfo();
        [DispId(0xa)]
        [return: MarshalAs(UnmanagedType.Struct)]
        object Get(string bstrName);
        [DispId(0xb)]
        void Set(
            [MarshalAs(UnmanagedType.BStr)]
            string bstrName,
            [MarshalAs(UnmanagedType.Struct)]
        object vProp);
        [DispId(0xc)]
        [return: MarshalAs(UnmanagedType.Struct)]
        object GetEx(
            [MarshalAs(UnmanagedType.BStr)]
            string bstrName);
        [DispId(0xd)]
        void PutEx(int lngControlCode,
                [MarshalAs(UnmanagedType.BStr)]
             string bstrName,
                [MarshalAs(UnmanagedType.Struct)]
            object vProp);

Sample usage:

None.

IADsContainer baseObj = (IADsContainer)Marshal.BindToMoniker("IIS://LOCALHOST/W3SVC");

IEnumVARIANT venum = (IEnumVARIANT)baseObj._newEnum;

object[] regvar = new object[1];

IntPtr fetched = IntPtr.Zero;

while (venum.Next(1, regvar, fetched) == 0)

{

    IADs item = (IADs)regvar[0];
   if (item.Class == "IIsWebServer")
   {
      string path = aap.ADsPath;
    }
}
        [DispId(0xe)]
        void GetInfoEx(
        [MarshalAs(UnmanagedType.Struct)]
        object vProperties, int lnReserved);
    }

Documentation

VB Definition:

<ComImport> _
<Guid("TODO")> _
'TODO: Insert <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ if this doesn't derive from IDispatch
Interface +
   TODO
End Interface

User-Defined Types:

None.

Sample invocation:

var obj = System.Runtime.InteropServices.Marshal.BindToMoniker("IIS://localhost/W3SVC") as IADs;

Documentation

Please edit this page!

Do you have...

  • helpful tips?
  • corrections to the existing content?
  • alternate definitions?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing any supporting types needed.

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