ちゃっぴの監禁部屋

ガチガチに締めすぎて動きがとれなくなる。。。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  405  : 記事  5  : コメント  11640  : トラックバック  134

ニュース

記事カテゴリ

書庫

日記カテゴリ

Communities

Personal Information

Windows の path について」 や 「[WSH] "Scripting" library の file に関する class はちゃんと File Streams を扱える 」で書きましたが、Windows は複数の「File Streams」を support しています。

これっていったい何でしょう?
理解するためには、FileSystem に関するちょっとした理解が必要です。

といってもそんな難しい話ではなくて、一般的な data の管理方法を理解していれば簡単に理解できる話です。

Data を効率的に管理するためには、index と data の部分を分離しますよね?
# RDBMS なんかが絶好の sample です。

で、index はその data を管理する必要があるので、当然扱う data を特定できるもの(RDBMS でいうところの primary key つまり 主キー) を持っているわけです。

Windows で扱える FileSystem も同様で、index 領域と data 領域に分かれています。
# Windows に限らず一般的な FileSystem 全般に対して言えることですがね。

File Streams とは上記で言及している data 領域を指します。

Index というからには primary key とそれに対応する data の対応表が必要なわけで、FileSystem の場合 primary key は path になります。
Data の場所を表すのはその data が存在する FileSystem の場所を表すもの (つまりは pointer) になるわけです。

つまり、NTFS FileSystem の場合、ひとつの path に付き複数の File Streams を扱うことができるようになっているんです。

でも単にそれをやってしまったら、ひとつの path につき複数の File Streams が対応することになり、読み込む data が特定できなくなってしまいますよね?

安心してください。そういった用途のために Windows で扱える path の表現方法が拡張されているのです。

具体的には、「File Streams」で説明されているように "<file path>:<stream name>" もしくは "<file path>:<stream name>:$<data type>"  のような形式で通常の file path に付け加える形で扱いたい file stream を特定できます。

特定しない場合には当然、主となる File Stream が返されます。

投稿日時 : 2007年8月26日 3:42

コメント

No comments posted yet.

Post Feedback

タイトル
名前
Url:
コメント