IStream::Stat

Retrieves the STATSTG structure for this stream.

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

Parameters

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

Return Value

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. 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_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.

Remarks

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.

QuickInfo

  Windows NT: Use version 3.1 or later.
  Windows: Use Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in objidl.h.

See Also

IStream - Compound File Implementation, STATFLAG, STATSTG