2014-12-30 3 views
0

이제 커널 모드에서 minifilter로 작업하고 있습니다. notepad.exe, mspaint.exe과 같은 시스템 응용 프로그램이나 C# 응용 프로그램 ...와 같은 사용자가 만든 응용 프로그램을 실행하고 싶습니다.Minifilter : 커널 모드에서 응용 프로그램을 실행하는 방법

내 질문은 :

  1. 내가 커널에서 응용 프로그램을 실행할 수 있습니까?
  2. 만약 내가 할 수 있다면 어떻게해야합니까?

새해 복 많이 받으세요!

덕분에 모든

[편집]

내가 그들 (미니 필터 (C) 및 응용 프로그램 (C#, C/C++)) 사이의 통신에 Windows 서비스 (C#)을 만들

  1. Windows 서비스 응용 프로그램을 시작합니다 == > 완료. minifilter에서 get 및 check 메시지를 보낸 후에 실행됩니다.

  2. 미니 필터 서비스에 메시지를 보내

  3. [미니 필터] 통신 포트 만들기

  4. [미니 필터] 체크 조건 이후에 서비스하기 위해 메시지 보내기

  5. [서비스]이 포트에 의해에서 메시지를 가져 오기 FilterGetMessage

    ==> C#에서 FilterGetMessage를 어떻게 사용합니까?

는 UPDATE : 내가 사용

얻을 서비스에

  • FilterGetMessage을 서비스하기 위해 메시지를 보내 운전자

  • FltSendMessage

      드라이버로부터의 메시지

    ==> 그러나 상태가 성공하지만 상기 메시지 버퍼가 널 (상태 = 0)

    What is not correct? 
    

    P는/S는 : 메시지 콘텐츠 파일 이름이다.

  • +2

    커널에서 직접 응용 프로그램을 실행할 수 없습니다. 실행 응용 프로그램으로 스레드 또는 서비스를 작성한 다음 스레드가 커널 드라이버를 요청하고 커널 드라이버가 공유 이벤트를 실행할 때까지 기다리거나 계류중인 IRP –

    +0

    @ reinhardv.z를 완료해야합니다. 뒤따라 : 나는 미니 필터 드라이버와 응용 프로그램 사이에 서 있어야합니다. 몇 가지 조건이 옳다면, 미니 필터는 이벤트를 서비스에 공유 한 다음 서비스 시작 애플리케이션을 선택하십시오. 맞아?
    minifilter 드라이버 공유 이벤트 또는 완료 보류중인 IRP에 대한 자세한 정보를 제공 할 수 있습니까? (나는 단지 초보자이다).

    대단히 감사합니다. – GSP

    +1

    어쩌면이 기사는 당신을 도울 것이다 ... 거꾸로 한 전화 모형 http://www.osronline.com/article.cfm?id=94 행운을 빕니다 –

    답변

    0

    Windows Minifilter는 Usermode 응용 프로그램에서 & 메시지를 수신 할 수있는 프레임 워크를 가지고 있습니다. 통신 메커니즘에 대한 자세한 내용은이 api : FilterSendMessage를 확인하십시오. 이를 사용하여 응용 프로그램을 시작하기 위해 사용자 모드 응용 프로그램에 알림을 보낼 수 있습니다.

    +0

    _ FilterSendMessage 기능 **은 ** 커널 모드 미니 필터 _에 메시지를 보냅니다. 하지만 지금은 실행되지 않는 미니 필터 (커널 모드) 시작 응용 프로그램 (예 : C : \ Program Files \ Abc \ def.exe)을 원합니다. 감사! – GSP

    +1

    응용 프로그램을 실행해야 할 때 커널 모드 드라이버가 메시지를 전달하는 usermode 응용 프로그램이 필요합니다. – dvasanth

    +0

    다음과 같습니다 : - (1) 미니 필터 (커널 모드) - 항상 실행

    - (2) GUI (사용자 모드) 로의 적용 - 그렇지 않습니다. 미니 필터 검사 조건에서만 실행됩니다. 완료되면 자동으로 멈 춥니 다. – GSP