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

正文內(nèi)容

基于passthru的ndis中間層驅(qū)動程序擴展(更新版)

2025-08-05 18:20上一頁面

下一頁面
  

【正文】 可以看到收到的就是先前Sniffer下來的數(shù)據(jù)了。接收過程是由下層傳遞上去的,同樣,底層的Miniport分配了一些資源,如用于存儲這個數(shù)據(jù)包內(nèi)容的內(nèi)存,我們希望這些資源最終能極時的被歸還,以供以后使用。(一般情況下,其余的數(shù)據(jù)bit已經(jīng)在鏈路途中了,并隨后立即就會到達網(wǎng)絡(luò)設(shè)備,這有可能就發(fā)生在一個CPU在處理網(wǎng)絡(luò)設(shè)備中斷的同時,網(wǎng)絡(luò)設(shè)備的板載存儲器上就已經(jīng)收到了其余的數(shù)據(jù)了,甚至DMA控制器可能已經(jīng)把這些數(shù)據(jù)傳到了系統(tǒng)的主存儲器上了),這時,上層的ProtocolReceive都無法進行正常的處理(一般對某個包進行處理,都要以相關(guān)的協(xié)議為依據(jù),進行分析)。當?shù)讓泳W(wǎng)絡(luò)設(shè)備有數(shù)據(jù)到來的時候,將觸發(fā)中斷,相應(yīng)的中斷處理程序接管中斷后,將可能調(diào)用Miniport Driver所注冊的中斷處理例程(ISR),Miniport Driver通常在這里把網(wǎng)卡上的數(shù)據(jù)考貝到Miniport Driver緩沖區(qū)隊列中去,出于效率的考慮,Miniport Driver這時可能不會立即通知上層處理新的數(shù)據(jù),因為很可能,馬上還有隨后的新的數(shù)據(jù)到來,當接收到的包的數(shù)量達到一定程度的時候,Miniport Driver會調(diào)用NdisMIndicateReceivePacket指示新的NDIS新數(shù)據(jù)的到來,這時候,NdisMIndicateReceivePacket的調(diào)用將導致NDIS調(diào)用位于Miniport上層的中間層向NDIS注冊的下邊沿 ProtocolReceivePacket函數(shù)。OUT PNDIS_HANDLEStatus,在NDIS Miniport Driver中,NetCard驅(qū)動的程序,正是這樣通過NDIS接口提供的一組類似功能的函數(shù),與物理的網(wǎng)絡(luò)設(shè)備進行交互。最后,由NDIS Miniport Driver利用NDIS接口與物理網(wǎng)絡(luò)設(shè)備NetCard交互。一二三 NDIS驅(qū)動程序的數(shù)據(jù)處理流程當一個中間層介入的時候,必需遵守這個規(guī)則,因此,中間層驅(qū)動對上層來說,扮演一個Miniport Driver的角色,它在上邊沿向NDIS注冊一組Miniportxxx函數(shù);對于下層Miniport Driver來說,中間層驅(qū)動扮演一個Protocol Driver的角色,因此它在下邊沿向NDIS注冊一組Protocolxxx函數(shù)。NdisWrapperHandle, IN PNDIS_MINIPORT_CHARACTERISTICS其中,ProtocolCharacteristics包含一組ProtocolXxx函數(shù)。在上層請求發(fā)送數(shù)據(jù)包時,上層分配了相關(guān)的資源(如內(nèi)存),希望在下層完成發(fā)送動作后,能夠及時的收回相關(guān)的資源,所以,當上層調(diào)用NdisSend/NdisSendPackets返回 NDIS_STATUS_PENDING以外的任何值時,上層就可以釋放資源了,如果得到返回的結(jié)果是NDIS_STATUS_PENDING話,說明下層還沒有完成發(fā)送請求,以后,等下層最終完成發(fā)送請求時,下層調(diào)用NdisMSendComplete請求NDIS通知上層可以釋放資源了,于是NDIS 調(diào)用上層注冊的ProtocolSendComplete函數(shù),上層在這它的ProtocolSendComplete中釋放了資源后,再次調(diào)用 NdisMSendComplete請求NDIS通知更上層。由于硬件技術(shù)的發(fā)展,網(wǎng)絡(luò)設(shè)備板載存儲的增加,系統(tǒng)主存儲器的增加,以及網(wǎng)絡(luò)傳輸能力的改善,NDIS那么迂回的通過 MdisMxxxIndicateReceivePacket,ProtocolReceive,MiniportTransferData這一條坎坷的路徑進行數(shù)據(jù)處理的情況似乎越來越少見了。當上層協(xié)議驅(qū)動完成處理時,可以調(diào)用NdisReturnPackets 通知NDIS,相應(yīng)包已經(jīng)處理完成,可以安全的釋放相關(guān)資源了,于是NDIS將調(diào)用其下層注冊的MiniportReturnPackets,下層在這里釋放與這個包相關(guān)的資源,并繼續(xù)調(diào)用NdisReturnPackets,請求NDIS把這個通知傳給更下層。if (Status == NDIS_STATUS_SUCCESS)// 調(diào)用BuildMyPacket對包進行自己的處理(更改包的內(nèi)容,或其它動作)。// 該層在自己的ProtocolSendComplete釋放相應(yīng)的資源。Pkt = SendRsvdOriginalPkt。}BOOLEAN BuildMyPacket(IN PNDIS_PACKET original_packet,){ULONG total_length = 0, current_length = 0。ndis_buffer, amp。ndis_buffer)。if (NDIS_STATUS_SUCCESS != Status)// 對于少量內(nèi)容的修改,重新掃描整個Buffer修正CheckSum是不值得的。PNDIS_BUFFER tmpBuffer, MyBuffer。SendRsvd = (PSEND_RSVD)MyPacketMiniportReserved。while (NULL != MyBuffer)tmpBuffer = MyBuffer。}}13 / 1
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1