IInterruptSync::CallSynchronizedRoutine 메서드(portcls.h)
메서드는 CallSynchronizedRoutine
ISR(인터럽트 서비스 루틴)이 아니지만 실행이 ISR과 동기화되어야 하는 루틴을 호출합니다.
구문
NTSTATUS CallSynchronizedRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext
);
매개 변수
[in] Routine
호출할 루틴에 대한 포인터입니다. 이 루틴은 개체의 ISR 및 개체를 통해 동기화되는 다른 모든 루틴을 제외하여 실행됩니다. 다중 프로세서 컴퓨터에서도 지정된 개체에 의해 동기화되는 루틴은 동시에 실행되지 않습니다. 이 매개 변수는 PINTERRUPTSYNCROUTINE 형식의 함수 포인터입니다( IInterruptSync 참조).
[in] DynamicContext
루틴에 전달할 컨텍스트 값입니다.
반환 값
CallSynchronizedRoutine
는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.
설명
에 전달 CallSynchronizedRoutine
된 루틴에 대한 호출이 완료될 때까지 등록된 ISR의 실행이 보류되도록 보장됩니다.
의 CallSynchronizedRoutine
호출자는 동기화 개체와 연결된 인터럽트 수준보다 작거나 같은 IRQL에서 실행되어야 합니다. 이 인터럽트는 PcNewInterruptSync 함수의 ResourceList 및 ResourceIndex 매개 변수에 의해 지정되었습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | 설명 섹션을 참조하십시오. |