亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ipfunctions.pas

?? 這是一個用VC++編寫的網絡嗅探器
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  Res: DWORD;
begin
  if @AddIPAddress = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['AddIPAddress']);
  Res := AddIPAddress(Address, IpMask, IfIndex, NTEContext, NTEInstance);
  if Res <> NO_ERROR then
    IpHlpError('AddIPAddress', Res);
end;

procedure VVDeleteIPAddress(NTEContext: Cardinal);
var
  Res: DWORD;
begin
  if @DeleteIPAddress = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['DeleteIPAddress']);
  Res := DeleteIPAddress(NTEContext);
  if Res <> NO_ERROR then
    IpHlpError('DeleteIPAddress', Res);
end;

procedure VVIpReleaseAddress(AdapterInfo: TIpAdapterIndexMap);
var
  Res: DWORD;
begin
  if @IpReleaseAddress = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['IpReleaseAddress']);
  Res := IpReleaseAddress(AdapterInfo);  //
  if Res <> NO_ERROR then
    IpHlpError('IpReleaseAddress', Res);
end;

procedure VVIpRenewAddress(AdapterInfo: TIpAdapterIndexMap);
var
  Res: DWORD;
begin
  if @IpRenewAddress = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['IpRenewAddress']);
  Res := IpRenewAddress(AdapterInfo);    //
  if Res <> NO_ERROR then
    IpHlpError('IpRenewAddress', Res);
end;

procedure VVGetIpNetTable(var p: PMibIpNetTable; var Size: Cardinal;
  const bOrder: BOOL);
var
  Res: DWORD;
begin
  p := Nil;
  Size := 0;
  if @GetIpNetTable = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetIpNetTable']);
  Res := GetIpNetTable(p, Size, bOrder);
  if Res = ERROR_INSUFFICIENT_BUFFER then
  begin
    Getmem(p,Size);
// Caller must free this buffer when it is no longer used
    FillChar(p^, Size, #0);
    Res := GetIpNetTable(p, Size, bOrder);
  end;
  if Res <> NO_ERROR then
    IpHlpError('GetIpNetTable', Res);
end;

procedure VVCreateIpNetEntry(ArpEntry: TMibIpNetRow);
var
  Res: DWORD;
begin
  if @CreateIpNetEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['CreateIpNetEntry']);
  Res := CreateIpNetEntry(ArpEntry);   //
  if Res <> NO_ERROR then
    IpHlpError('CreateIpNetEntry', Res);
end;

procedure VVDeleteIpNetEntry(ArpEntry: TMibIpNetRow);
var
  Res: DWORD;
begin
  if @DeleteIpNetEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['DeleteIpNetEntry']);
  Res := DeleteIpNetEntry(ArpEntry);    //
  if Res <> NO_ERROR then
    IpHlpError('DeleteIpNetEntry', Res);
end;

procedure VVFlushIpNetTable(dwIfIndex: DWORD);
var
  Res: DWORD;
begin
  if @FlushIpNetTable = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['FlushIpNetTable']);
  Res := FlushIpNetTable(dwIfIndex);
  if Res <> NO_ERROR then
    IpHlpError('FlushIpNetTable', Res);
end;

procedure VVCreateProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD);
var
  Res: DWORD;
begin
  if @CreateProxyArpEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['CreateProxyArpEntry']);
  Res := CreateProxyArpEntry(dwAddress, dwMask, dwIfIndex);
  if Res <> NO_ERROR then
    IpHlpError('CreateProxyArpEntry', Res);
end;

procedure VVDeleteProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD);
var
  Res: DWORD;
begin
  if @DeleteProxyArpEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['DeleteProxyArpEntry']);
  Res := DeleteProxyArpEntry(dwAddress, dwMask, dwIfIndex);
  if Res <> NO_ERROR then
    IpHlpError('DeleteProxyArpEntry', Res);
end;

procedure VVSendARP(const DestIP, SrcIP: IPAddr;
          PMacAddr :PULong; var PhyAddrLen: ULong);
var
  Res: DWORD;
begin
  if @SendARP = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['SendARP']);
  Res := SendARP(DestIP, SrcIP, PMacAddr, PhyAddrLen);
  if Res <> NO_ERROR then
    IpHlpError('SendARP', Res);
end;

procedure VVGetIpStatistics(var Stats: TMibIpStats);
var
  Res: DWORD;
begin
  if @GetIpStatistics = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetIpStatistics']);
  Res := GetIpStatistics(Stats);         //
  if Res <> NO_ERROR then
    IpHlpError('GetIpStatistics', Res);
end;

procedure VVGetIcmpStatistics(var Stats: TMibIcmp);
var
  Res: DWORD;
begin
  if @GetIcmpStatistics = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetIcmpStatistics']);
  Res := GetIcmpStatistics(Stats);       //
  if Res <> NO_ERROR then
    IpHlpError('GetIcmpStatistics', Res);
end;

procedure VVSetIpStatistics(var IpStats: TMibIpStats);
var
  Res: DWORD;
begin
  if @SetIpStatistics = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['SetIpStatistics']);
  Res := SetIpStatistics(IpStats);       //
  if Res <> NO_ERROR then
    IpHlpError('SetIpStatistics', Res);
end;

procedure VVSetIpTTL(nTTL: UINT);
var
  Res: DWORD;
begin
  if @SetIpTTL = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['SetIpTTL']);
  Res := SetIpTTL(nTTL);
  if Res <> NO_ERROR then
    IpHlpError('SetIpTTL', Res);
end;

procedure VVGetIpForwardTable(var pIpForwardTable: PMibIpForwardTable;
  var dwSize: Cardinal; const bOrder: BOOL);
var
  Res: DWORD;
begin
  pIpForwardTable := Nil;
  dwSize := 0;
  if @GetIpForwardTable = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetIpForwardTable']);
  Res := GetIpForwardTable(pIpForwardTable,dwSize,bOrder);
  if (Res <> NO_ERROR) and (dwSize>0) then
  begin
    Getmem(pIpForwardTable,dwSize);
// Caller must free this buffer when it is no longer used
    FillChar(pIpForwardTable^,dwSize,#0);
    Res := GetIpForwardTable(pIpForwardTable,dwSize,bOrder);
  end;
  if Res <> 0 then
    IpHlpError('GetIpForwardTable', Res);
end;

procedure VVCreateIpForwardEntry(pRoute: PMibIpForwardRow);
var
  Res: DWORD;
begin
  if @CreateIpForwardEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['CreateIpForwardEntry']);
  Res := CreateIpForwardEntry(pRoute^);   //To test
  if Res <> NO_ERROR then
    IpHlpError('CreateIpForwardEntry', Res);
end;

procedure VVDeleteIpForwardEntry(Route: TMibIpForwardRow);
var
  Res: DWORD;
begin
  if @DeleteIpForwardEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['DeleteIpForwardEntry']);
  Res := DeleteIpForwardEntry(Route);   //
  if Res <> NO_ERROR then
    IpHlpError('DeleteIpForwardEntry', Res);
end;

procedure VVSetIpForwardEntry(Route: TMibIpForwardRow);
var
  Res: DWORD;
begin
  if @SetIpForwardEntry = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['SetIpForwardEntry']);
  Res := SetIpForwardEntry(Route);      //
  if Res <> NO_ERROR then
    IpHlpError('SetIpForwardEntry', Res);
end;

procedure VVGetBestRoute(dwDestAddr, dwSourceAddr: DWORD;
  pBestRoute: PMibIpForwardRow);
var
  Res: DWORD;
begin
  if @GetBestRoute = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetBestRoute']);
  Res := GetBestRoute(dwDestAddr, dwSourceAddr, pBestRoute);
  if Res <> NO_ERROR then
    IpHlpError('GetBestRoute', Res);
end;

procedure VVGetBestInterface(dwDestAddr: IPAddr; var dwBestIfIndex: DWORD);
var
  Res: DWORD;
begin
  if @GetBestInterface = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetBestInterface']);
  Res := GetBestInterface(dwDestAddr, dwBestIfIndex);
  if Res <> NO_ERROR then
    IpHlpError('GetBestInterface', Res);
end;

procedure VVGetRTTAndHopCount(const DestIpAddress: IPAddr; var HopCount: ULONG;
  const MaxHops: ULONG; var RTT: ULONG);
var
  Res:BOOL;
begin
  if @GetRTTAndHopCount = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetRTTAndHopCount']);
  Res := GetRTTAndHopCount(DestIpAddress, HopCount, MaxHops, RTT);
  if not Res then
    RaiseLastWin32Error;
end;

procedure VVNotifyAddrChange(var Handle: THandle; Overlapped: POverlapped);
var
  Res: DWORD;
begin
  if @NotifyAddrChange = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['NotifyAddrChange']);
  Res := NotifyAddrChange(Handle, Overlapped);     //
  if Res <> ERROR_IO_PENDING then
    IpHlpError('NotifyAddrChange', Res);
end;

procedure VVNotifyRouteChange(var Handle: THandle; Overlapped: POverlapped);
var
  Res: DWORD;
begin
  if @NotifyRouteChange = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['NotifyRouteChange']);
  Res := NotifyRouteChange(Handle, Overlapped); //
  if Res <> ERROR_IO_PENDING then
    IpHlpError('NotifyRouteChange', Res);
end;

procedure VVGetTcpStatistics(var Stats: TMibTcpStats);
var
  Res: DWORD;
begin
  if @GetTcpStatistics = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetTcpStatistics']);
  Res := GetTcpStatistics(Stats);       //
  if Res <> NO_ERROR then
    IpHlpError('GetTcpStatistics', Res);
end;

procedure VVGetUdpStatistics(var Stats: TMibUdpStats);
var
  Res: DWORD;
begin
  if @GetUdpStatistics = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetUdpStatistics']);
  Res := GetUdpStatistics(Stats);       //
  if Res <> NO_ERROR then
    IpHlpError('GetUdpStatistics', Res);
end;

procedure VVGetTcpTable(var pTcpTable: PMibTcpTable; var dwSize: DWORD;
          const bOrder: BOOL);
var
  Res: DWORD;
begin
  pTcpTable := Nil;
  dwSize := 0;
  if @GetTcpTable = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetTcpTable']);
  Res := GetTcpTable(pTcpTable, dwSize, bOrder);
  if Res = ERROR_INSUFFICIENT_BUFFER then
  begin
   Getmem(pTcpTable, dwSize);
// Caller must free this buffer when it is no longer used
   FillChar(pTcpTable^, dwSize, #0);
   Res := GetTcpTable(pTcpTable, dwSize, bOrder);
  end;
  if Res <> NO_ERROR then
    IpHlpError('GetTcpTable', Res);
end;

procedure VVGetUdpTable(var pUdpTable: PMibUdpTable; var dwSize: DWORD;
  bOrder: BOOL);
var
  Res: DWORD;
begin
  pUdpTable := Nil;
  dwSize := 0;
  if @GetUdpTable = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['GetUdpTable']);
  Res := GetUdpTable(pUdpTable, dwSize, bOrder);
  if Res = ERROR_INSUFFICIENT_BUFFER then
  begin
    Getmem(pUdpTable, dwSize);
// Caller must free this buffer when it is no longer used
    FillChar(pUdpTable^, dwSize, #0);
    Res := GetUdpTable(pUdpTable, dwSize, bOrder);
  end;
  if Res <> NO_ERROR then
    IpHlpError('GetUdpTable', Res);
end;

procedure VVSetTcpEntry(TcpRow: TMibTcpRow);
var
  Res: DWORD;
begin
 if @SetTcpEntry = Nil then
  raise EIpHlpError.CreateFmt(sNotImplemented, ['SetTcpEntry']);
  Res := SetTcpEntry(TcpRow);   //
 if Res <> NO_ERROR then
   IpHlpError('SetTcpEntry', Res);
end;

procedure VVEnableRouter(var Handle: THandle; var Overlapped: TOverlapped);
var
  Res: DWORD;
begin
  if @EnableRouter = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['EnableRouter']);
  Res := EnableRouter(Handle, @Overlapped);     //
  if Res <> ERROR_IO_PENDING then
    RaiseLastWin32Error;
end;

procedure VVUnenableRouter(var Overlapped: TOverlapped;
  lpdwEnableCount: LPDWORD = Nil);
var
  Res: DWORD;
begin
  if @UnEnableRouter = Nil then
    raise EIpHlpError.CreateFmt(sNotImplemented, ['UnEnableRouter']);
  Res := UnEnableRouter(@Overlapped, lpdwEnableCount);            //
  if Res <> NO_ERROR then
    RaiseLastWin32Error;
end;
function IpAddressToString(Addr: DWORD): string;
var
  InAddr: TInAddr;
begin
  InAddr.S_addr := Addr;
  Result := inet_ntoa(InAddr);
end;
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人三级在线视频| 国产欧美日韩久久| 欧美无乱码久久久免费午夜一区| 北条麻妃国产九九精品视频| 国产一区二区三区电影在线观看 | 欧美一卡二卡三卡| 欧美一级久久久久久久大片| 欧美一区二区三区精品| 91麻豆精品国产91久久久更新时间| 在线不卡a资源高清| 日韩欧美一级二级三级| 91精品久久久久久久久99蜜臂| 日韩网站在线看片你懂的| 久久久久久久国产精品影院| 欧美zozo另类异族| 日韩欧美成人午夜| 亚洲激情校园春色| 精品一二三四在线| 91蜜桃传媒精品久久久一区二区| 一本到不卡免费一区二区| 日韩一卡二卡三卡国产欧美| 国产亚洲欧美一级| 日韩国产精品久久久| 成人av在线一区二区三区| 欧美日韩一本到| 国产精品成人一区二区三区夜夜夜 | 蜜桃久久精品一区二区| 在线看不卡av| 中文字幕一区二区三区精华液| 日本女人一区二区三区| 成人97人人超碰人人99| 欧美v日韩v国产v| 精品一区二区在线视频| 色噜噜狠狠一区二区三区果冻| 国产亚洲自拍一区| 日韩电影一二三区| 欧美老年两性高潮| 五月天亚洲精品| 欧美剧情电影在线观看完整版免费励志电影| 最新日韩av在线| 高清国产一区二区三区| 久久久久国产精品麻豆ai换脸| 黄页网站大全一区二区| 久久综合av免费| 成人中文字幕在线| 亚洲欧洲av在线| 欧美婷婷六月丁香综合色| 亚洲国产日韩一区二区| 欧美一区二区三区四区五区| 国产成人精品1024| 欧美亚洲综合久久| 亚洲综合在线第一页| 欧美美女激情18p| 粉嫩一区二区三区性色av| 亚洲免费成人av| 日韩欧美中文字幕一区| 国产精品夜夜嗨| 美女尤物国产一区| 一区二区三区在线看| 国产午夜精品久久| 日韩一区二区三区视频在线| av在线不卡网| 国产精品白丝jk白祙喷水网站| 亚洲一区在线观看免费观看电影高清 | 欧美在线免费观看视频| 成人国产精品免费观看| 日韩欧美在线影院| 成人av资源站| 成人午夜又粗又硬又大| 日日夜夜免费精品视频| 日本一区二区免费在线| 26uuu国产一区二区三区| 成人免费视频视频| 国产一区二区三区视频在线播放| 亚洲欧美另类在线| 亚洲女人的天堂| 亚洲欧美区自拍先锋| 夜夜爽夜夜爽精品视频| 中文字幕一区二区在线播放 | 91麻豆高清视频| 色视频成人在线观看免| 欧美日韩激情在线| 精品国产一区a| 久久亚洲私人国产精品va媚药| 欧美变态凌虐bdsm| 久久久www成人免费无遮挡大片| 欧美精品v日韩精品v韩国精品v| 91亚洲午夜精品久久久久久| av一区二区久久| 国产91丝袜在线播放| 色综合久久99| 精品成人在线观看| 一区二区三区中文在线| 日韩精彩视频在线观看| 国产.精品.日韩.另类.中文.在线.播放| 99re亚洲国产精品| 国产精品久久久久久一区二区三区| 亚洲欧洲av一区二区三区久久| 美女视频免费一区| 91论坛在线播放| 久久精品在这里| 日韩成人一级大片| 色综合天天综合在线视频| 欧美日本免费一区二区三区| 国产精品私房写真福利视频| 日韩在线一区二区| 欧美日韩午夜在线| 亚洲mv大片欧洲mv大片精品| 成人免费观看av| 91精品婷婷国产综合久久性色| 亚洲视频香蕉人妖| 成人高清免费在线播放| 久久久不卡影院| 北条麻妃一区二区三区| 综合av第一页| 欧美日韩成人在线| 日韩精品成人一区二区三区| 欧美一区二区免费| 日韩av一二三| 日韩美女久久久| 欧美精品成人一区二区三区四区| 亚洲男帅同性gay1069| 91麻豆成人久久精品二区三区| 1区2区3区国产精品| 欧美在线999| 成人不卡免费av| 亚洲成a人在线观看| 精品久久久久一区二区国产| 国产福利一区二区三区在线视频| 国产精品国产三级国产有无不卡 | 久久综合九色综合久久久精品综合 | 日本在线观看不卡视频| 久久精品在线免费观看| 91久久精品网| 国产精品一区二区无线| 亚洲va在线va天堂| 中文字幕乱码亚洲精品一区 | 蜜乳av一区二区| 亚洲专区一二三| 国产日韩欧美制服另类| 欧美图片一区二区三区| 色欧美乱欧美15图片| 99久久99久久精品免费看蜜桃| 久久99国产乱子伦精品免费| 亚洲黄色小说网站| 精品国产91亚洲一区二区三区婷婷 | 蜜臀av国产精品久久久久| 国产喂奶挤奶一区二区三区| 欧美浪妇xxxx高跟鞋交| 国产不卡在线一区| 成人免费视频免费观看| 99久久精品国产毛片| 99久久精品免费观看| 色偷偷88欧美精品久久久| 91网站最新网址| 在线免费观看日本欧美| 欧美日韩亚洲丝袜制服| 日韩一本二本av| 国产精品久久久久影院| 中文字幕精品综合| 亚洲精选视频在线| 日韩**一区毛片| 成人av一区二区三区| 在线观看不卡一区| xnxx国产精品| 成人免费在线播放视频| 天天免费综合色| 国产成人av电影在线播放| 在线一区二区视频| 国产日韩精品一区| 一区二区三区精品在线观看| 日韩成人dvd| 91影院在线免费观看| 欧美精品一区二区在线播放| 国产精品美女久久福利网站| 亚洲精品videosex极品| 床上的激情91.| 精品国产一区二区三区久久久蜜月| 久久久蜜臀国产一区二区| 一区二区三区中文字幕电影| 成人禁用看黄a在线| 久久这里只有精品6| 久久成人av少妇免费| 欧美三级视频在线观看| 中文字幕一区二| 国产在线播放一区三区四| 制服丝袜av成人在线看| 亚洲精品福利视频网站| 91在线精品一区二区| 中文字幕av免费专区久久| 国产精品资源在线观看| 26uuu国产电影一区二区| 久久精品免费观看| 精品国产污网站| 国产jizzjizz一区二区| 国产精品你懂的| 51久久夜色精品国产麻豆| 久久精品国产澳门| 国产精品网站导航| 欧美性受xxxx黑人xyx|