Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _PING_H_
#define _PING_H_
#include <ipexport.h>
#include <icmpapi.h>
// Function prototypes equivalent to those in icmpapi.h
// these are required in order to use GetProcAddress()
typedef HANDLE (WINAPI * PFNIcmpCreateFile) (VOID); typedef BOOL (WINAPI * PFNIcmpCloseHandle) (HANDLE IcmpHandle); typedef DWORD (WINAPI * PFNIcmpSendEcho) ( HANDLE IcmpHandle, IPAddr DestinationAddress, LPVOID RequestData, WORD RequestSize, PIP_OPTION_INFORMATION RequestOptions, LPVOID ReplyBuffer, DWORD ReplySize, DWORD Timeout);
enum { AUTODIAL_UNKNOWN = -1, PLATFORM_UNKNOWN = -2 };
class CPing { protected: HINSTANCE m_hICMPDLL; PFNIcmpCreateFile m_pfnCreateFile; PFNIcmpCloseHandle m_pfnCloseHandle; PFNIcmpSendEcho m_pfnSendEcho;
BOOL m_fWinNTAutodialEnabled; DWORD m_dwPlatformId;
public: CPing() : m_hICMPDLL (NULL), m_pfnCreateFile (NULL), m_pfnCloseHandle (NULL), m_pfnSendEcho (NULL), m_fWinNTAutodialEnabled (AUTODIAL_UNKNOWN), m_dwPlatformId (PLATFORM_UNKNOWN) { }; ~CPing() { if (m_hICMPDLL) ::FreeLibrary(m_hICMPDLL); }; HRESULT Ping(DWORD dwAddr, DWORD dwTimeout, DWORD dwRetries);
BOOL IsWin95AutodialEnabled ( VOID ); BOOL IsWinNTAutodialEnabled ( VOID ); BOOL IsAutodialEnabled ( VOID ); // call either one above
};
#endif // _PING_H_
|