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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

监听以太网(二) Packet32包说明

發布時間:2024/4/11 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 监听以太网(二) Packet32包说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Packet32包中的函數說明:?

No.2. PacketOpenAdapter (打開網卡)?

根據傳入的設備名,打開它。?

LPADAPTER PacketOpenAdapter(?
LPTSTR AdapterName?
);?

Parameters:?
AdapterName: [in] 要打開的設備的名字。?
Return Values:?
如果打開成功,返回一個指針,它指向一個正確初始化了的ADAPTER Object。否則,返回NULL。?

Usage:?
[C/C++]?
C/C++ Usage Sample?
LPADAPTER adapter;?
adapter = PacketOpenAdapter(pStr+rewind);?

Remarks:?
  這個函數嘗試加載并啟動packet driver,這樣,管理driver對于應用程序來說就十分的透明了。?
  Windows9X版本的NPF driver用的是ASCII編碼,而WindowsNTx用的是Unicode編碼。所以提請注意這個輸入參數AdapterName,在Windows9X下,必須是正確的編碼格式!在WindowsNTx下,這個函數能夠監測到ASCII編碼,并在送給driver 之前先轉換為Unicode編碼。 這個函數的操作大致為:?

  首先調用OpenSCManager,以Administrators的身份連接Service Control Manager,權限是SC_MANAGER_ALL_ACCESS。這也說明,使用Packet.dll你必須是本機管理員組成員。?
  如果可以連接SCM,檢查NPF注冊表項是否存在。?
  如果存在,說明driver已經安裝了,就不需要我們調用PacketInstallDriver了。 NPF注冊表項:?

HKEY_LOCAL_MACHINE/?
  SYSTEM/?
   CurrentControlSet/?
    Services/?
     NPF?

  如果不存在此鍵,則調用PacketInstallDriver安裝當前路徑下的 driver:npf.sys。?
  如果這次PacketInstallDriver安裝也失敗了,就到系統路徑下查找并安裝這個驅動。?
  如果以上操作都成功的話,調用OpenService打開NPF服務。如果服務存在的話,就調用QueryServiceStatus查詢當前服務狀態。這就是我們的driver的狀態。?
  如果這個服務沒有啟動,就調用StartService啟動之。?

  確認服務啟動之后,檢查AdapterName是否是ASCII編碼,是的話,就轉換為Unicode。?

由于一般輸入參數AdapterNAme類似于這樣:?

/Device/NPF_{A67CEC3B-C099-47E0-B096-480B01FAF348}?

所以,我們會重新組織一個設備名SymbolicLink: “Packet_”的前綴 + AdapterName[8] 也就是: //./Packet_NPF_{A67CEC3B-C099-47E0-B096-480B01FAF348}?

先嘗試著CreateFile函數能不能馬上用這個SymbolicLink名字打開設備。?
如果可以,就調用PacketSetReadEvt函數打開一個open事件等。?
否則,調用DefineDosDevice定義一個新的MS-DOS設備:?
名字類似于” Packet_NPF_{A67CEC3B-C099-47E0-B096-480B01FAF348}”。?
通過這個DOS設備名,我們的應用層程序才能向驅動發出請求。接著,調用CreateFile函數來建立并打開一個聯系設備的文件句柄(GENERIC_WRITE| GENERIC_READ,OPEN_EXISTING)。之后,調用PacketSetReadEvt函數打開一個open事件等。?

總結

以上是生活随笔為你收集整理的监听以太网(二) Packet32包说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。