The CNdisApi class is the official C++ wrapper for Windows Packet Filter, encapsulating driver handle management, adapter configuration, packet filtering, and kernel communications.
Class Methods Directory (Windows Packet Filter 3.6.x)
- Driver Management:
IsDriverLoaded,GetVersion,DeviceIoControl - Adapter Enumeration & Configuration:
GetTcpipBoundAdaptersInfo,GetAdapterMode,SetAdapterMode,GetHwPacketFilter,SetHwPacketFilter,GetMTUDecrement,SetMTUDecrement,GetAdaptersStartupMode,SetAdaptersStartupMode - Events:
SetPacketEvent,SetWANEvent,SetAdapterListChangeEvent,SetHwPacketFilterEvent - Packet Transfer:
ReadPacket,ReadPackets,ReadPacketsUnsorted,SendPacketToAdapter,SendPacketsToAdapter,SendPacketsToAdaptersUnsorted,SendPacketToMstcp,SendPacketsToMstcp,SendPacketsToMstcpUnsorted,FlushAdapterPacketQueue,GetAdapterPacketQueueSize - Fast I/O:
InitializeFastIo,AddSecondaryFastIo - Static Filters:
SetPacketFilterTable,GetPacketFilterTable,GetPacketFilterTableSize,ResetPacketFilterTable,GetPacketFilterTableResetStats - Dynamic Filter Management (3.6.1+): AddStaticFilterFront, AddStaticFilterBack, InsertStaticFilter, RemoveStaticFilter
- Kernel Caches (3.6.1+): EnablePacketFilterCache, DisablePacketFilterCache, EnablePacketFragmentCache, DisablePacketFragmentCache
- Low-Level I/O (3.6.2+): DeviceIoControl,
NdisrdRequest