TmReferenceEnlistmentKey 関数 (wdm.h)
TmReferenceEnlistmentKey ルーチンは、指定された参加オブジェクトのキーの参照カウントをインクリメントし、キーを取得します。
構文
NTSTATUS TmReferenceEnlistmentKey(
[in] PKENLISTMENT Enlistment,
[out] PVOID *Key
);
パラメーター
[in] Enlistment
参加リスト オブジェクトへのポインター。 コンポーネントは、 ResourceManagerNotification コールバック ルーチンへの入力としてこのポインターを受け取ることができます。 または、コンポーネントで ObReferenceObjectByHandle を呼び出し、 前に ZwCreateEnlistment、 TmCreateEnlistment、または ZwOpenEnlistment を呼び出したオブジェクト ハンドルを指定することもできます。
[out] Key
参加オブジェクトの参加キーを受け取る変数へのポインター。 呼び出し元は、 ZwCreateEnlistment または TmCreateEnlistment を呼び出すときに、参加キー を割り当てます。
戻り値
TmReferenceEnlistmentKey は 、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
Key パラメーターの値は NULL です。 |
|
指定した参加オブジェクトの参照カウントが 0 にデクリメントされているため、参照カウントをインクリメントできません。 |
|
参照カウントは最大値 (0xFFFFFFFF) であり、インクリメントできません。 |
ルーチンは、他の NTSTATUS 値を返す場合があります。
注釈
TmReferenceEnlistmentKey ルーチンは、参加オブジェクトのキー値の参照カウントをインクリメントし、TmDereferenceEnlistmentKey ルーチンによってカウントがデクリメントされます。
リソース マネージャーが参加リストのキー値を定義している場合、リソース マネージャーは 、ZwGetNotificationResourceManager を呼び出すとき、または KTM が ResourceManagerNotification コールバック ルーチンを呼び出すときにキー値を受け取ります。
リソース マネージャーは通知の処理中に、一時的なメモリ割り当てへのポインターとしてキーを使用し、参照カウントを使用してメモリの割り当てを解除するタイミングを決定する場合があります。
Zw Xxx ルーチンの代わりに KTM の TmXxx ルーチンを使用する場合の詳細については、「TmXxx ルーチンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のオペレーティング システム バージョンで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |