WinPcap4.0.2のDLLをVB6から利用したい
WinPcap4.0.2のソースファイルを使い、「wpcap.dll」のビルドを行いました。次にVBからこのDLLを利用したいと考えています。ソースの一部を変更することで利用できるのでしょうか?
開発環境:WindowsXPSP2 VC++6.0
WinPcap4.0.2のソースファイルを使い、「wpcap.dll」のビルドを行いました。VB6からこのDLLを使ってパケットキャプチャソフトを作ろうと思っています。そこで「wpcap.dll」のソースファイル”pcap.c”の関数
(例)int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)を
int __stdcall pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)に変更し
ヘッダファイル”pcap.h”
(例)int pcap_loop(pcap_t *, int, pcap_handler, u_char *);を
int __stdcall pcap_loop(pcap_t *, int, pcap_handler, u_char *);に変更しました。
(他の関数も同様に変更しました。)
DEFファイルについては、すでにあった”wpcap.def”を利用しています。
ここで「wpcap.dll」について構造を説明すると元々上記の関数をビルドして”libpcap.lib”というファイルが作成され
次にWin32用関数のソースをラッピングして、”libpcap.lib”を取り込む形で「wpcap.dll」が完成します。
ビルド自体はうまくいくのですが、WinPcapを利用するパケットキャプチャソフト(VCでビルドしたもの)からこのDLLを呼び出すと
「Sample.exeでハンドルされていないWin32の例外が発生しました」というエラーが表示される。
このソースファイルは
http://www.winpcap.org/devel.htm
ここからダウンロードすることができます。
また使用したキャプチャソフトは
”WinPcapを使用したパケットモニターの作成”
http://codezine.jp/article/detail/126?p=1
サイトのものを利用しています。
ご助言をお願いします。
お礼
回答ありがとうございました。 WINPCAPのバージョンが古かったみたいです。 3.0から4.0にバージョンアップするとキャプチャできました。