PstTableRow Class
Definition
Represents one row of a table context: the row identifier and cell access by column property identifier.
public sealed class PstTableRow
- Inheritance
-
PstTableRow
- Inherited Members
- Extension Methods
Remarks
A row copies its bytes when it is produced, so it remains valid independent of the matrix block it came from. Variable-size cells hold value references that resolve on access, exactly like property-context values.
Properties
RowId
Gets the row identifier the row's leading dword records.
public uint RowId { get; }
Property Value
- uint
The row identifier.
Methods
EnumerateCells()
Enumerates the row's present cells in column order, resolving each payload as it is yielded.
public IEnumerable<PstPropertyValue> EnumerateCells()
Returns
- IEnumerable<PstPropertyValue>
The present cell values.
Exceptions
- PstFileFormatException
A cell's value reference does not resolve.
TryGetCell(ushort, out PstPropertyValue)
Attempts to retrieve a cell's value by its column's property identifier.
public bool TryGetCell(ushort propertyId, out PstPropertyValue value)
Parameters
propertyIdushortThe 16-bit property identifier.
valuePstPropertyValueWhen this method returns true, the cell value.
Returns
Exceptions
- PstFileFormatException
The cell's value reference does not resolve.
TryGetCellLength(ushort, out long)
Attempts to determine the length of a cell's payload without reading it.
public bool TryGetCellLength(ushort propertyId, out long length)
Parameters
propertyIdushortThe column's property identifier.
lengthlongWhen this method returns true, the payload length in bytes.
Returns
Exceptions
- PstFileFormatException
The cell's storage is malformed.
TryOpenCellStream(ushort, out Stream)
Attempts to open a cell's payload as a read-only, seekable stream.
public bool TryOpenCellStream(ushort propertyId, out Stream stream)
Parameters
propertyIdushortThe column's property identifier.
streamStreamWhen this method returns true, the payload stream.
Returns
Remarks
The streaming counterpart of TryGetCell(ushort, out PstPropertyValue): a subnode-resident cell value is read block by block on demand rather than materialized, so MaxNodeDataLength does not apply. The stream is bound to the owning session and must be disposed before it.
Exceptions
- PstFileFormatException
The cell's storage is malformed.
Applies to
| Product | Versions |
|---|---|
| .NET | 8, 10 |