Home COM GDI+ WebBrowser Data Access

IEnumSTATSTG Interface

 

IID_IEnumSTATSTG

{00000139-0000-0000-C000-000000000046}

 

 

The IEnumSTATSTG interface enumerates an array of STATSTG structures. These structures contain statistical data about open storage, stream, or byte array objects.

 

Containers 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 supply a pointer to IEnumSTATSTG. The caller allocates an array of STATSTG structures and the IEnumSTATSTG methods fill 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 allocation through the IMalloc interface, and the caller must free this memory, if allocated, by calling the IMalloc::Free method. If the lpszName member is NULL, no memory is allocated, and, therefore, no memory must be freed.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IEnumSTATSTG Methods

Description

Next

Gets a specified number of STATSTG structures.

Skip

Skips a specified number of STATSTG structures in the enumeration sequence.

Reset

Resets the enumeration sequence to the beginning of the STATSTG structure array.

Clone

Creates an enumerator that contains the same enumeration state as the current STATSTG structure enumerator.

 

QueryInterface

 

FUNCTION IEnumSTATSTG_QueryInterface ( _

  BYVAL pthis AS DWORD PTR _

, BYREF riid AS GUID _

, BYREF ppvObj AS DWORD _

  ) AS LONG


  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[0] USING IEnumSTATSTG_QueryInterface (pthis, riid, ppvObj) TO HRESULT
  FUNCTION = HRESULT
 

END FUNCTION

 

 

AddRef

 

FUNCTION IEnumSTATSTG_AddRef ( _

  BYVAL pthis AS DWORD PTR _

  ) AS DWORD
 

  LOCAL DWRESULT AS LONG
  CALL DWORD @@pthis[1] USING IEnumSTATSTG_AddRef (pthis) TO DWRESULT
  FUNCTION = DWRESULT
 

END FUNCTION

 

 

Release

 

FUNCTION IEnumSTATSTG_Release ( _

  BYVAL pthis AS DWORD PTR _

  ) AS DWORD
 

  LOCAL DWRESULT AS DWORD
  CALL DWORD @@pthis[2] USING IEnumSTATSTG_Release (pthis) TO DWRESULT
  FUNCTION = DWRESULT
 

END FUNCTION

 

 

STATSTG Structure

 

TYPE STATSTG
  
pwcsName AS DWORD
  
ntype AS DWORD
  
cbSize AS QUAD
  
mtime AS FILETIME
  
ctime AS FILETIME
  
atime AS FILETIME
  
grfMode AS DWORD
  
grfLocksSupported AS DWORD
  
nclsid AS GUID
  
grfStateBits AS DWORD
  
reserved AS DWORD
END TYPE
 

 

Next

 

FUNCTION IEnumSTATSTG_Next ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL celt AS DWORD _

, BYVAL rgelt AS DWORD _

, BYVAL pceltFetched AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[3] USING IEnumSTATSTG_Next (pthis, celt, rgelt, pceltFetched) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Skip

 

FUNCTION IEnumSTATSTG_Skip ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL celt AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[4] USING IEnumSTATSTG_Skip (pthis, celt) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Reset

 

FUNCTION IEnumSTATSTG_Reset ( _

  BYVAL pthis AS DWORD PTR _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[5] USING IEnumSTATSTG_Reset (pthis) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Clone

 

FUNCTION IEnumSTATSTG_Clone ( _

  BYVAL pthis AS DWORD PTR _

, BYREF ppenum AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pthis[6] USING IEnumSTATSTG_Clone (pthis, ppenum) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Page last updated on Sunday, 26 March 2006 18:50:08 +0100