APC 유형
APC(비동기 프로시저 호출)는 비동기적으로 실행되는 함수입니다. APC는 DPC(지연 프로시저 호출)와 유사하지만 DPC와 달리 APC는 특정 스레드의 컨텍스트 내에서 실행됩니다. 드라이버(파일 시스템 및 파일 시스템 필터 드라이버 이외의)는 APC를 직접 사용하지 않지만 운영 체제의 다른 부분에서는 APC의 작동 방식을 알고 있어야 합니다.
Windows 운영 체제는 네 가지 종류의 APC를 사용합니다.
특수 사용자 모드 APC는 사용자 모드에서 엄격하게 실행되며 대상 스레드가 경고 대기 상태가 아니더라도 항상 실행됩니다. 특수 사용자 모드 APC에 대한 자세한 내용은 QueueUserAPC2를 참조하세요.
일반 사용자 모드 APC 는 사용자 모드에서 엄격하게 실행되며 대상 스레드가 경고 대기 상태인 경우에만 실행됩니다. 운영 체제는 일반 사용자 APC를 사용하여 겹치는 I/O 및 QueueUserApc Win32 루틴과 같은 메커니즘을 구현합니다.
일반 커널 APC는 IRQL = PASSIVE_LEVEL 커널 모드에서 실행됩니다. 일반 커널 APC는 사용자 APC를 포함한 모든 사용자 모드 코드를 선점합니다. 일반 커널 APC는 일반적으로 파일 시스템 및 파일 시스템 필터 드라이버에서 사용됩니다.
특수 커널 APC는 IRQL = APC_LEVEL 커널 모드로 실행됩니다. 특수 커널 APC는 사용자 APC 및 일반 커널 APC를 포함하여 IRQL = PASSIVE_LEVEL 실행되는 사용자 모드 코드 및 커널 모드 코드를 선점합니다. 운영 체제는 특수 커널 APC를 사용하여 I/O 요청 완료와 같은 작업을 처리합니다.
가장 낮은 우선 순위에서 가장 높은 우선 순위까지의 IRQL 목록은 하드웨어 우선 순위 관리를 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기