2008年5月29日 星期四

如何撰寫KernelIoControl給AP使用呢

首先
為什麼要用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:

KernelIoControl


透過Facebook分享

沒有留言: