日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WinCE OAL中的OEMIoControl函数

發(fā)布時間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WinCE OAL中的OEMIoControl函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于OEMIoControl函數(shù),我在2008年1月份寫過一篇blog叫“WinCE BSP中OAL層中的OEMIoControl介紹”,已經(jīng)比較詳細(xì)的介紹了OEMIoControl,今天在這里只是對OEMIoControl中比較常用的case說一說。看看PB的文檔就知道OEMIoControl可以包含很多case而且被分了類。下面就我個人接觸到的和比較常用的做個說明:

??? 1. IOCTL_HAL_INIT_RTC:

??? 對應(yīng)OALIoctlHalInitRTC函數(shù),該case用于重新初始化RTC。在系統(tǒng)冷啟動的時候,內(nèi)核會調(diào)用它來設(shè)置時鐘。

??? dwIoControlCode:IOCTL_HAL_INIT_RTC

??? lpInBuf:要設(shè)置的時鐘結(jié)構(gòu)體

??? 實際上在該case中一般都是注冊RTC的ALarm中斷,然后調(diào)用OEMSetRealTime函數(shù)來進(jìn)行設(shè)置。關(guān)于OAL中的RTC的說明,可以參考我在2008年1月寫的“WinCE中RTC驅(qū)動開發(fā)介紹”。

??? 2. IOCTL_HAL_POSTINIT:

??? 對應(yīng)OALIoctlHalPostInit函數(shù),該case會被內(nèi)核調(diào)用,不傳入任何數(shù)據(jù),也不返回任何數(shù)據(jù)。在系統(tǒng)進(jìn)程啟動之前,它提供了最后一次機會讓我們在OAL中做一些動作。

??? 3. IOCTL_HAL_ILTIMING:

??? 對應(yīng)OALIoctlHalILTiming函數(shù),該case實現(xiàn)了對ILTiming的支持,當(dāng)Iltiming.exe運行時,該case會被調(diào)用。

??? dwIoControlCode:IOCTL_HAL_ILTIMING

??? lpInBuf:傳入ILTiming結(jié)構(gòu)

??? 4. IOCTL_HAL_REBOOT:

??? 對應(yīng)OALIoctlHalReboot函數(shù),該case用于熱啟動系統(tǒng)。

??? 5. IOCTL_HAL_ENABLE_WAKE:

??? 對應(yīng)OALIoctlHalEnableWake函數(shù),該case用于添加可喚醒系統(tǒng)的中斷源。

??? dwIoControlCode:IOCTL_HAL_ENABLE_WAKE

??? lpInBuf:可喚醒系統(tǒng)的系統(tǒng)中斷號

??? 6. IOCTL_HAL_DISABLE_WAKE:

??? 對應(yīng)OALIoctlHalDisableWake函數(shù),該case用于刪除可喚醒系統(tǒng)的中斷源。

??? dwIoControlCode:IOCTL_HAL_DISABLE_WAKE

??? lpInBuf:被刪除的系統(tǒng)中斷號

??? 7. IOCTL_HAL_GET_HIVE_CLEAN_FLAG:

??? 對應(yīng)OALIoctlHalGetHiveCleanFlag函數(shù),該case會被Filesys模塊調(diào)用,用于確定是否清除系統(tǒng)Hive和用戶Hive。

??? dwIoControlCode:IOCTL_HAL_GET_HIVE_CLEAN_FLAG

??? lpInBuf:HIVECLEANFLAG_SYSTEM表示查詢系統(tǒng)Hive;HIVECLEANFLAG_USERS表示查詢用戶Hive

??? lpOutBuf:返回TRUE表示清除,返回FALSE表示不清除

??? 8. IOCTL_HAL_GET_HIVE_RAM_REGION:

??? 對應(yīng)OALIoctlHalGetHiveRamRegion函數(shù),該case會被Filesys模塊調(diào)用,返回一塊內(nèi)存區(qū)域用來存放Hive,此時系統(tǒng)Hive和用戶Hive是存放在一起的,所以所有的用戶都使用同一個用戶Hive。

??? dwIoControlCode:IOCTL_HAL_GET_HIVE_RAM_REGION

??? lpOutBuf:返回一個存放Hive的RAM結(jié)構(gòu)信息

??? 9. IOCTL_HAL_QUERY_FORMAT_PARTITION:

??? 對應(yīng)OALIoctlHalQueryFormatPartition函數(shù),該case會被Filesys模塊調(diào)用,返回是否需要格式化某個分區(qū)。對于一塊存儲介質(zhì)來說,如果在該介質(zhì)驅(qū)動的注冊表配置中設(shè)置了CheckForFormat項,Filesys模塊才會調(diào)用該case,例如:

??? [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/MyProfile/FATFS]

??? "CheckForFormat"=dword:1

??? dwIoControlCode:IOCTL_HAL_QUERY_FORMAT_PARTITION

??? lpInBuf:傳入存儲介質(zhì)的信息

??? lpOutBuf:返回TRUE表示該分區(qū)需要格式化,返回FALSE表示不需要格式化

??? 10. IOCTL_HAL_REQUEST_IRQ:

??? 對應(yīng)OALIoctlHalRequestIrq函數(shù),該case用于為一個總線設(shè)備申請硬件中斷號。

??? dwIoControlCode:IOCTL_HAL_REQUEST_IRQ

??? lpInBuf:傳入總線設(shè)備的位置信息

??? lpOutBuf:返回硬件中斷號

??? 11. IOCTL_HAL_REQUEST_SYSINTR:

??? 對應(yīng)OALIoctlHalRequestSysintr函數(shù),該case用于完成物理IRQ到系統(tǒng)中斷之間的映射。

??? dwIoControlCode:IOCTL_HAL_REQUEST_SYSINTR

??? lpInBuf:物理IRQ

??? lpOutBuf:系統(tǒng)中斷SYSINTR

??? 12. IOCTL_HAL_RELEASE_SYSINTR:

??? 對應(yīng)OALIoctlHalReleaseSysintr,該case用于釋放以前申請的系統(tǒng)中斷SYSINTR。

??? dwIoControlCode:IOCTL_HAL_RELEASE_SYSINTR

??? lpInBuf:要被釋放的系統(tǒng)中斷SYSINTR

??? 13. IOCTL_PROCESSOR_INFORMATION:

??? 對應(yīng)OALIoctlHalProcessorInformation函數(shù),該case用于應(yīng)用程序獲得處理器的相關(guān)信息。

??? dwIoControlCode:IOCTL_PROCESSOR_INFORMATION

??? lpOutBuf:返回處理器的相關(guān)信息

??? 14. IOCTL_HAL_GET_DEVICE_INFO:

??? 對應(yīng)OALIoctlHalGetDeviceInfo函數(shù),該case用于獲得系統(tǒng)的相關(guān)參數(shù)信息。

??? dwIoControlCode:IOCTL_HAL_GET_DEVICE_INFO

??? lpInBuf:系統(tǒng)信息碼SPI_xxx

??? lpOutBuf:根據(jù)SPI_xxx碼,返回相應(yīng)的系統(tǒng)信息

??? 15. IOCTL_HAL_QUERY_DISPLAYSETTINGS:

??? 對應(yīng)OALIoctlHalQueryDisplaysettings函數(shù),該case會被GDI調(diào)用來查詢顯示分辨率和顯示深度等信息。

??? dwIoControlCode:IOCTL_HAL_QUERY_DISPLAYSETTINGS

??? lpOutBuf:返回顯示寬度,高度和深度

總結(jié)

以上是生活随笔為你收集整理的WinCE OAL中的OEMIoControl函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。