[ComImport]
[Guid("0000013B-0000-0000-C000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IEnumSTATPROPSETSTG
{
[PreserveSig]
uint Next(
uint celt,
[Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] STATPROPSETSTG[] rgelt,
out uint pceltFetched);
void Skip(
uint celt);
void Reset();
[return:MarshalAs(UnmanagedType.Interface)]
IEnumSTATPROPSETSTG Clone();
}
public struct STATPROPSETSTG
{
public Guid fmtid;
public Guid clsid;
public int grfFlags;
public System.Runtime.InteropServices.ComTypes.FILETIME mtime;
public System.Runtime.InteropServices.ComTypes.FILETIME ctime;
public System.Runtime.InteropServices.ComTypes.FILETIME atime;
}
Typical enumerator interface over the STATPROPSETSTG structure; typically returned by the IPropertySetStorage Enum method.
Note that Next() can return both S_OK and S_FALSE so the HRESULT return code must be preserved.