KeStackAttachProcess 함수(ntifs.h)
KeStackAttachProcess 루틴은 현재 스레드를 대상 프로세스의 주소 공간에 연결합니다.
주의 이 루틴을 매우 신중하게 사용합니다. (주의 섹션의 메모를 참조하세요.)
통사론
void KeStackAttachProcess(
PRKPROCESS PROCESS,
[out] PRKAPC_STATE ApcState
);
매개 변수
PROCESS
대상 프로세스 개체에 대한 포인터입니다. 이 매개 변수는 IoGetCurrentProcess 반환된 PEPROCESS 포인터이거나 PsGetCurrentProcess 수 있습니다.
[out] ApcState
KAPC_STATE 구조체에 대한 불투명 포인터입니다. 호출자는 비페이지 풀 또는 호출자의 자체 스레드 스택에서 이 구조에 대한 스토리지를 할당해야 합니다.
반환 값
없음
발언
KeStackAttachProcessProcess 매개 변수가 가리키는 프로세스의 주소 공간에 현재 스레드를 연결합니다. 현재 스레드가 이미 다른 프로세스에 연결된 경우 ApcState 매개 변수는 KeStackAttachProcess가 새 프로세스에 연결되기 전에 현재 APC 상태를 수신합니다.
KeStackAttachProcess 대한 모든 호출은 KeUnstackDetachProcess대한 후속 호출과 일치해야 합니다.
참고 스레드를 다른 프로세스에 연결하면 비동기 I/O 작업이 완료되지 않고 교착 상태가 발생할 수 있습니다. 일반적으로 KeStackAttachProcess 호출과 KeUnstackDetachProcess 호출 사이의 코드 줄은 매우 간단해야 하며 복잡한 루틴을 호출하거나 IRP를 다른 드라이버에 보내면 안 됩니다.
시스템 스레드를 사용하고 비비저장 스레드 컨텍스트 내에서 동기화를 관리하는 방법에 대한 자세한 내용은 windows Kernel-Mode Process 및 Thread Manager 참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h, Fltkernel.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |