ZwMakeTemporaryObject 関数 (wdm.h)
ZwMakeTemporaryObject ルーチンは、オブジェクトの属性を一時的なものに変更します。
構文
NTSYSAPI NTSTATUS ZwMakeTemporaryObject(
[in] HANDLE Handle
);
パラメーター
[in] Handle
任意の型の オブジェクトを処理します。
戻り値
ZwMakeTemporaryObject は、成功した場合はSTATUS_SUCCESS、失敗した場合は適切な NTSTATUS エラー コードを返します。
注釈
ZwMakeTemporaryObject は、任意の種類のオブジェクトを操作するジェネリック ルーチンです。
オブジェクトは、OBJ_PERMANENT オブジェクト属性を指定して作成された場合、永続的です。 (オブジェクト属性の詳細については、「 InitializeObjectAttributes」を参照してください)。永続的オブジェクトは参照カウント 1 で作成されるため、ドライバーが逆参照しても削除されません。
オブジェクトが永続的でない場合、オブジェクトは一時的なものです。 ZwMakeTemporaryObject は 、指定したオブジェクトを一時オブジェクトに変換します。 オブジェクトが既に一時的な場合、このルーチンは何も行いません。
一時オブジェクトの名前は、ハンドル数が 0 より大きい限りのみです。 ハンドル数が 0 に達すると、システムはオブジェクト名を削除し、オブジェクトのポインター数を適切に調整します。
この関数の呼び出しがユーザー モードで発生する場合は、"ZwMakeTemporaryObject" ではなく"NtMakeTemporaryObject" という名前を使用する必要があります。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |