Overzicht
CfbWriter serialiseert een CfbDocument naar een geldig Compound File Binary-bestand. Roep ToBytes aan om de geserialiseerde inhoud als een byte-array te verkrijgen, of WriteFile om direct naar schijf te schrijven. De interne Serialize-methode bouwt de FAT-, DIFAT-, mini-FAT- en directory-sectoren volgens de MS-CFB specificatie. Constructors worden intern door de writer gebruikt om invoerrecords en sector-ketens te vertegenwoordigen.
Constructors
| Handtekening | Beschrijving |
|---|
Serializer(document: CfbDocument) | Maakt een nieuwe CfbWriter met de opgegeven parameters. |
EntryRecord(streamId: uint, name: string, objectType: DirectoryObjectType, clsid: byte[], stateBits: uint, creationTime: ulong, modifiedTime: ulong) | Maakt een nieuwe CfbWriter met de opgegeven parameters. |
Chain(payload: byte[]) | Maakt een nieuwe CfbWriter met de opgegeven parameters. |
Methoden
| Handtekening | Beschrijving |
|---|
ToBytes(document: CfbDocument) | Serialiseert document naar een CFB-conforme byte-array. |
WriteFile(document: CfbDocument, path: string) | Serialiseert document en schrijft het naar het bestand op path. |
Serialize() | Voert de interne CFB-indeling uit: alloceert FAT-sectoren, bouwt directory-items en retourneert de complete binary. |
Eigenschappen
| Naam | Type | Toegang | Beschrijving |
|---|
StreamId | uint | Lezen | Nulgebaseerde directory-index toegewezen aan dit record. |
Name | string | Lezen | UTF-16LE entrynaam zoals deze zal verschijnen in de CFB-directory. |
ObjectType | DirectoryObjectType | Lezen | De DirectoryObjectType waarde gecodeerd in de objecttype-byte van dit entry. |
Clsid | byte[] | Lezen | 16-byte CLSID geschreven naar het CLSID-veld van dit item. |
StateBits | uint | Lezen | Door de applicatie gedefinieerde statusbits geschreven naar dit item. |
CreationTime | ulong | Lezen | Creatietijdstempel (FILETIME) geschreven naar dit item. |
ModifiedTime | ulong | Lezen | Modificatietijdstempel (FILETIME) geschreven naar dit item. |
StreamData | byte[] | Lezen | Payloadbytes voor stream-type-vermeldingen (leeg voor storage-type-vermeldingen). |
Children | List<EntryRecord> | Lezen | Geordende lijst van kind-EntryRecord items voor opslagtype-knooppunten. |
ColorFlag | DirectoryColorFlag | Lezen | Rood-zwart-boomkleur geschreven naar het directory-record van dit item. |
LeftSiblingId | uint | Lezen | Stream-ID van de linker sibling in de rood-zwart-boom. |
RightSiblingId | uint | Lezen | Stream-ID van de rechter sibling in de rode-zwartboom. |
ChildId | uint | Lezen | Stream-ID van de eerste onderliggende invoer (voor opslagtype-knooppunten). |
StartingSectorLocation | uint | Lezen | Eerste FAT-sectorindex voor de gegevens van deze stream. |
StreamSize | ulong | Lezen | Grootte in bytes van de payload van de stream. |
IsRoot | bool | Lezen | True als dit item de root-opslagvermelding is (stream-ID 0). |
IsStorage | bool | Lezen | True als dit item een opslagcontainer is. |
IsStream | bool | Lezen | True als dit item een datastroom is. |
Payload | byte[] | Lezen | De volledige geserialiseerde bytes van dit item (intern gebruikt door de chain builder). |
Sectors | List<uint> | Lezen | Geordende lijst van FAT-sectorindices die aan de data van dit item zijn toegewezen. |
FirstSector | uint | Lezen | Index van de eerste FAT-sector die aan de gegevens van dit item is toegewezen. |
Zie ook