?? iocommon.h
字號:
//////////////////////////////////////////////////////////////////
// iocommon.h文件
#ifndef __IOCOMMON__H
#define __IOCOMMON__H
//////////////////////////////////////////////////////////
// 定義IO數據類型
typedef struct _PTUSERIO_OID_DATA
{
ULONG Oid;
ULONG Length;
UCHAR Data[1];
}PTUSERIO_OID_DATA, *PPTUSERIO_OID_DATA;
// 網絡活動狀態
typedef struct _PassthruStatistics
{
ULONG nMPSendPktsCt; // 通過MPSendPackets的封包
ULONG nMPSendPktsDropped; // 在MPSendPackets中丟棄的封包
ULONG nPTRcvCt; // 通過PTReceive的封包
ULONG nPTRcvDropped; // 在PTReceive中丟棄的封包
ULONG nPTRcvPktCt; // 通過PTReceivePacket的封包
ULONG nPTRcvPktDropped; // 在PTReceivePacket中丟棄的封包
}PassthruStatistics, *PPassthruStatistics;
// 過濾規則
typedef struct _PassthruFilter
{
USHORT protocol; // 使用的協議
ULONG sourceIP; // 源IP地址
ULONG sourceMask; // 源地址屏蔽碼 這里使用屏蔽碼是為了能夠設置一個IP地址范圍
ULONG destinationIP; // 目的IP地址
ULONG destinationMask; // 目的地址屏蔽碼
USHORT sourcePort; // 源端口號
USHORT destinationPort; // 目的端口號
BOOLEAN bDrop; // 是否丟棄此封包
}PassthruFilter, *PPassthruFilter;
////////////////////////////////////////////////////////////
// 定義IO控制代碼
#define FSCTL_PTUSERIO_BASE FILE_DEVICE_NETWORK
// 枚舉綁定的適配器
#define IOCTL_PTUSERIO_ENUMERATE \
CTL_CODE(FSCTL_PTUSERIO_BASE, 0x201, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
// 打開一個適配器
#define IOCTL_PTUSERIO_OPEN_ADAPTER \
CTL_CODE(FSCTL_PTUSERIO_BASE, 0x202, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_PTUSERIO_SET_OID \
CTL_CODE(FSCTL_PTUSERIO_BASE, 0x203, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_PTUSERIO_QUERY_OID \
CTL_CODE(FSCTL_PTUSERIO_BASE, 0x204, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
// 獲取網絡活動狀態
#define IOCTL_PTUSERIO_QUERY_STATISTICS \
CTL_CODE(FSCTL_PTUSERIO_BASE, \
0x205, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
// 重設網絡活動狀態
#define IOCTL_PTUSERIO_RESET_STATISTICS \
CTL_CODE(FSCTL_PTUSERIO_BASE, \
0x206, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
// 添加一個過濾規則
#define IOCTL_PTUSERIO_ADD_FILTER \
CTL_CODE(FSCTL_PTUSERIO_BASE, \
0x207, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
// 清除過濾規則
#define IOCTL_PTUSERIO_CLEAR_FILTER \
CTL_CODE(FSCTL_PTUSERIO_BASE, \
0x208, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#endif // __IOCOMMON__H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -