Dear All,
I am working on a security application specifically for Windows 2000 NTFS
file system and have developed a “file system filter driver” to implement
the same. The driver is on similar patterns on what filespy is made (FileSpy
is a sample file system filter driver provided in IFS kit)
The application works fine when installed on a fresh Windows 2000 machine
and functions properly. But when it is installed on machine having Symantec
Norton Antivirus installed in it, the system crashes with a stop code
STOP 0x0000007f (0x00000008, 0x00000000, 0x00000000, 0x00000000)
UNEXPECTED_KERNEL_MODE_TRAP
//////////////////////
According to my research:
The issue of incompatibility occurs because there is a limited amount of
kernel space available for kernel drivers. For Windows 2000, this limit is
12 KB. If the operating system runs out of kernel space, then the computer
displays a blue screen error message.
Most anti-virus software uses filter drivers (device drivers) that work in
conjunction with a service to scan for viruses. These filter drivers are
still loaded after the service is deactivated. These filter drivers scan
files as they are opened and closed on a hard disk. And the Symantec filter
driver is called “symevent.sys”.
In my case, when my application is installed on a machine having Norton
Antivirus installed in it, the driver allocates its kernel space and at same
time Norton loads SymEvent.sys filter driver. So this kernel-mode scanning
driver (SymEvent.sys) is unable to allocate buffer space when it calls the
file system to map a portion of a disk file in memory. And when a system has
insufficient
Kernel mode memory, NTFS can’t allocate the requested buffer and sometimes
can’t allocate enough memory to indicate the buffer request failed. In this
situation, the system crashes with the 0x07F Stop message.
//////////////////////
So is there any way out to run Norton Antivirus and my application at same
time? Is there any way to place our driver on top of the Norton Symevent.sys
driver? Or, is there any alternative way?
Please send your valuable suggestions. Also, feel free to contact me for
further clarifications in this regard.
Waiting for your reply,
Thanks
Regards,
Rohit