Hello all,
Let me start by saying thank you in advance for any information you
all may be able to provide me. My problem is that I have written a Win2K
driver with a READ_MEMORY and a WRITE_MEMORY ioctls, among others. The
WRITE_MEMORY ioctl works just as it is suppose to. The READ_MEMORY on the
other hand does not. I have traced it through the driver using SoftIce
and
noticed that everything appears to be normal and all variables are getting
proper values from the device. The problem arises when I make a call to
DeviceIoControl() for READ_MEMORY, upon completion of DeviceIoControl(), I
have no call stack left. I guess the question is, Does anyone know if
anything that would cause the Driver to overwrite the call stack?
An added note: The call stack is valid after I call my
COMPLETE_IRP()
macro and at the instance that I return from my DeviceControl() function.
It disappears sometime before the application regains control. I have
never
seen this problem before, any help will be greatly appreciated.
Thank you again,