2011-07-24 19 views
0

ネットワークアダプタにOIDを送信するために、Winpcap PacketRequest()関数(packet32.hにあります)を使用しようとしています。 XP32で動作し、Win7 32とWin7 64では動作しません(Win7 64では、32で私は最後のエラーコード1を取得しました。私は今は32ビットにアクセスできない) 。 私はPacketRequest()関数のソースを調べました。これはDeviceIoControl()を呼び出します。これは失敗し、したがってPacketRequest()に失敗した関数です。Win7のWinpcapとDeviceIoControl - エラーコード1

間違ったWinpcapライブラリを使用していますか? (WinPcap_4_1_2.exeをインストールしました)

なぜWin7では動作しませんか?

ありがとうございます。

答えて

-1

スタートアップコードが表示される場合があります。 dllをロードして内部メットを呼び出すように聞こえますが、

winpcapが内部でどのように動作するかを知るまでは、APIに固執する必要があります。あなたはカントーあなたが

pcap_t* pcap_open_live (const char * device, 
          int snaplen, 
          int promisc, 
          int to_ms, 
          char * ebuf) 
でネットワークアダプタを開く必要があることを行うことができます前に、API関数

int pcap_sendpacket (pcap_t * p, 
         u_char * buf, 
         int size) 

http://www.winpcap.org/docs/docs_41b5/html/group__wpcapfunc.html#g51dbda0f1ab9da2cfe49d657486d50b2

を使用する必要がありますネットワークカードに生のパケットを書き込むための

http://www.winpcap.org/docs/docs_41b5/html/group__wpcapfunc.html#gae6abe06e15c87b803f69773822beca8

wあなたのコードを見ることなく、私は大いに役立つことはできません。 winpcapを使用する1つのアプリケーションを作成しました。 xp(32/64)、vista(32/64)、win7(32/64)で問題なく動作します。

関連する問題