1

BY_HANDLE_FILE_INFORMATION 構造は、ファイルを編集した後でも一意のままであると想定されています。これをテキスト ファイルでテストしたところ問題なく動作しましたが、docx および xlsx ファイルでテストしたところ、変更されたように見えました。理由を知っている人はいますか?

4

1 に答える 1

0

BY_HANDLE_FILE_INFORMATION の宣言は次のとおりです。

public struct BY_HANDLE_FILE_INFORMATION
{
    public uint FileAttributes;
    public FILETIME CreationTime;
    public FILETIME LastAccessTime;
    public FILETIME LastWriteTime;
    public uint VolumeSerialNumber;
    public uint FileSizeHigh;
    public uint FileSizeLow;
    public uint NumberOfLinks;
    public uint FileIndexHigh;
    public uint FileIndexLow;
}

ご覧のとおり、いくつかのサイズ情報、最終アクセス時刻が含まれています...したがって、これがどのように一意であり続けることができるかわかりません。

ただし、(ファイルを(同じディスク上で)移動しても)一意のままである2つのフィールドがありFileIndexHighFileIndexLow

于 2014-01-02T12:23:28.113 に答える