CfbWriter

CfbWriter

Przegląd

CfbWriter serializuje CfbDocument do prawidłowego pliku Compound File Binary. Wywołaj ToBytes, aby uzyskać zserializowaną zawartość jako tablicę bajtów, lub WriteFile, aby zapisać bezpośrednio na dysk. Wewnętrzna metoda Serialize buduje sektory FAT, DIFAT, mini-FAT i katalogu zgodnie ze specyfikacją MS-CFB. Konstruktorzy są używani wewnętrznie przez zapisujący do reprezentacji rekordów wpisów i łańcuchów sektorów.

Konstruktory

SygnaturaOpis
Serializer(document: CfbDocument)Tworzy nowy CfbWriter z określonymi parametrami.
EntryRecord(streamId: uint, name: string, objectType: DirectoryObjectType, clsid: byte[], stateBits: uint, creationTime: ulong, modifiedTime: ulong)Tworzy nowy CfbWriter z określonymi parametrami.
Chain(payload: byte[])Tworzy nowy CfbWriter z określonymi parametrami.

Metody

SygnaturaOpis
ToBytes(document: CfbDocument)Serializuje document do tablicy bajtów zgodnej z CFB.
WriteFile(document: CfbDocument, path: string)Serializuje document i zapisuje go do pliku w path.
Serialize()Wykonuje wewnętrzny układ CFB: przydziela sektory FAT, tworzy wpisy katalogu i zwraca kompletny plik binarny.

Właściwości

NazwaTypDostępOpis
StreamIduintOdczytIndeks katalogu zerowy przypisany temu rekordowi wpisu.
NamestringOdczytUTF-16LE nazwa wpisu tak, jak będzie się pojawiać w katalogu CFB.
ObjectTypeDirectoryObjectTypeOdczytWartość DirectoryObjectType zakodowana w bajcie typu obiektu tego wpisu.
Clsidbyte[]Odczyt16-bajtowy CLSID zapisany w polu CLSID tego wpisu.
StateBitsuintOdczytBity stanu zdefiniowane przez aplikację zapisane w tym wpisie.
CreationTimeulongOdczytZnacznik czasu utworzenia (FILETIME) zapisany w tym wpisie.
ModifiedTimeulongOdczytZnacznik czasu modyfikacji (FILETIME) zapisany w tym wpisie.
StreamDatabyte[]OdczytBajty ładunku dla wpisów typu strumieniowego (puste dla wpisów typu magazynowego).
ChildrenList<EntryRecord>OdczytUporządkowana lista podrzędnych wpisów EntryRecord dla węzłów typu magazynowego.
ColorFlagDirectoryColorFlagOdczytKolor drzewa czerwono-czarnego zapisany w rekordzie katalogu tego wpisu.
LeftSiblingIduintOdczytIdentyfikator strumienia lewego rodzeństwa w drzewie czerwono-czarnym.
RightSiblingIduintOdczytIdentyfikator strumienia prawego rodzeństwa w drzewie czerwono-czarnym.
ChildIduintOdczytStream ID pierwszego wpisu potomnego (dla węzłów typu storage).
StartingSectorLocationuintOdczytIndeks pierwszego sektora FAT dla danych tego strumienia.
StreamSizeulongOdczytRozmiar w bajtach ładunku danych strumienia.
IsRootboolOdczytTrue, jeśli ten wpis jest głównym wpisem pamięci (stream ID 0).
IsStorageboolOdczytTrue, jeśli ten wpis jest kontenerem pamięci.
IsStreamboolOdczytTrue, jeśli ten wpis jest strumieniem danych.
Payloadbyte[]OdczytPełne zserializowane bajty tego wpisu (używane wewnętrznie przez konstruktor łańcucha).
SectorsList<uint>OdczytUporządkowana lista indeksów sektorów FAT przydzielonych do danych tego wpisu.
FirstSectoruintOdczytIndeks pierwszego sektora FAT przydzielonego do danych tego wpisu.

Zobacz także

 Polski