#include "precomp.h" #include "driver.h" #pragma data_seg() #pragma bss_seg() WDFQUEUE g_wdfWaitRestartQueue = NULL; WDFDEVICE g_wdfControlDevice; PNDIS_GENERIC_OBJECT g_pNdisGenericObj = NULL; NDIS_HANDLE g_hNetBufferListPool = NULL; NDIS_HANDLE g_hNetBufferPool = NULL; KEVENT g_oWorkerEvent; KEVENT g_oWorkerDoneEvent; HANDLE g_hInjectionHandleV4 = NULL; HANDLE g_hInjectionHandleV6 = NULL; UINT32 g_nInboundTransportV4Id = 0; UINT32 g_nInboundTransportV6Id = 0; UINT32 g_nAleAcceptRecvV4Id = 0; UINT32 g_nAleAcceptRecvV6Id = 0; UINT32 g_nAleFlowEstablishedV4Id = 0; UINT32 g_nAleFlowEstablishedV6Id = 0; UINT32 g_nStreamIdV4 = 0; UINT32 g_nStreamIdV6 = 0; UINT32 g_nDatagramIdV4 = 0; UINT32 g_nDatagramIdV6 = 0; FIREWALL_CONFIG g_stFirewallConfig = { 0 }; BOOLEAN g_bFiltersChangeInProgress = FALSE; BOOLEAN g_bDriverUnload = FALSE; PVOID g_pWorkerThreadObj = NULL; UINT32 g_uiRestartStatus = 0; LIST_ENTRY g_stPendedPacketsQueue; LIST_ENTRY g_stFreeFileList; LIST_ENTRY g_stAcceptableList; LIST_ENTRY g_stFlowedFileList; LIST_ENTRY g_stWaitForDoneFileList; LIST_ENTRY g_stWaitForQuery2FileList; LIST_ENTRY g_stWaitForSetFilterFileList; LIST_ENTRY g_stUdpInboundList; LIST_ENTRY g_stUdpALEAcceptRecvList; LIST_ENTRY g_stUdpAcceptNotifyList; LIST_ENTRY g_stUdpALEAcceptPendedList; LIST_ENTRY g_stUdpALEFlowEstablishList;