IStream::Stat method (objidl.h)

The Stat method retrieves the STATSTG structure for this stream.


  [out] STATSTG *pstatstg,
  [in]  DWORD   grfStatFlag


[out] pstatstg

Pointer to a STATSTG structure where this method places information about this stream object.

[in] grfStatFlag

Specifies that this method does not return some of the members in the STATSTG structure, thus saving a memory allocation operation. Values are taken from the STATFLAG enumeration.

Return value

This method can return one of these values.

Return code Description
S_OK The STATSTG structure was successfully returned at the specified location.
E_PENDING Asynchronous Storage only: Part or all of the stream's data is currently unavailable.
STG_E_ACCESSDENIED The caller does not have enough permissions for accessing statistics for this storage object.
STG_E_INSUFFICIENTMEMORY The STATSTG structure was not returned due to a lack of memory.
STG_E_INVALIDFLAG The value for the grfStateFlag parameter is not valid.
STG_E_INVALIDPOINTER The pStatStg pointer is not valid.
STG_E_REVERTED The object has been invalidated by a revert operation above it in the transaction tree.


IStream::Stat retrieves a pointer to the STATSTG structure that contains information about this open stream. When this stream is within a structured storage and IStorage::EnumElements is called, it creates an enumerator object with the IEnumSTATSTG interface on it, which can be called to enumerate the storages and streams through the STATSTG structures associated with each of them.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header objidl.h
Library Uuid.lib
DLL Ole32.dll

See also

IStream - Compound File Implementation