R
RA
I am using the Windows IFS kit to write a replication filter-driver.
I am currently doing the following
In open (IRP_MJ_CREATE):
Handle= ZwCreateFile(..);
.. Save Handle
Then in write (IRP_MJ_WRITE):
ZwWriteFile(Handle, .., DataFromTheBufferInIRP)
Unfortunately, the handle is only valid within the context of the process
calling the function. I have also tried to pass all these calls (including
ZwCreateFile and ZwWriteFile) to kernel worker threads using
IoAllocateWorkItem-IoQueueWorkItem sequence. This allows the handle to be
accessed independent of the user thread. However the Irp->UserBuffer is not
accessible in the kernel threads any more.
What can I do to both be able to access the user buffer and have a valid
handle during read/write. Any advice would be greatly appreciated.
Thanks in advance.
RA
I am currently doing the following
In open (IRP_MJ_CREATE):
Handle= ZwCreateFile(..);
.. Save Handle
Then in write (IRP_MJ_WRITE):
ZwWriteFile(Handle, .., DataFromTheBufferInIRP)
Unfortunately, the handle is only valid within the context of the process
calling the function. I have also tried to pass all these calls (including
ZwCreateFile and ZwWriteFile) to kernel worker threads using
IoAllocateWorkItem-IoQueueWorkItem sequence. This allows the handle to be
accessed independent of the user thread. However the Irp->UserBuffer is not
accessible in the kernel threads any more.
What can I do to both be able to access the user buffer and have a valid
handle during read/write. Any advice would be greatly appreciated.
Thanks in advance.
RA