# IStorage::Stat

Retrieves the STATSTG structure for this open storage object.

HRESULT Stat(

STATSTG * pstatstg, | //Location for STATSTG structure
DWORD grfStatFlag | //Values taken from the STATFLAG enumeration
); |

Parameters

pstatstg
  [out] On return, points to a STATSTG structure where this method places information about the open storage object. This parameter is NULL if an error occurs.
grfStatFlag
  [in] Specifies that some of the fields in the STATSTG structure are not returned, thus saving a memory allocation operation. Values are taken from the STATFLAG enumeration.

Return Values

S_OK
  The STATSTG structure was successfully returned at the specified location.
E_PENDING
  Asynchronous Storage only: Part or all of the storage’s data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
STG_E_ACCESSDENIED
  The caller does not have sufficient 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_INVALIDPARAMETER
  One of the parameters was invalid.

Remarks

IStorage::Stat retrieves the STATSTG structure for the current storage. This structure contains statistical information about the storage. IStorage::EnumElements creates an enumerator object with the IEnumSTATSTG interface, though which you can enumerate the substorages and streams of a storage through the STATSTG structure of each.

See Also

IStorage - Compound File Implementation, STATFLAG, STATSTG, IEnumSTATSTG, IStorage::SetClass, IStorage::SetElementTimes, IStorage::SetStateBits