1

私は、サーバーからいくつかのファイルを取り込み、それらを Web ブラウザーでユーザーに表示する必要があるプロジェクトに取り組んでいます。ユーザーがファイルに対して基本的な CRUD 操作を実行できる場所問題はunique id、ユーザーがファイルを削除/名前変更した場合に必要なファイル/フォルダーの名前を割り当てることができないことです。後でファイルを識別できるはずです。

私の質問は、ファイル/フォルダーにNTFS固有で使用できる固有のものはありますか? を使用してその情報にアクセスする方法.NET c#

BY_HANDLE_FILE_INFORMATION 構造に出くわしました が、おそらく私がする必要がありますpinvoke

更新 1 - nFileIndexHigh と nFileIndexLow を使用する可能性を調べてみましたが、pinvoke を行う必要があり、また、この方法はフォルダーでは使用できません。フォルダーのUnique Folder Identifierは、それが不可能であることを示しています。

4

2 に答える 2

0

I think the FILE_INTERNAL_INFORMATION structure, used to query for the file system's 8-byte file reference number for a file, is what you need. The IndexNumber is a number that uniquely identifies a file. You should use P/invoke to query this information.

于 2012-09-14T14:09:56.223 に答える
0

P/Invoke を実行したくないという事実を無視すると、別のアプローチとしてWindows Shell API を使用することができます。この API には、シェル名前空間内のフォルダー (または「類似の」アイテム) を識別するPIDLの概念があります。ユーザーがフォルダーの名前を変更しても、PIDL は変更されません。欠点は、シェル API が Windows エクスプローラーに表示されるものを公開することです。たとえば、Desktop物理的にはディスク上のどこかのサブフォルダーであっても、階層のルートにあります。

于 2012-09-14T14:17:50.243 に答える