概要
CfbWriter は CfbDocument を有効な Compound File Binary ファイルにシリアライズします。シリアライズされた内容をバイト配列として取得するには ToBytes を呼び出し、ディスクに直接書き込むには WriteFile を使用してください。内部の Serialize メソッドは、MS-CFB 仕様に従って FAT、DIFAT、mini-FAT、ディレクトリセクタを構築します。コンストラクタは、ライター内部でエントリレコードとセクタチェーンを表すために使用されます。
コンストラクタ
| シグネチャ | 説明 |
|---|
Serializer(document: CfbDocument) | 指定されたパラメータで新しいCfbWriterを作成します。 |
EntryRecord(streamId: uint, name: string, objectType: DirectoryObjectType, clsid: byte[], stateBits: uint, creationTime: ulong, modifiedTime: ulong) | 指定されたパラメータで新しいCfbWriterを作成します。 |
Chain(payload: byte[]) | 指定されたパラメータで新しいCfbWriterを作成します。 |
メソッド
| シグネチャ | 説明 |
|---|
ToBytes(document: CfbDocument) | documentをCFB準拠のバイト配列にシリアライズします。 |
WriteFile(document: CfbDocument, path: string) | シリアライズし、document を path のファイルに書き込みます。 |
Serialize() | 内部CFBレイアウトを実行します: FATセクタを割り当て、ディレクトリエントリを構築し、完全なバイナリを返します。 |
プロパティ
| 名前 | 型 | アクセス | 説明 |
|---|
StreamId | uint | 読み取り | このエントリレコードに割り当てられたゼロベースのディレクトリインデックス。 |
Name | string | 読み取り | UTF-16LE エントリ名(CFB ディレクトリに表示される形)。 |
ObjectType | DirectoryObjectType | 読み取り | このエントリのオブジェクトタイプバイトにエンコードされた DirectoryObjectType の値。 |
Clsid | byte[] | 読み取り | このエントリの CLSID フィールドに書き込まれる 16 バイトの CLSID。 |
StateBits | uint | 読み取り | このエントリにアプリケーション定義の状態ビットが書き込まれます。 |
CreationTime | ulong | 読み取り | このエントリに作成タイムスタンプ(FILETIME)が書き込まれます。 |
ModifiedTime | ulong | 読み取り | このエントリに書き込まれる変更タイムスタンプ(FILETIME)。 |
StreamData | byte[] | 読み取り | ストリーム型エントリのペイロードバイト(ストレージ型エントリの場合は空)。 |
Children | List<EntryRecord> | 読み取り | ストレージ型ノードの子 EntryRecord エントリの順序付けされたリスト。 |
ColorFlag | DirectoryColorFlag | 読み取り | このエントリのディレクトリレコードに書き込まれる赤黒木の色。 |
LeftSiblingId | uint | 読み取り | 赤黒木における左兄弟のStream ID。 |
RightSiblingId | uint | 読み取り | 赤黒木における右兄弟のStream ID。 |
ChildId | uint | 読み取り | 最初の子エントリのストリーム ID(ストレージタイプ ノード用)。 |
StartingSectorLocation | uint | 読み取り | このストリームのデータの最初の FAT セクタ インデックス。 |
StreamSize | ulong | 読み取り | ストリーム データ ペイロードのバイト数。 |
IsRoot | bool | 読み取り | このエントリがルートストレージエントリ(ストリーム ID 0)の場合は True。 |
IsStorage | bool | 読み取り | このエントリがストレージコンテナの場合は True。 |
IsStream | bool | 読み取り | このエントリがデータストリームの場合は True。 |
Payload | byte[] | 読み取り | このエントリの完全なシリアライズされたバイト列(チェーンビルダー内部で使用されます)。 |
Sectors | List<uint> | 読み取り | このエントリのデータに割り当てられた FAT セクタインデックスの順序付きリスト。 |
FirstSector | uint | 読み取り | このエントリのデータに割り当てられた最初の FAT セクタのインデックス。 |
参照