본문 바로가기

About Programing/04. Device Driver

[TDI_FW] 예제 분석 5월 18일

참고 자료 : 윈도우 디바이스 드라이버 - 이봉석(한빛미디어) 604쪽

- 서비스를 생성하는 목적으로 사용되는 Win32 API 함수 정리
  • OpenSCManager() : 서비스를 생성하거나 제거, 중지 등의 일을 하기 위해서 사전에 사용하는 서비스 컨트롤 관리자(Service Control Manager) 핸들을 얻는 함수다.
  • OpenService() : 기존에 생성한 서비스 핸들을 얻는 함수다. 디바이스 드라이버 서비스를 생성하기 전에 이 함수를 먼저 사용하여 드라이버를 위한 서비스가 이미 생성되어 있느닞를 알아보는 용도로 사용한다.
  • CreateService() : 서비스를 생성하는 목적으로 사용하는 함수다.
  • StartService() : 서비스를 실행하는 목적으로 사용하는 함수다. NT 구형(Legacy) 드라이버를 위한 서비스는 이와 같은 함수를 응용 프로그램이 직접 호출함으로써 드라이버를 메모리에 적재할 수 있다. 그러나 WDM 드라이버는 디바이스 스택형성 과정을 위해서 메모리에 적재되므로 이 함수를 사용하지 않는다.
  • ControlService() : 동작 중인 서비스에 특정 명령을 전달하는 목적으로 사용하는 함수다.
  • DeleteService() : 생성된 서비스를 제거하는 용도로 사용하는 함수다.
  • CloseServiceHandle() : 사용하던 서비스 핸들, SCM 핸들을 반납하는 용도로 사용하는 함수다.

'About Programing > 04. Device Driver' 카테고리의 다른 글

SDT 수정을 이용한 Native API Hooking  (0) 2010.07.28
WinDbg 명령어 정리  (0) 2010.06.14
완전 신기!  (0) 2010.05.23
5월 22일 SOURCES 파일  (0) 2010.05.23
[TDI_FW] 예제 분석 5월 19일  (0) 2010.05.20