Ping.h
上传用户:yfy060102
上传日期:2021-05-22
资源大小:60k
文件大小:1k
源码类别:

SNMP编程

开发平台:

Visual C++

  1. #ifndef CPING_H
  2. #define CPING_H
  3. typedef struct tagIPINFO
  4. {
  5. u_char Ttl; // Time To Live
  6. u_char Tos; // Type Of Service
  7. u_char IPFlags; // IP flags
  8. u_char OptSize; // Size of options data
  9. u_char FAR *Options; // Options data buffer
  10. }IPINFO;
  11. typedef IPINFO* PIPINFO;
  12. typedef struct tagICMPECHO
  13. {
  14. u_long Source; // Source address
  15. u_long Status; // IP status
  16. u_long RTTime; // Round trip time in milliseconds
  17. u_short DataSize; // Reply data size
  18. u_short Reserved; // Unknown
  19. void FAR *pData; // Reply data buffer
  20. IPINFO ipInfo; // Reply options
  21. }ICMPECHO;
  22. typedef ICMPECHO* PICMPECHO;
  23. class CPing
  24. {
  25. public:
  26. CPing();
  27. ~CPing();
  28. BOOL Ping(char* strHost);
  29. private:
  30. // ICMP.DLL Export Function Pointers
  31. HANDLE (WINAPI *pIcmpCreateFile)(VOID);
  32. BOOL (WINAPI *pIcmpCloseHandle)(HANDLE);
  33. DWORD (WINAPI *pIcmpSendEcho)
  34. (HANDLE,DWORD,LPVOID,WORD,PIPINFO,LPVOID,DWORD,DWORD);
  35. HANDLE hndlIcmp; // LoadLibrary() handle to ICMP.DLL
  36. BOOL bValid; // if it doesn't construct properly, it won't be valid
  37. };
  38. #endif