I am Pengrammer :)

Programming/Windows Driver 3

[스크랩] 윈도우즈 디바이스 드라이버 개발 방법

Driver online 커뮤니티에서 퍼온 글입니다.문제가 될 시 삭제 조치 하도록 하겠습니다. 좋은 글을 써주신 subsub님 감사합니다. 작성자 : 디바이스 드라이버 개발자 커뮤니티 - subsub)출처 : http://www.driveronline.org/bbs/view.asp?tb=begin&GotoPage=1&s_bulu=&s_key=&no=6 디바이스 드라이버 개발을 처음 시작하시는 분들이 가장 많이 하시는 질문은 “ 디바이스 드라이버를 개발하려면 무엇을 어떻게 공부해야 하나요 ? ” 라는 것이다 . 일반 애플리케이션 프로그램 개발을 시작하는 경우에는 자료도 많고 , 주변에 개발자들도 많아서 공부 방법이나 자료들을 쉽게 접할 수 있는데 , 디바이스 드라이버 분야는 개발자들이 많은 분야도 아니고..

[스크랩] 디바이스 드라이버란?

디바이스 드라이버란? 요즘에 PC 를 구입하게 되면 사용자들은 특별한 작업 없이 바로 컴퓨터를 사용할 수 있다. 예전에 필자가 처음 조립식 IBM PC를 구매했던 시절에는 PC 와 주변 기기 ( 모뎀, 사운드 카드, VGA 카드 등등 ) 를 사면 처음에 꼭 해야 할 일이 있었다. 주변 장치 별로 같이 포함되어 오는 플로피 디스크 또는 CD 에 들어있는 프로그램들을 설치하는 작업이다. 그 당시에 나는 이 프로그램들이 뭔지 모르고 설명서에 있는 대로 설치하고, 장치들을 연결해 사용했다. 가끔 PC 를 포맷할 경우에는 이 작업을 다시 해야 하는데, 이 때 플로피디스크 나 CD 를 잃어버려 같은 기종의 주변기기를 사용하는 친구에게 프로그램을 복사해오거나, PC 통신 등을 통해 필요한 프로그램들을 어렵게 구하던 ..

DriverEntry 함수

DriverEntry 함수 C언어에서는 main()함수가 entry point가 된다.Windows 응용프로그램에서는 WinMain() 함수가 entry point가 된다. 이처럼 드라이버에서는 DriverEntry 함수가 entry point 역할을 하게 된다. 그래서 드라이버에서의 초기화 작업은 이 DriverEntry 함수에서 해주면 된다.DriverEntry는 디바이스가 몇 개가 들어오든 맨 처음 한번만 호출된다. DRIVER_INITIALIZE DriverEntry; NTSTATUS DriverEntry( _In_ struct _DRIVER_OBJECT *DriverObject, _In_ PUNICODE_STRING RegistryPath ) { ... } pDriverObjectpDriverO..