2013-10-04 3 views
0

내가 안티 바이러스 프로그램에 대한 커널 모드 드라이버를 개발하고 있어요에 커널 모드에서 값을 보내는,하지만 난"사용자 모드

내가 예를 들어 (문자열 값을 보낼 드라이버 섹션에서 문제를했습니다 문자열 ") 커널 모드 드라이버에서 사용자 모드 응용 프로그램. 누구든지 도와 드릴까요?

답변

1

이 질문은 오래 전부터 제기되었지만 해결책을 찾았 으면합니다. 아무 것도 없었기 때문에이 솔루션을 게시하고 있습니다.

문자열을 사용자 모드 클라이언트 응용 프로그램으로 보내는 방법에 따라 다릅니다.

한 가지 방법은 IOCTL 명령입니다. METHOD_BUFFERED를 사용하여 간단한 IOCTL 명령을 실행하면 (문자열이 거의 데이터가 아니라고 가정하면) 실제로 완료됩니다.

다른 방법은 클라이언트가 이벤트를 기다리고 커널 드라이버에서 해당 문자열을 사용할 수있게되면 드라이버가 이벤트를 시작하도록하는 것입니다. 그런 다음 사용자 모드 응용 프로그램의 대기가 끝나면 데이터를 가져옵니다. (물론, 대기 시간이 초과되지 않았거나 다른 많은 것들이없는 경우)