Hi all,
I am writing a VxD in 98. I am hooking to the IFSMGR functions. The
requirement is
Whenevr a File read happens The VxD will block the call and inform the ring
3 application. Then the ring3 app will decide whether to allow or deny the
request.
For communication between the ring0 and ring 3 i am using a shared event.
When i am blocking the Read request in the IFSMGR read
I am using a Wait_Semaphore()
Once the response comes We will signal the semaphore.
It is working for some files and system hangs for others
Here is the pseudo code of what iam doing
IFS_MGR REad
Get The File Name
Copy the file name to a structure
structure.SemaphoreHandle = Create_Semaphore(0);
Put structure in Queue
_VWin32_SignalEvent( shared event);
Wait_Semaphore(structure.SemaphoreHandle);
Allow/deny the request
End IFMGR READ
whenever the ring 3 issues an ioctl to read the requests
Read from queue
Whenevr the ring 3 is giving a response
Signal_Semaphore(structure.SemaphoreHandle)
This works fine with notepad.
But when i am accessign anything in c:\windows, All dlls
it is hanging.
Is the code is reentrant as in case of 2000.
Thanks
Hari
I think that you are pretty much dead meat if you are tyring to do this.
There is some old information about this on the PCAUSA site. See:
http://www.pcausa.com/resources/ifsqlist.html
Good luck,
Thomas F. Divine
http://www.pcausa.com
“Kedar” wrote in message news:xxxxx@ntdev…
> Hi all,
>
> I am writing a VxD in 98. I am hooking to the IFSMGR functions. The
> requirement is
>
> Whenevr a File read happens The VxD will block the call and inform the
ring
> 3 application. Then the ring3 app will decide whether to allow or deny the
> request.
>
> For communication between the ring0 and ring 3 i am using a shared event.
>
> When i am blocking the Read request in the IFSMGR read
> I am using a Wait_Semaphore()
>
> Once the response comes We will signal the semaphore.
>
> It is working for some files and system hangs for others
>
> Here is the pseudo code of what iam doing
>
> IFS_MGR REad
>
> Get The File Name
> Copy the file name to a structure
> structure.SemaphoreHandle = Create_Semaphore(0);
> Put structure in Queue
> _VWin32_SignalEvent( shared event);
> Wait_Semaphore(structure.SemaphoreHandle);
> Allow/deny the request
> End IFMGR READ
>
> whenever the ring 3 issues an ioctl to read the requests
>
> Read from queue
>
> Whenevr the ring 3 is giving a response
>
> Signal_Semaphore(structure.SemaphoreHandle)
>
> This works fine with notepad.
> But when i am accessign anything in c:\windows, All dlls
> it is hanging.
>
> Is the code is reentrant as in case of 2000.
>
> Thanks
> Hari
>
>
>
>