상세 컨텐츠

본문 제목

응용프로그램에서 디바이스프로그램까지...

청강컴정/시스템프로그래밍

by luckey 2009. 4. 3. 17:41

본문

kernel32.dll
handle = CreateFile()
ClseHandle(handle)
DeviceIoControl(handle)
ReadFile(handle) - 데이터를 달라고한다.
WriteFile(handle) - 데이터를 준다.
SetFilePointer(handle) - 위치를 바꾸고자 할 경우
CancleIo(handle) - 취소(해제)

ntddl.dll
유저레벨에서 커널레벨로 바꾸어준다.

kernel 에 있는 KiSysstemService 가 반겨준다.

ntdll.dll
Ntxxxx
Rtxxxx
Zwxxxx

NtCreateFile - CreateFile과 연결됨

Application -> CreateFile() -> KERNEL32.dll -> NtCreateFile() -> NTDLL.dll -> SYSENTER -> 커널입장
Application -> CloseHandle() -> KERNEL32.dll -> NtClose() -> NTDLL.dll -> SYSENTER -> 커널입장
Application -> ReadFile() -> KERNEL32.dll -> NtReadFile() -> NTDLL.dll -> SYSENTER -> 커널입장
Application -> WriteFile() -> KERNEL32.dll -> NtWriteFile() -> NTDLL.dll -> SYSENTER -> 커널입장

유저레벨 - 3번 Application
Kernel - 0번 Device Driver


관련글 더보기

댓글 영역