次の方法で共有


KeUnstackDetachProcess 関数 (ntifs.h)

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

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

構文

void KeUnstackDetachProcess(
  [in] PRKAPC_STATE ApcState
);

パラメーター

[in] ApcState

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

戻り値

何一つ

備考

KeStackAttachProcess 正常に呼び出されるたびに、後続の keUnstackDetachProcess への呼び出し照合する必要があります。

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

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (Ntifs.h、Fltkernel.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

関連項目

IoGetCurrentProcess

IoGetRequestorProcess

IoThreadToProcess

KeGetCurrentIrql

KeGetCurrentThread

KeStackAttachProcess

PsGetCurrentProcess

PsGetCurrentThread