次の方法で共有


KeUnstackDetachProcess 関数 (ntifs.h)

KeUnstackDetachProcess ルーチンは、プロセスのアドレス空間から現在のスレッドをデタッチし、以前のアタッチ状態を復元します。

注意 このルーチンは細心の注意を払って使用してください。 (次の「備考」セクションを参照してください。
 

構文

void KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);

パラメーター

[in] ApcState

KeStackAttachProcess の以前の呼び出しから返されたKAPC_STATE構造体への不透明なポインター。

戻り値

なし

解説

KeStackAttachProcess の呼び出しが成功するたびに、後続の KeUnstackDetachProcess の呼び出しと一致する必要があります。

メモ スレッドを別のプロセスにアタッチすると、非同期 I/O 操作が完了しなくなる可能性があり、デッドロックが発生する可能性があります。 一般に、 KeStackAttachProcess の呼び出しと KeUnstackDetachProcess の呼び出しの間のコード行は非常に単純であり、複雑なルーチンを呼び出したり、IRP を他のドライバーに送信したりしないでください。
 

システム スレッドの使用と非固定スレッド コンテキスト内での同期の管理の詳細については、「 ドライバー スレッド、ディスパッチャー オブジェクト、およびリソース」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h、Fltkernel.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL < DISPATCH_LEVEL

こちらもご覧ください

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeStackAttachProcess

PsGetCurrentProcess

PsGetCurrentThread