FastIo entry points

Hello,

I am writing a filter driver on w2k and have FastIo entry points. These
functions are not invoked at any time by the IO Manager but I can
invoke “FastIoDeviceControl” from my user mode application.

What is wrong in my code?.

static FAST_IO_DISPATCH fast_io_dispatch;

NTSTATUS
DriverEntry( DriverObject,RegistryPath)
{

RtlZeroMemory(&fast_io_dispatch, sizeof(fast_io_dispatch));
fast_io_dispatch.SizeOfFastIoDispatch = sizeof(fast_io_dispatch);

fast_io_dispatch.FastIoDeviceControl = FastIODispatchControl;

fast_io_dispatch.FastIoCheckIfPossible = FastIoCheckIfPossible;
fast_io_dispatch.FastIoRead = FastIoRead;
fast_io_dispatch.FastIoWrite = FastIoWrite;

}

Thanks
rajesh


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I/O manager should know that FAST I/O are supported for the fs. If your
filter driver doesn’t register its FASTIO routines with the I/O manager, the
I/O manager will never give you I/O in terms of FastIos. It will go ahead
and create IRP for the I/O request. You don’t achieve anything by using
FASTIOs from user mode application because your I/Os are landing up in I/O
manager and it would construct irps for them

-----Original Message-----
From: rajesh [mailto:xxxxx@net-fast.com]
Sent: Tuesday, February 05, 2002 12:46 PM
To: File Systems Developers
Subject: [ntfsd] FastIo entry points

Hello,

I am writing a filter driver on w2k and have FastIo entry points. These
functions are not invoked at any time by the IO Manager but I can
invoke “FastIoDeviceControl” from my user mode application.

What is wrong in my code?.

static FAST_IO_DISPATCH fast_io_dispatch;

NTSTATUS
DriverEntry( DriverObject,RegistryPath)
{

RtlZeroMemory(&fast_io_dispatch, sizeof(fast_io_dispatch));
fast_io_dispatch.SizeOfFastIoDispatch = sizeof(fast_io_dispatch);

fast_io_dispatch.FastIoDeviceControl = FastIODispatchControl;

fast_io_dispatch.FastIoCheckIfPossible = FastIoCheckIfPossible;
fast_io_dispatch.FastIoRead = FastIoRead;
fast_io_dispatch.FastIoWrite = FastIoWrite;

}

Thanks
rajesh


You are currently subscribed to ntfsd as: xxxxx@Legato.COM
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

How to register FastIo routines with IO manager. Is it
“IoAttachDeviceByPointer” call?

rajesh

“Pashupati Kumar” wrote in message news:xxxxx@ntfsd…
>
> I/O manager should know that FAST I/O are supported for the fs. If your
> filter driver doesn’t register its FASTIO routines with the I/O manager,
the
> I/O manager will never give you I/O in terms of FastIos. It will go ahead
> and create IRP for the I/O request. You don’t achieve anything by using
> FASTIOs from user mode application because your I/Os are landing up in I/O
> manager and it would construct irps for them
>
>
>
> -----Original Message-----
> From: rajesh [mailto:xxxxx@net-fast.com]
> Sent: Tuesday, February 05, 2002 12:46 PM
> To: File Systems Developers
> Subject: [ntfsd] FastIo entry points
>
>
> Hello,
>
> I am writing a filter driver on w2k and have FastIo entry points. These
> functions are not invoked at any time by the IO Manager but I can
> invoke “FastIoDeviceControl” from my user mode application.
>
> What is wrong in my code?.
>
>
> static FAST_IO_DISPATCH fast_io_dispatch;
>
> …
>
>
> NTSTATUS
> DriverEntry( DriverObject,RegistryPath)
> {
>
> …
>
> RtlZeroMemory(&fast_io_dispatch, sizeof(fast_io_dispatch));
> fast_io_dispatch.SizeOfFastIoDispatch = sizeof(fast_io_dispatch);
>
> fast_io_dispatch.FastIoDeviceControl = FastIODispatchControl;
>
> fast_io_dispatch.FastIoCheckIfPossible = FastIoCheckIfPossible;
> fast_io_dispatch.FastIoRead = FastIoRead;
> fast_io_dispatch.FastIoWrite = FastIoWrite;
>
> …
>
> }
>
>
> Thanks
> rajesh
>
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@Legato.COM
> To unsubscribe send a blank email to
leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to
leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Initialize FastIoDispatchTable with FastIo routines and pass the address of
this table to the
DriverObject->FastIoDispatch

-----Original Message-----
From: rajesh [mailto:xxxxx@net-fast.com]
Sent: Tuesday, February 05, 2002 1:06 PM
To: File Systems Developers
Subject: [ntfsd] Re: FastIo entry points

How to register FastIo routines with IO manager. Is it
“IoAttachDeviceByPointer” call?

rajesh

“Pashupati Kumar” wrote in message news:xxxxx@ntfsd…
>
> I/O manager should know that FAST I/O are supported for the fs. If your
> filter driver doesn’t register its FASTIO routines with the I/O manager,
the
> I/O manager will never give you I/O in terms of FastIos. It will go ahead
> and create IRP for the I/O request. You don’t achieve anything by using
> FASTIOs from user mode application because your I/Os are landing up in I/O
> manager and it would construct irps for them
>
>
>
> -----Original Message-----
> From: rajesh [mailto:xxxxx@net-fast.com]
> Sent: Tuesday, February 05, 2002 12:46 PM
> To: File Systems Developers
> Subject: [ntfsd] FastIo entry points
>
>
> Hello,
>
> I am writing a filter driver on w2k and have FastIo entry points. These
> functions are not invoked at any time by the IO Manager but I can
> invoke “FastIoDeviceControl” from my user mode application.
>
> What is wrong in my code?.
>
>
> static FAST_IO_DISPATCH fast_io_dispatch;
>
> …
>
>
> NTSTATUS
> DriverEntry( DriverObject,RegistryPath)
> {
>
> …
>
> RtlZeroMemory(&fast_io_dispatch, sizeof(fast_io_dispatch));
> fast_io_dispatch.SizeOfFastIoDispatch = sizeof(fast_io_dispatch);
>
> fast_io_dispatch.FastIoDeviceControl = FastIODispatchControl;
>
> fast_io_dispatch.FastIoCheckIfPossible = FastIoCheckIfPossible;
> fast_io_dispatch.FastIoRead = FastIoRead;
> fast_io_dispatch.FastIoWrite = FastIoWrite;
>
> …
>
> }
>
>
> Thanks
> rajesh
>
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@Legato.COM
> To unsubscribe send a blank email to
leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntfsd as: xxxxx@Legato.COM
> To unsubscribe send a blank email to
leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>


You are currently subscribed to ntfsd as: xxxxx@Legato.COM
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com