📄 ping.h
字号:
// Ping.h: interface for the CPing class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PING_H__A5CB9C43_D885_4814_A414_322BD2D6C5A8__INCLUDED_)
#define AFX_PING_H__A5CB9C43_D885_4814_A414_322BD2D6C5A8__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "StdAfx.h"
#define REPLY_ARRIVE 0
#define REPLY_ROUTESTATE 11013
#define REPLY_TIMEOUT 11010
typedef struct tagIPINFO
{
u_char Ttl; // Time To Live
u_char Tos; // Type Of Service
u_char IPFlags; // IP flags
u_char OptSize; // Size of options data
u_char FAR *Options; // Options data buffer
}IPINFO;
typedef IPINFO* PIPINFO;
typedef struct tagICMPECHO
{
u_long Source; // Source address
u_long Status; // IP status
u_long RTTime; // Round trip time in milliseconds
u_short DataSize; // Reply data size
u_short Reserved; // Unknown
void FAR *pData; // Reply data buffer
IPINFO ipInfo; // Reply options
}ICMPECHO;
typedef ICMPECHO* PICMPECHO;
class CPing
{
public:
CPing();
virtual ~CPing();
int Ping(CString strHost, int iSendDataTTL,CString *strRouterIP,int *iRTT);
private:
// ICMP.DLL Export Function Pointers
HANDLE (WINAPI *pIcmpCreateFile)(VOID);
BOOL (WINAPI *pIcmpCloseHandle)(HANDLE);
DWORD (WINAPI *pIcmpSendEcho)
(HANDLE,DWORD,LPVOID,WORD,PIPINFO,LPVOID,DWORD,DWORD);
HANDLE hndlIcmp; // LoadLibrary() handle to ICMP.DLL
BOOL bValid; // if it doesn't construct properly, it won't be valid
};
#endif // !defined(AFX_PING_H__A5CB9C43_D885_4814_A414_322BD2D6C5A8__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -