Panoramica
CfbWriter serializza un CfbDocument in un file Compound File Binary valido. Chiama ToBytes per ottenere il contenuto serializzato come array di byte, o WriteFile per scrivere direttamente su disco. Il metodo interno Serialize costruisce i settori FAT, DIFAT, mini-FAT e directory secondo la specifica MS-CFB. I costruttori sono usati internamente dallo scrittore per rappresentare i record di ingresso e le catene di settori.
Costruttori
| Firma | Descrizione |
|---|
Serializer(document: CfbDocument) | Crea un nuovo CfbWriter con i parametri specificati. |
EntryRecord(streamId: uint, name: string, objectType: DirectoryObjectType, clsid: byte[], stateBits: uint, creationTime: ulong, modifiedTime: ulong) | Crea un nuovo CfbWriter con i parametri specificati. |
Chain(payload: byte[]) | Crea un nuovo CfbWriter con i parametri specificati. |
Metodi
| Firma | Descrizione |
|---|
ToBytes(document: CfbDocument) | Serializza document in un array di byte conforme a CFB. |
WriteFile(document: CfbDocument, path: string) | Serializza document e lo scrive nel file situato in path. |
Serialize() | Esegue il layout interno CFB: alloca i settori FAT, crea le voci della directory e restituisce il binario completo. |
Proprietà
| Nome | Tipo | Accesso | Descrizione |
|---|
StreamId | uint | Lettura | Indice della directory a base zero assegnato a questo record. |
Name | string | Lettura | Nome della voce UTF-16LE come apparirà nella directory CFB. |
ObjectType | DirectoryObjectType | Lettura | Il valore DirectoryObjectType codificato nel byte del tipo di oggetto di questa voce. |
Clsid | byte[] | Lettura | CLSID a 16 byte scritto nel campo CLSID di questa voce. |
StateBits | uint | Lettura | Bit di stato definiti dall’applicazione scritti in questa voce. |
CreationTime | ulong | Lettura | Timestamp di creazione (FILETIME) scritto in questa voce. |
ModifiedTime | ulong | Lettura | Marca temporale di modifica (FILETIME) scritta in questa voce. |
StreamData | byte[] | Lettura | Byte di payload per le voci di tipo stream (vuoto per le voci di tipo storage). |
Children | List<EntryRecord> | Lettura | Elenco ordinato di voci figlio EntryRecord per i nodi di tipo storage. |
ColorFlag | DirectoryColorFlag | Lettura | Colore Red-black tree scritto nel record di directory di questa voce. |
LeftSiblingId | uint | Lettura | Stream ID del fratello sinistro nell’albero red-black. |
RightSiblingId | uint | Lettura | Stream ID del fratello destro nell’albero red-black. |
ChildId | uint | Lettura | ID del flusso della prima voce figlia (per nodi di tipo storage). |
StartingSectorLocation | uint | Lettura | Indice del primo settore FAT per i dati di questo flusso. |
StreamSize | ulong | Lettura | Dimensione in byte del payload dei dati del flusso. |
IsRoot | bool | Lettura | Vero se questa voce è l’entry di archiviazione radice (stream ID 0). |
IsStorage | bool | Lettura | Vero se questa voce è un contenitore di archiviazione. |
IsStream | bool | Lettura | Vero se questa voce è un data stream. |
Payload | byte[] | Lettura | I byte serializzati completi di questa voce (usati internamente dal costruttore di catene). |
Sectors | List<uint> | Lettura | Elenco ordinato degli indici dei settori FAT assegnati ai dati di questa voce. |
FirstSector | uint | Lettura | Indice del primo settore FAT assegnato ai dati di questa voce. |
Vedi anche