IEnumSTATSTG (Interfaces)
Last changed: Baruch-62.128.51.212

.
Summary
TODO - This interface is used to enumerate through an array of STATSTG structures that contains statistical information about an open storage, stream, or byte array object. This interface has the same methods as all enumerator interfaces: Next, Skip, Reset, and Clone.

C# Definition:

[ComImport]
[Guid("0000000d-0000-0000-C000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IEnumSTATSTG
{
    // The user needs to allocate an STATSTG array whose size is celt.
    [PreserveSig]
    uint
    Next(
    uint celt,
    [MarshalAs(UnmanagedType.LPArray), Out]
    STATSTG[] rgelt,
    out uint pceltFetched
    );

    void Skip(uint celt);

    void Reset();

    [return:MarshalAs(UnmanagedType.Interface)]
    IEnumSTATSTG Clone();
}

Sample Code

IEnumSTATSTG enumerator = ... ;

STATSTG s = new STATSTG[1];
uint r;

while( e.Next(1, s, out r) == 0 )
{
     // Maniputlate s[0];
}

Notes:

This is a good example on how to marshal IEnumXXX interfaces.

Documentation