드라이버가 IRP를 받았을때 할수 있는 액션은 3가지가 있다. (고 들었삼;;)
IRP완료, IRP (하위 디바이스로)전달, IRP펜딩
IRP펜딩이 왜 필요할까?
이런 시나리오를 생각해 보자.
쓰레드가 있다. 무한 루프를 돌며 어떤 처리를 하는 쓰레드다. 해당 쓰레드가 드라이버에 요청을 한다.
IRP가 왔다. 내가 처리할게 없다. 완료 시켰다.
app는 완료를 봤다. 다시 드라이버에 요청한다.
IRP가 왔다. 내가 처리할게 없다. 완료 시켰다.
... 괜한 power를 낭비하고 있는거다.-0-!
IRP펜딩을 시키면..
IRP가 왔다. 내가 처리할게 없다. 펜딩 시켰다.
...오랜 시간이 흘렀다. 내가 처리할게 생겼다. 처리 했다. 완료 시켰다.
app는 완료를 봤다. 다시 드라이버에 요청한다.
... 괜한 power를 낭비하지 않았다.-0-!
PS. 누구 IRP펜딩 처리하는 예제 코드좀 보여주삼. 아니면 WDK에서 해당하는 소스 이름이라도..ㅠ_ㅜ
IRP완료, IRP (하위 디바이스로)전달, IRP펜딩
IRP펜딩이 왜 필요할까?
이런 시나리오를 생각해 보자.
쓰레드가 있다. 무한 루프를 돌며 어떤 처리를 하는 쓰레드다. 해당 쓰레드가 드라이버에 요청을 한다.
IRP가 왔다. 내가 처리할게 없다. 완료 시켰다.
app는 완료를 봤다. 다시 드라이버에 요청한다.
IRP가 왔다. 내가 처리할게 없다. 완료 시켰다.
... 괜한 power를 낭비하고 있는거다.-0-!
IRP펜딩을 시키면..
IRP가 왔다. 내가 처리할게 없다. 펜딩 시켰다.
...오랜 시간이 흘렀다. 내가 처리할게 생겼다. 처리 했다. 완료 시켰다.
app는 완료를 봤다. 다시 드라이버에 요청한다.
... 괜한 power를 낭비하지 않았다.-0-!
PS. 누구 IRP펜딩 처리하는 예제 코드좀 보여주삼. 아니면 WDK에서 해당하는 소스 이름이라도..ㅠ_ㅜ


덧글
WERT 2008/02/15 20:26 # 답글
오랜만에 올리셨네요. ㅎㅎ 요새도 공부 열심히 하세요?? 일 하시는건 잘되시는지..
승네군 2008/02/18 12:39 # 삭제 답글
안되삼..ㅠ_ㅜ
WERT 2008/02/20 18:31 # 답글
쿨럭..