[ComImport(), InterfaceType(ComInterfaceType.InterfaceIsDual), Guid("fd8256d0-fd15-11ce-abc4-02608c9e7553")]
interface IADs
{
[DispId(2)]
string Name {
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
[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);
[DispId(0xe)]
void GetInfoEx(
[MarshalAs(UnmanagedType.Struct)]
object vProperties, int lnReserved);
}
<ComImport> _
<Guid("TODO")> _
'TODO: Insert <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ if this doesn't derive from IDispatch
Interface +
TODO
End Interface
None.
Sample invocation:
var obj = System.Runtime.InteropServices.Marshal.BindToMoniker("IIS://localhost/W3SVC") as IADs;
