自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WinCE OAL中的OEMIoControl函數(shù)詳解

開發(fā)
本文向您介紹WinCE OAL中的OEMIoControl函數(shù),OEMIoControl包含很多分支,作者著重介紹IOCTL_HAL_INIT_RTC、 IOCTL_HAL_POSTINIT等。

在這里只是對OEMIoControl中比較常用的case說一說。看看PB的文檔就知道OEMIoControl函數(shù)可以包含很多case而且被分了類。下面就我個人接觸到的和比較常用的做個說明:

1. IOCTL_HAL_INIT_RTC

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

dwIoControlCode:IOCTL_HAL_INIT_RTC

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

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

2. IOCTL_HAL_POSTINIT:

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

3. IOCTL_HAL_ILTIMING:

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

dwIoControlCode:IOCTL_HAL_ILTIMING

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

4. IOCTL_HAL_REBOOT:

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

5. IOCTL_HAL_ENABLE_WAKE

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

dwIoControlCode:IOCTL_HAL_ENABLE_WAKE

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

6. IOCTL_HAL_DISABLE_WAKE:

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

dwIoControlCode:IOCTL_HAL_DISABLE_WAKE

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

7. IOCTL_HAL_GET_HIVE_CLEAN_FLAG:

對應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:

對應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:

對應OALIoctlHalQueryFormatPartition函數(shù),該case會被Filesys模塊調(diào)用,返回是否需要格式化某個分區(qū)。對于一塊存儲介質(zhì)來說,如果在該介質(zhì)驅(qū)動的注冊表配置中設置了CheckForFormat項,F(xiàn)ilesys模塊才會調(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:

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

dwIoControlCode:IOCTL_HAL_REQUEST_IRQ

lpInBuf:傳入總線設備的位置信息

lpOutBuf:返回硬件中斷號

11. IOCTL_HAL_REQUEST_SYSINTR:

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

dwIoControlCode:IOCTL_HAL_REQUEST_SYSINTR

lpInBuf:物理IRQ

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

12. IOCTL_HAL_RELEASE_SYSINTR:

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

dwIoControlCode:IOCTL_HAL_RELEASE_SYSINTR

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

13. IOCTL_PROCESSOR_INFORMATION:

對應OALIoctlHalProcessorInformation函數(shù),該case用于應用程序獲得處理器的相關信息。

dwIoControlCode:IOCTL_PROCESSOR_INFORMATION

lpOutBuf:返回處理器的相關信息

14. IOCTL_HAL_GET_DEVICE_INFO:

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

dwIoControlCode:IOCTL_HAL_GET_DEVICE_INFO

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

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

15. IOCTL_HAL_QUERY_DISPLAYSETTINGS:

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

dwIoControlCode:IOCTL_HAL_QUERY_DISPLAYSETTINGS

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

 

【編輯推薦】

  1. 在WinCE中獲取設備ID
  2. WinCE編譯過程的四個階段
  3. WinCE中觸摸屏驅(qū)動開發(fā)詳解
  4. Windows Mobile和WinCE的區(qū)別
  5. 基于WinCE的液位遙測系統(tǒng)軟件設計
責任編輯:佚名 來源: CSDN
相關推薦

2009-07-01 09:27:36

觸摸屏驅(qū)動WinCE

2017-01-13 15:45:05

Linuxfork函數(shù)詳解

2010-09-06 14:58:42

SQL函數(shù)

2010-09-09 11:12:49

SQL函數(shù)DATALENGTH

2009-08-06 16:17:05

點對點消息隊列

2010-09-08 14:03:41

SQL函數(shù)CONVERT

2009-02-24 16:17:41

日期時間函數(shù)

2023-08-31 09:28:12

Golang可導出函數(shù)

2023-11-27 15:02:37

BytesGolang

2025-01-07 13:58:08

SQL數(shù)據(jù)處理函數(shù)數(shù)據(jù)庫

2024-04-28 08:31:47

CSS3Clamp()函數(shù)響應式設計工具

2010-03-02 15:59:41

WinCE

2023-10-18 08:22:38

BufioGolang

2023-10-31 09:10:39

2018-07-09 13:40:24

前端javascript

2023-06-19 08:23:28

kubernetes容器

2023-11-29 07:47:29

Golang函數(shù)

2023-08-11 11:19:52

數(shù)據(jù)集Merge函數(shù)

2009-02-23 13:41:42

XML操作函數(shù)SQL Server

2024-04-01 09:13:20

C++函數(shù)遞增
點贊
收藏

51CTO技術(shù)棧公眾號