freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

wdm驅(qū)動程序設(shè)計(參考版)

2024-07-28 18:52本頁面
  

【正文】 … … … … … … ExReleaseFastMutex(FastMutex)。 ExInitializeFastMutex(FastMutex)。 ? 獲取一個快速互斥對象后其擁有者線程一般會被提升到APC_LEVEL級,所以其擁有者在使用某些內(nèi)核服務(wù)函數(shù)時會受到限制。thread, …..)。 ZwClose(hthread)。 ObReferenceObjectByHandle(hthread, THREAD_ALL_ACCESS, NULL, KernelMode, (PVOID*) amp。 PsCreateSystemThread(amp。 HANDLE hthread。duetime)。 LARGE_INTEGER duetime。實際的延遲時間可能大大超過請求的時間。 ? 如果需要延遲一段非常短的時間 (少于 50毫秒 ),可以在任何 IRQL級上調(diào)用 KeStallExecutionProcessor。 ...... ..... .......... ........ VOID DpcRoutine(PKDPC dpc, PVOID context, .....) { ... } 定時函數(shù) ? KeDelayExecutionThread : 可以在 PASSIVE_LEVEL級上調(diào)用該函數(shù)并給出一個時間間隔。 LARGE_INTEGER duetime。 KeInitializeDpc(dpc, DpcRoutine, context)。ve allocated ASSERT(KeGetCurrentIrql() == PASSIVE_LEVEL)。 定時器與 DPC PKDPC dpc。 ..... ..... } KeCancelTimer(amp。 while(True) { KeWaitForSingleObject(amp。 KeSetTimerEx(amp。 LARGE_INTEGER duetime。 KeInitializeTimerEx(amp。 ..... ..... 周期性定時器的用法 KTIMER timer。 KeWaitForSingleObject(amp。 KeSetTimer(amp。 // KeInitializeTimer(timer)。 KeInitializeTimerEx(amp。 一次性定時器的用法 KTIMER timer。一旦有線程在這種定時器上等待,并且開始執(zhí)行,定時器就自動進(jìn)入非信號態(tài)。因此,所有等待它的線程都被釋放。 ? 定時器也分為 通知型 和 同步型 兩種。 它還可以周期性的進(jìn)入信號態(tài)。mutex, wait)。 …….. ASSERT(KeGetCurrentIrql() == PASSIVE_LEVEL)。 …. KeWaitForSingleObject(amp。 KeInitializeMutex(amp。 互斥對象的服務(wù)函數(shù) ? KeInitializeMutex 初始化互斥對象 ? KeReadStateMutex 取互斥對象的當(dāng)前狀態(tài) ? KeReleaseMutex 設(shè)置互斥對象為信號態(tài) KMUTEX mutex。 ? 如果需要長時間串行化訪問一個對象,應(yīng)該首先考慮使用互斥 (而不是依賴提升的 IRQL和自旋鎖 )。雖然用其它方法也能實現(xiàn)此功能,但互斥對象加入了一些措施能防止 死鎖 。 互斥對象 Mutex ? 互斥 (mutex)就是 mutual exclusion的簡寫。 …….. ASSERT(KeGetCurrentIrql() = DISPATCH_LEVEL)。 …. KeWaitForSingleObject(amp。 KeInitializeSemaphore(amp。 服務(wù)函數(shù)與使用方法 ? KeInitializeSemaphore: 初始化信號燈對象 ? KeReadStateSemaphore: 取信號燈當(dāng)前狀態(tài) ? KeReleaseSemaphore:釋放 信號燈對象 KSEMAPHORE semaphore。如果計數(shù)器值被減為 0,則信號燈進(jìn)入非信號態(tài),之后其它調(diào)用KeWaitXxx函數(shù)的線程將被阻塞。計數(shù)器不能為負(fù)值。 } } // 從 buffer中訪問數(shù)據(jù) …… 內(nèi)核信號燈 ? 內(nèi)核信號燈是一個有同步語義的整數(shù)計數(shù)器。 while(WaitForSingleObject(waitEvent, 100)==WAIT_TIMEOUT) { if(!KeepRunning) { CancelIo(hDevice)。 ReadFile( hDevice, buffer, NumberOfBytesToRead, amp。 OVERLAPPED ol。 } 在應(yīng)用層異步訪問設(shè)備 // CreateFile的一個參數(shù)可以規(guī)定同步方式還是異步方式訪問該設(shè)備 hDevice = CreateFile(“\\\\.\\wdm1Device”, ……….)。
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1