107 lines
2.9 KiB
C
107 lines
2.9 KiB
C
// GetNetState.h: interface for the CGetNetState class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_GETNETSTATE_H__38CBAC73_12F1_450C_BAE4_01D3042C905F__INCLUDED_)
|
|
#define AFX_GETNETSTATE_H__38CBAC73_12F1_450C_BAE4_01D3042C905F__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
#include <WINSOCK2.H>
|
|
|
|
#include <Windows.h>
|
|
#include <Iphlpapi.h>
|
|
#include <tlhelp32.h>
|
|
|
|
|
|
#pragma comment(lib, "Iphlpapi.lib")
|
|
#pragma comment(lib, "WS2_32.lib")
|
|
|
|
|
|
typedef struct
|
|
{
|
|
DWORD dwState; // 蟀諉袨怓
|
|
DWORD dwLocalAddr; // 掛華華硊
|
|
DWORD dwLocalPort; // 掛華傷諳
|
|
DWORD dwRemoteAddr; // 堈最華硊
|
|
DWORD dwRemotePort; // 堈最傷諳
|
|
DWORD dwProcessId; // 輛最ID瘍
|
|
} MIB_TCPEXROW, *PMIB_TCPEXROW;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_TCPEXROW table[ANY_SIZE];
|
|
} MIB_TCPEXTABLE, *PMIB_TCPEXTABLE;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD dwLocalAddr; // 掛華華硊
|
|
DWORD dwLocalPort; // 掛華傷諳
|
|
DWORD dwProcessId; // 輛最ID瘍
|
|
} MIB_UDPEXROW, *PMIB_UDPEXROW;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD dwNumEntries;
|
|
MIB_UDPEXROW table[ANY_SIZE];
|
|
} MIB_UDPEXTABLE, *PMIB_UDPEXTABLE;
|
|
|
|
|
|
// 孺桯滲杅埻倰
|
|
typedef DWORD (WINAPI *PFNAllocateAndGetTcpExTableFromStack)(
|
|
PMIB_TCPEXTABLE *pTcpTable,
|
|
BOOL bOrder,
|
|
HANDLE heap,
|
|
DWORD zero,
|
|
DWORD flags
|
|
);
|
|
|
|
typedef DWORD (WINAPI *PFNAllocateAndGetUdpExTableFromStack)(
|
|
PMIB_UDPEXTABLE *pUdpTable,
|
|
BOOL bOrder,
|
|
HANDLE heap,
|
|
DWORD zero,
|
|
DWORD flags
|
|
);
|
|
|
|
|
|
typedef struct{
|
|
DWORD dwState; //蟀諉袨怓
|
|
DWORD dwLocalAddr; //掛華華硊
|
|
DWORD dwLocalPort; //掛華傷諳
|
|
DWORD dwRemoteAddr; //堈最華硊
|
|
DWORD dwRemotePort; //堈最傷諳
|
|
DWORD dwProcessId; //輛最梓妎
|
|
DWORD Unknown; //渾隅梓妎
|
|
}MIB_TCPEXROW_VISTA,*PMIB_TCPEXROW_VISTA;
|
|
|
|
typedef struct{
|
|
DWORD dwNumEntries;
|
|
MIB_TCPEXROW_VISTA table[ANY_SIZE];
|
|
}MIB_TCPEXTABLE_VISTA,*PMIB_TCPEXTABLE_VISTA;
|
|
|
|
typedef DWORD (WINAPI *_InternalGetTcpTable2)(
|
|
PMIB_TCPEXTABLE_VISTA *pTcpTable_Vista,
|
|
HANDLE heap,
|
|
DWORD flags
|
|
);
|
|
|
|
|
|
typedef DWORD (WINAPI *PFNInternalGetUdpTableWithOwnerPid)(
|
|
PMIB_UDPEXTABLE *pUdpTable,
|
|
HANDLE heap,
|
|
DWORD flags
|
|
);
|
|
|
|
|
|
PCHAR ProcessPidToName(HANDLE hProcessSnap, DWORD ProcessId, PCHAR ProcessName);
|
|
|
|
LPBYTE getNetStateList();
|
|
|
|
|
|
#endif // !defined(AFX_GETNETSTATE_H__38CBAC73_12F1_450C_BAE4_01D3042C905F__INCLUDED_)
|