/// @brief scff_interprocessから変換
        public void LoadFromInterprocess(scff_interprocess.Directory input)
        {
            this.Entries.Clear();
            const int kMaxEntry = scff_interprocess.Interprocess.kMaxEntry;

            for (int i = 0; i < kMaxEntry; i++)
            {
                if (input.entries[i].process_id == 0)
                {
                    continue;
                }
                this.Entries.Add(new Entry(input.entries[i]));
            }
        }
        /// @brief scff_interprocessモジュールのパラメータを生成
        public static scff_interprocess.Directory ToInterprocessDirectory(Directory input)
        {
            scff_interprocess.Directory output = new scff_interprocess.Directory();

            // Listの前から順番に書き込む
            const int kMaxEntry = scff_interprocess.Interprocess.kMaxEntry;
            output.entries = new scff_interprocess.Entry[kMaxEntry];
            for (int i = 0; i < kMaxEntry; i++) {
              if (i < input.Entries.Count) {
            output.entries[i] = EntryFactory.ToInterprocessEntry(input.Entries[i]);
              } else {
            // C#はインスタンスは勝手にゼロクリアされる
            output.entries[i] = new scff_interprocess.Entry();
              }
            }

            return output;
        }