_STATIC_FILTER Home

Introduction
What is WinpkFilter?
Programming Languages Support
Installation
Helper drivers IOCTLs
IOCTL_NDISRD_ADAPTER_QUEUE_SIZE
IOCTL_NDISRD_FLUSH_ADAPTER_QUEUE
IOCTL_NDISRD_GET_ADAPTER_MODE
IOCTL_NDISRD_GET_PACKET_FILTERS_RESET_STATS
IOCTL_NDISRD_GET_PACKET_FILTERS
IOCTL_NDISRD_GET_PACKET_FILTERS_TABLESIZE
IOCTL_NDISRD_GET_RAS_LINKS
IOCTL_NDISRD_GET_TCPIP_INTERFACES
IOCTL_NDISRD_GET_VERSION
IOCTL_NDISRD_READ_PACKET
IOCTL_NDISRD_READ_PACKETS
IOCTL_NDISRD_RESET_PACKET_FILTERS
IOCTL_NDISRD_SEND_PACKET_TO_ADAPTER
IOCTL_NDISRD_SEND_PACKET_TO_MSTCP
IOCTL_NDISRD_SEND_PACKETS_TO_ADAPTER
IOCTL_NDISRD_SEND_PACKETS_TO_MSTCP
IOCTL_NDISRD_SET_ADAPTER_EVENT
IOCTL_NDISRD_SET_ADAPTER_MODE
IOCTL_NDISRD_SET_EVENT
IOCTL_NDISRD_SET_PACKET_FILTERS
IOCTL_NDISRD_SET_WAN_EVENT
User-mode API
C++ Interface
CNdisApi::CNdisApi
CNdisApi::~CNdisApi
CNdisApi::ConvertWindows2000AdapterName
CNdisApi::ConvertWindows9xAdapterName
CNdisApi::ConvertWindowsNTAdapterName
CNdisApi::DeviceIoControl
CNdisApi::FlushAdapterPacketQueue
CNdisApi::GetAdapterMode
CNdisApi::GetAdapterPacketQueueSize
CNdisApi::GetAdaptersStartupMode
CNdisApi::GetBytesReturned
CNdisApi::GetHwPacketFilter
CNdisApi::GetMTUDecrement
CNdisApi::GetPacketFilterTable
CNdisApi::GetPacketFilterTableResetStats
CNdisApi::GetPacketFilterTableSize
CNdisApi::GetRasLinks
CNdisApi::GetTcpipBoundAdaptersInfo
CNdisApi::GetVersion
CNdisApi::IsDriverLoaded
CNdisApi::NdisrdRequest
CNdisApi::ReadPacket
CNdisApi::ReadPackets
CNdisApi::ResetPacketFilterTable
CNdisApi::SendPacketsToAdapter
CNdisApi::SendPacketsToMstcp
CNdisApi::SendPacketToMstcp
CNdisApi::SendPacketToAdapter
CNdisApi::SetAdapterMode
CNdisApi::SetAdapterListChangeEvent
CNdisApi::SetAdaptersStartupMode
CNdisApi::SetHwPacketFilter
CNdisApi::SetMTUDecrement
CNdisApi::SetPacketFilterTable
CNdisApi::SetPacketEvent
CNdisApi::SetWANEvent
C Interface
CloseFilterDriver
FlushAdapterPacketQueue
GetAdapterMode
GetAdapterPacketQueueSize
GetAdaptersStartupMode
GetBytesReturned
GetDriverVersion
GetMTUDecrement
GetHwPacketFilter
GetPacketFilterTableResetStats
GetPacketFilterTable
GetPacketFilterTableSize
GetRasLinks
GetTcpipBoundAdaptersInfo
IsDriverLoaded
NdisrdRequest
OpenFilterDriver
ReadPacket
ReadPackets
ResetPacketFilterTable
SendPacketsToAdapter
SendPacketsToMstcp
SendPacketToAdapter
SendPacketToMstcp
SetAdapterListChangeEvent
SetAdapterMode
SetAdaptersStartupMode
SetHwPacketFilter
SetMTUDecrement
SetPacketFilterTable
SetPacketEvent
SetWANEvent
WinpkFilter Structures
_ADAPTER_EVENT
_ADAPTER_MODE
_DATA_LINK_LAYER_FILTER
_ETH_802_3_FILTER
_ETH_M_REQUEST
_ETH_REQUEST
_INTERMEDIATE_BUFFER
_IP_ADDRESS_V4
_IP_RANGE_V4
_IP_SUBNET_V4
_IP_V4_FILTER
_NETWORK_LAYER_FILTER
_NDISRD_ETH_Packet
_PACKET_OID_DATA
_PORT_RANGE
_RAS_LINK_INFO
_RAS_LINKS
_STATIC_FILTER
_STATIC_FILTER_TABLE
_TCP_AdapterList
_TCPUDP_FILTER
_TRANSPORT_LAYER_FILTER
WinpkFilter Samples
Filter
FilterStats
GRETunnel
ListAdapters
NdisRequest
PacketSniffer
PassThru
WWWCensor

 
Windows Packet Filter Kit: Structures

_STATIC_FILTER

struct _STATIC_FILTER
{
ULARGE_INTEGER m_Adapter;
unsigned long m_dwDirectionFlags;
unsigned long m_FilterAction;
unsigned long m_ValidFields;
unsigned long m_LastReset;
ULARGE_INTEGER m_Packets;
ULARGE_INTEGER m_Bytes;
DATA_LINK_LAYER_FILTER m_DataLinkFilter;
NETWORK_LAYER_FILTER m_NetworkFilter;
TRANSPORT_LAYER_FILTER m_TransportFilter;
}

This structure represents single filter entry.

m_Adapter
Adapter handle. For 32 bit systems assign adapter handle to m_Adapter.LowPart , for 64 bit systems to m_Adapter.QuadPart. If m_Adapter.QuadPart = 0 then filter is applied to all adapters.

m_dwDirectionFlags
Determines if filter should be applied to incoming, outgoing or incoming and outgoing packets. Must be a combination of PACKET_FLAG_ON_SEND and PACKET_FLAG_ON_RECEIVE

m_FilterAction
Determines if packet should be passed, dropped or redirected for processing in user mode. Must be assigned to the one of FILTER_PACKET_PASS, FILTER_PACKET_DROP or FILTER_PACKET_REDIRECT

m_ValidFields
Specifies which of the filters below contain valid values and should be matched against the packet. Must be a combination of DATA_LINK_LAYER_VALID, NETWORK_LAYER_VALID and TRANSPORT_LAYER_VALID

m_LastReset
Time of the last counters reset (in seconds passed since 1 Jan 1980)

m_Packets
Number of packets passed through this filter since last reset

m_Bytes
Number of bytes passed through this filter since last reset

m_DataLinkFilter
Data link layer filter entry

m_NetworkFilter
Network layer filter entry

m_TransportFilter
Transport layer filter entry