...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

ファイルの同一性とIDからのファイルアクセス

ファイルの同一性はBY_HANDLE_FILE_INFORMATION構造体のnFileIndexHighとnFileIndexLowを見ればよい.

Windowsで、inode 情報に当たるファイルの ID は、GetFileInformationByHandle() API の戻り値 BY_HANDLE_FILE_INFORMATION 構造体の nFileIndexHigh および nFileIndexLow メンバに格納されます。また、デバイス番号は、dwVolumeSerialNumber メンバに入ります。ちょうど、st_dev => dwVolumeSerialNumber, st_ino => nFileIndexHigh および nFileIndexLow という対応になります。そこで、これら、3つのメンバの値が全て等しい場合に、ファイルを同一と判定できます。

http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AWindows%2FVC%2B%2B%3Alog%3Adetail_2005_2

では,ファイルのIDを記録しておいて,後でそのIDでファイルにアクセスするにはどうしたらいいのだろう?
Windowsではできないのだろうか.
他のOSでinodeを使えたらそういうことができるのだろうか.
全然経験の範囲外だ.