FILE_DISPOSITION_INFORMATION_EX 構造体 (ntddk.h)
FILE_DISPOSITION_INFORMATION_EX構造体は、ZwSetInformationFile ルーチンの引数として使用され、オペレーティング システムがファイルを削除する方法を示します。
構文
typedef struct _FILE_DISPOSITION_INFORMATION_EX {
ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;
メンバー
Flags
削除中に特定のファイルに対してシステムが実行する必要があるアクションを指定します。
フラグ名 | 値 | 意味 |
---|---|---|
FILE_DISPOSITION_DO_NOT_DELETE | 0x00000000 | システムがファイルを削除しないように指定します。 |
FILE_DISPOSITION_DELETE | 0x00000001 | システムがファイルを削除する必要があることを指定します。 |
FILE_DISPOSITION_POSIX_SEMANTICS | 0x00000002 | システムが POSIX スタイルの削除を実行する必要があることを指定します。 詳細については、「解説」を参照してください。 |
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK | 0x00000004 | イメージ セクションを強制的にチェックする必要があるシステムを指定します。 |
FILE_DISPOSITION_ON_CLOSE | 0x00000008 | システムが on-close 状態を設定またはクリアするかどうかを指定します。 |
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE | 0x00000010 | 読み取り専用ファイルを削除できるようにします。 詳細については、以下の「解説」セクションを参照してください。 |
注釈
ZwSetInformationFile を FILE_DISPOSITION_DELETEで呼び出すには、呼び出し元が特定のファイルに対する DELETE アクセス権を持っている必要があります。
FILE_DISPOSITION_POSIX_SEMANTICSが設定されていない場合、ファイルの開いているハンドルがすべて閉じられ、ファイルのリンク数が 0 になるまで、削除対象としてマークされたファイルは実際には削除されません。 FILE_DISPOSITION_POSIX_SEMANTICSが設定されている場合、POSIX 削除ハンドルが閉じられるとすぐにリンクが表示されている名前空間から削除されますが、ファイルのデータ ストリームには、最後のハンドルが閉じられるまで、他の既存のハンドルからアクセスできます。 つまり、既にファイルを開いていたアプリケーションでは、開くために使用した名前が消え、ファイルのリンク数が 0 に達した可能性がある場合でも、ハンドルを使用して読み取り/書き込みを行うことができます。
ファイルがユーザーの要求時に削除される場合、POSIX セマンティクスを使用すると、システムは要求に応じてファイルを削除できますが、開いているハンドルを持つプロセスは、ハンドルが開いている限り、ファイルのデータに引き続きアクセスできます。
STATUS_CANNOT_DELETE の戻り値は、ファイルが読み取り専用であるか、ファイルにマップされた既存のビューがあることを示します。
要件
要件 | 値 |
---|---|
Header | ntddk.h (Ntddk.h、Ntifs.h を含む) |