ZwDeleteFile 関数 (ntifs.h)
ZwDeleteFile ルーチンは、指定したファイルを削除します。
構文
NTSYSAPI NTSTATUS ZwDeleteFile(
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
パラメーター
[in] ObjectAttributes
ファイル オブジェクトに使用 する呼び出し元によって提供される属性を含むOBJECT_ATTRIBUTES構造体へのポインター。 たとえば、これらの属性には ObjectName と SECURITY_DESCRIPTORが含まれます。 このパラメーターは、 InitializeObjectAttributes マクロを呼び出すことによって初期化されます。
戻り値
ZwDeleteFile は 、操作の最終的な完了状態を表すSTATUS_SUCCESSまたは適切なエラー状態を返します。 考えられるエラー状態コードは次のとおりです。
リターン コード | 説明 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | この関数に必要な一時バッファーを割り当てませんでした。 |
STATUS_INVALID_PARAMETER | 指定した ObjectAttributes パラメーターが NULL ポインターであり、 OBJECT_ATTRIBUTES 構造体への有効なポインターではないか、指定された ObjectAttributes 構造体メンバーの一部が無効でした。 |
STATUS_OBJECT_NAME_INVALID | ObjectAttributes パラメーターには、OBJECT_NAME_PATH_SEPARATOR文字の後に空の文字列が見つかったため、無効だった ObjectName がOBJECT_ATTRIBUTES構造体に含まれていました。 |
STATUS_OBJECT_NAME_NOT_FOUND | ObjectAttributes パラメーターには、見つからなかった objectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。 |
STATUS_OBJECT_PATH_NOT_FOUND | ObjectAttributes パラメーターには、見つからなかったオブジェクト パスを持つOBJECT_ATTRIBUTES構造体に ObjectName メンバーが含まれていました。 |
STATUS_OBJECT_PATH_SYNTAX_BAD | ObjectAttributes パラメーターに RootDirectory メンバーが含まれていませんでしたが、OBJECT_ATTRIBUTES構造体の ObjectName メンバーが空の文字列であるか、OBJECT_NAME_PATH_SEPARATOR文字が含まれていませんでした。 これは、オブジェクト パスの正しくない構文を示します。 |
注釈
ZwDeleteFile は 、指定したファイル オブジェクトを削除します。
ZwDeleteFile 関数は、InitializeAttributes マクロを使用して、削除するファイル オブジェクトのOBJECT_ATTRIBUTES構造体の属性を設定した後に呼び出されます。
削除するファイルの名前を ZwDeleteFile で指定する方法は 2 つあります。
- 完全修飾パス名として、入力 ObjectAttributes の ObjectName メンバーで指定されます
- 入力 ObjectAttributes の RootDirectory メンバーのハンドルによって表されるディレクトリ ファイルに対する相対パス名として
ZwDeleteFile の呼び出し元は、IRQL = PASSIVE_LEVELで実行され、特殊なカーネル APCs が有効になっている必要があります。
ZwDeleteFile 関数の呼び出しがユーザー モードで行われる場合は、"ZwDeleteFile" ではなく "NtDeleteFile" という名前を使用する必要があります。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |