Panoramica
CfbReader è un parser di basso livello, in sola lettura, per file Compound File Binary. Costruiscilo tramite FromFile o FromStream, quindi naviga l’albero delle directory con IterStorages, IterStreams, IterChildren e FindChildByName. Usa GetStreamData per leggere i byte grezzi da uno stream nominato. Implementa IDisposable; usa sempre all’interno di un blocco using per rilasciare i handle dei file.
Costruttori
| Firma | Descrizione |
|---|
CfbReader(data: byte[]) | Crea un nuovo CfbReader con i parametri specificati. |
Metodi
| Firma | Descrizione |
|---|
FromFile(path: string) | Apre il file CFB in path e restituisce un nuovo CfbReader. |
FromStream(stream: Stream) | Legge un file CFB da stream e restituisce un nuovo CfbReader. |
Dispose() | Rilascia qualsiasi handle di file o stream detenuto da questo lettore. |
GetEntry(streamId: uint) | Restituisce il DirectoryEntry per il streamId fornito. |
GetStreamData(streamId: uint) | Restituisce il contenuto grezzo in byte del flusso identificato da streamId. |
IterStorages() | Restituisce tutti gli elementi di directory di tipo storage in ordine ad albero. |
IterStreams() | Restituisce tutti gli elementi di directory di tipo stream in ordine ad albero. |
IterChildren(storageStreamId: uint) | Restituisce le voci figlio dirette dello storage identificato da storageStreamId. |
IterTree(startStreamId: uint) | Restituisce tutte le voci nel sottoalbero radicato in startStreamId (depth-first). |
FindChildByName(storageStreamId: uint, name: string) | Restituisce l’ID stream del figlio diretto di storageStreamId il cui nome è uguale a name, oppure null se non trovato. |
ResolvePath(names: IEnumerable<string>, startStreamId: uint) | Scorre una sequenza di names a partire da startStreamId e restituisce l’ID stream della voce finale. |
Proprietà
| Nome | Tipo | Accesso | Descrizione |
|---|
Header | Header | Lettura | L’intestazione del file CFB analizzata; espone i campi di dimensione del settore. |
Difat | ReadOnlyCollection<uint> | Lettura | Vista in sola lettura della catena di settori DIFAT. |
Fat | ReadOnlyCollection<uint> | Lettura | Visualizzazione in sola lettura della catena di settori FAT (file allocation table). |
MiniFat | ReadOnlyCollection<uint> | Lettura | Visualizzazione in sola lettura della catena di settori FAT (file allocation table). |
DirectoryEntries | ReadOnlyCollection<DirectoryEntry> | Lettura | Tutte le voci di directory da 128-byte analizzate dai settori directory, in ordine grezzo. |
RootEntry | DirectoryEntry | Lettura | L’elemento della directory radice (ID stream 0). |
MiniStream | byte[] | Lettura | Byte grezzi del contenitore mini-stream (il flusso di dati dell’elemento radice). |
MajorVersion | int | Lettura | Versione principale CFB analizzata dall’intestazione del file. |
SectorSize | int | Lettura | Dimensione del settore in byte (512 per v3, 4096 per v4). |
MiniSectorSize | int | Lettura | Dimensione del settore in byte (512 per v3, 4096 per v4). |
DirectoryEntryCount | int | Lettura | Numero totale di record di voci della directory nei settori della directory. |
MaterializedStreamCount | int | Lettura | Numero di flussi con dati non vuoti nel documento analizzato. |
FileSize | int | Lettura | Dimensione totale del file o flusso sorgente in byte. |
Vedi anche