這一頁 說明 CE 的Priority Level:
所以一般Device Driver 都社為100 (?)
0 through 96 Reserved for real-time above drivers.
97 through 152 Used by the default Windows CE-based device drivers.
153 through 247 Reserved for real-time below drivers.
248 through 255 Maps to non-real-time priorities.
CE要用 CeSetThreadPriority( )設定範圍才能有0 - 255。
用Win32標準的SetThreadPriority( )的話,範圍只有 8 個 (priority 最低的8個)。
CreateThread( null, 0, ThreadStartAddress, 給Thread的argument point, Create Suspend or Run, &ThreadId or Null)。
CreateThread( ) create出來的Priority會是 THREAD_PRIORITY_NORMAL (是多少?)。
有講到兩個限制:
- 在Process Creating和 DLL initialization 中 create的 Thread要在 DLL Initialization 結束後才會被執行。
- 每個Process ,每個DLL 只允許一個Thread 被create。
所以 Device Driver Create 的Process會在 Device Driver 的 xxx_init 結束後才會被執行? 而不是在呼叫CreateThread( )後 ?
沒有留言:
張貼留言