11.06.2006

OEMIoControl

debug 時,log 有:
OEMIoControl: Unsupported Code 0x10100fc - device 0x0101 func 63
所以查一下 OEMIoControl: http://msdn.microsoft.com/library/
default.asp?url=/library/en-us/wcedsn40/html/cmrefOEMIoControl.asp

OEMIoControl是OAL implement的,當 device driver或application 呼叫 KernelIoControl( )這個Kernel Sevice Function 時,kernel就會呼叫OEMIoControl,另外,SystemParametersInfo( )這個function call 也會呼叫OEMIoControl( ),由OAL 負責傳回system information。

既然名稱是IOCTL,參數也跟Linux 的IOCTRL一樣,是用function number配上structure pointer來傳遞參數。

OEMIoControl 是OAL 實做的,不是device driver,device driver。Device Driver實做的Io Control會是 Dll export的介面,不需要由kernel 呼叫。

沒有留言: