Jump to content
Welcome to our new Citrix community!
  • 0

ZwReadFile causes fsdk exception in IRP_MJ_CREATE dispatch routine for PicaDriveRedirector


Juumlrgen Falk

Question

ZwReadFile causes an fsdk exception in a lower level filter driver in IRP_MJ_CREATE dispatch routine for PicaDriveRedirector files (Citrix redirector).
I'm getting the IRP_MJ_CREATE irp in my filter and want to open the file in the dispatch routine to read the first chars. For that, I use IoCreateFileSpecifyDeviceObjectHint, ObReferenceObjectByHandle, ObOpenObjectByPointer and then ZwReadFile. IoCreateFileSpecifyDeviceObjectHint and the Ob... functions succeed and all return valid objects and a valid file handle. But the following ZwReadFile throws the fsdk exception in a lower level driver:

 

*** FSDK DEBUGGING: Caught exception in FSDK Code ***
*** THIS IS AN EXPECTED CONDITION BEING HANDLED ***
*** FSDK DEBUGGING: Caught exception in FSDK Code ***
*** ***
*** You should execute the following windbg commands: **
*** ***
*** ***
*** .exr 0xFFFF82078ED7F1D0 ; .cxr 0xFFFF82078ED7F270 ; kv ***

*** ***
*** ***
*** (this is current as of WinDBG 6.5.3.7) ***
*** For current versions please see ***
*** http://www.microsoft.com/whdc/ddk/debugging ***
*** ***

*** FSDK DEBUGGING: Continued past breakpoint. ***

 

return values from ZwReadFile

452a0080: IRP_MJ_CREATE ZwReadFile Error: Status=c0000008, IoStatusBlock.Status=0, Handle=800022e4

 

It looks like the handle became invalid somehow during read. This all happens when I'm filtering the \device\picadriveredirector files. I assume it is the OSR Windows File System Development Kit (FSDK) that the Citrix picadriveredirector team is using. The exception is raised by one of the lower level drivers in the stack when my routine is calling ZwReadFile (with a valid handle), probably the picadriveredirector driver.  I've also created the read IRP by myself and sent it down, to bypass ZwReadFile, same problem.

Any help is appreciated. Thank you.

Link to comment

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...