2012-05-09 19 views
2

Windowsのディレクトリのinode番号を見つける必要があります。 _stat_stat64関数を使用すると、ファイルのiノードとその他の情報を取得できます。しかし、Windowsのディレクトリに同じものを使用すると、どのディレクトリにも同じ番号が与えられます。Windowsのディレクトリにはiノード番号がありますか?

Windowsディレクトリのiノード番号を見つける方法はありますか? windows stat docsから

答えて

4

st_inoによって取得

ファイル情報ノード(iノード)の数(UNIX固有)。 UNIXファイルシステムでは、inodeはファイル の日付と時刻、アクセス権、および内容を記述します。ファイルが にハードリンクされている場合、それらは同じinodeを共有します。 inode、 、したがってst_inoは、FAT、HPFS、またはNTFSファイル システムでは意味を持ちません。

Windowsシステムでは、iノード番号には依存しないでください。 Unix特有のコンセプトです。

Windowsがinodeなしでファイルを管理する方法はいくつか考えられますが、類似のものを使用する方法については、SO postを参照してください。ウィキペディアから

1

インデックスノード(iノード)は、UFSなどの伝統的なUnixスタイルのファイルシステム上のデータ構造です。 inodeは、通常のファイル、ディレクトリ、またはその他のファイルシステムオブジェクトに関するすべての情報(データと名前を除く)を格納します。

Windowsで使用される通常のファイルシステムは、iノード 概念を中心に構築されていない、彼らは異なっているので、報告するための「iノード番号」、とりわけ はありません。ここで

は明確な説明とのリンクです:Inode Explanation

2

Windowsファイルシステムは、ほとんどのUnixファイルシステム内のiノード番号に直接アナログを持っていません。

問題のディレクトリを一意かつ曖昧さなく識別できるようにするには、ボリュームのシリアル番号とFileIdの組み合わせが十分であることがあります。 FileInformationClass(第2パラメータ)をFileIdInfoに設定して、GetFileInformationByHandleEx(名前にもかかわらずディレクトリに関する情報を取得できます)でこれらを取得できます。

これは、で、ほとんどはNTFSでも役に立ちます。です。ドキュメントで見てきたように、FATファイルシステムの制限はかなり重要です(ただし、ニーズに応じて、これ以上のものはありません)。

関連する問題