I am Pengrammer :)

driver 2

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

디바이스 드라이버란? 요즘에 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..