본문 바로가기
개발/Windows

Zw함수의 접두사의 의미는?

by lucidmaj7 2020. 1. 3.
728x90
반응형

Zw함수의 접두사의 의미는?

Kernel 모드 드라이버를 개발하다보면 Zw가 붙은 함수들을 호출 하게 된다. Kernel 모드 함수들의 접두어는 Zw 이외에도 여러가지 접두어들이 있다. 그 예는 아래와 같다.

접두사 커널 구성요소 루틴 예
Cm Configuration manager CmRegisterCallbackEx
Ex Executive ExAllocatePool
Hal Hardware abstraction layer HalGetAdapter
Io I/O manager IoAllocateIrp
Ke Kernel core KeSetEvent
Mm Memory manager MmUnlockPages
Ob Object manager ObReferenceObject
Po Power manager PoSetPowerState
Tm Transaction manager TmCommitTransaction
Nt,Zw Native system services NtCreateFile , ZwCreateFile

MSDN에 따르면 어이없게도 Nt는 NT의 약자이지만 Zw는 의미가 없다고 한다. 다른 API와 충돌을 회피하기위해 Zw로 정하고 앞으로 Zw가 접두사로 붙는 함수는 사용하지 않겠다는 의미로 Zw를 정했다고 한다.

https://docs.microsoft.com/ko-kr/windows-hardware/drivers/kernel/what-does-the-zw-prefix-mean-

728x90
반응형

댓글