The IEnumSTATSTG interface is used to enumerate through an array of STATSTG structures which contain statistical information about an open storage, stream, or byte array object. IEnumSTATSTG shares the same methods as all enumerator interfaces: Next, Skip, Reset, and Clone.

IEnumSTATSTG is implemented to enumerate the elements of a storage object. Containers usually call methods that return a pointer to IEnumSTATSTG so the container can manage its storage object and the elements within it. Calls to the IStorage::EnumElements method returns a pointer to IEnumSTATDATA. The caller allocates an array of STATSTG structures and the IEnumSTATSTG methods fill in each structure with the statistics about one of the nested elements in the storage object. If present, the lpszName member of the STATSTG structure requires additional memory allocations through the IMalloc interface, and the caller is responsible for freeing this memory, if it is allocated, by calling the IMalloc::Free method. If the lpszName member is NULL, no memory is allocated, and, therefore, no memory needs to be freed.

The prototypes of the member functions are as follows:

HRESULT Next(ULONG celt, STATSTG * rgelt, ULONG * pceltFetched)


HRESULT Reset(void)

HRESULT Clone(IEnumSTATSTG ** ppenum)

See Also

CoGetMalloc, IEnumXXXX, IStorage::EnumElements, STATSTG

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples