次の方法で共有


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)

こちらもご覧ください

InitializeObjectAttributes

Nt および Zw バージョンのネイティブ システム サービス ルーチンの使用

ZwClose

ZwCreateDirectoryObject

ZwCreateFile