ZwDeleteFile 関数 (ntifs.h)

ZwDeleteFile ルーチンは、指定したファイルを削除します。

構文

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

パラメーター

[in] ObjectAttributes

ファイル オブジェクトに使用 する呼び出し元によって提供される属性を含むOBJECT_ATTRIBUTES構造体へのポインター。 たとえば、これらの属性には ObjectNameSECURITY_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文字の後に空の文字列が見つかったため、無効だった ObjectNameOBJECT_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 つあります。

  • 完全修飾パス名として、入力 ObjectAttributesObjectName メンバーで指定されます
  • 入力 ObjectAttributesRootDirectory メンバーのハンドルによって表されるディレクトリ ファイルに対する相対パス名として

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)

こちらもご覧ください

InitializeObjectAttributes

OBJECT_ATTRIBUTES