為什麼要用KernelIoControl做事情
而不讓AP直接把事情做完呢
我想
就是因為權限的關係
OS有責任負責保護系統運作穩定
能夠正確的達到
memory 使用
process proection,
job scheduling,...
這些關於需要控制到硬體底層 當然不能交由AP來處理嚕
AP有需要硬體底層資訊的時候
該怎麼處理呢
當然
就透過KernelIoControl來達到此目的嚕
第一個
定義IOControl code
需要在ioctl_cfg.h定義
Defines the processor instruction set information
#define IOCTL_HAL_xxxx CTL_CODE(FILE_DEVICE_HAL, 數字, METHOD_BUFFERED, FILE_ANY_ACCESS)
第二個
定義IOControl Code 與 function name的關係
需要在ioctl_tab.h定義
signal與相對應的function name
(IOCTL_HAL_xxxx, 0, OALIoCtlHalGet.......),
第三個 宣告function name in Header file
ioctl_new.h
BOOL OALIoCtlHalxxxxx(xxxxxxx)
第四個 撰寫實做的內容
ioctlmisc.c
Reference:
沒有留言:
張貼留言