System.Classes.TStreamAdapter.Stat
Delphi
function Stat(out statstg: TStatStg; grfStatFlag: DWORD): HResult; virtual; stdcall;
C++
virtual HRESULT __stdcall Stat(/* out */ tagSTATSTG &statstg, unsigned grfStatFlag);
Properties
| Type | Visibility | Source | Unit | Parent |
|---|---|---|---|---|
| function | public | System.Classes.pas System.Classes.hpp |
System.Classes | TStreamAdapter |
Description
Implements the IStream Stat method.
Stat fills out a TStatStg record with information about the stream object. The grfStatFlag parameter indicates what information in the record, if any, is not needed.
TStatStg is an alias for System.Types.tagSTATSTG. The tagSTATSTG record looks like this:
tagSTATSTG = record
pwcsName: POleStr;
dwType: FixedInt;
cbSize: Largeint;
mtime: TFileTime;
ctime: TFileTime;
atime: TFileTime;
grfMode: FixedInt;
grfLocksSupported: FixedInt;
clsid: TCLSID;
grfStateBits: FixedInt;
reserved: FixedInt;
end;
Stat ignores the grfStatFlag parameter. It always sets dwType to STGTY_STREAM, grfLocksSupported to LOCK_WRITE, and all of the TFileTime parameters to 0. It sets cbSize to the size of the stream, and leaves the remaining fields unchanged.
TFileTime is an alias for System.Types._FILETIME, which looks like this:
_FILETIME = record
dwLowDateTime: DWORD;
dwHighDateTime: DWORD;
end;
Stat returns S_OK if it does not encounter any exceptions filling out statstg, E_UNEXPECTED otherwise.