Long-lived buffer

According to Viscarola & Mason (pg. 190) MmGetSystemAddressForMdl()
“returns a kernel virtual address that may be used in an arbitrary
thread context to refer to the buffer that the MDL describes.”

If a user wants a buffer to hang around as long as the driver is open,
can an Irp that passes the buffer’s MDL be pended forever thus allowing
driver access to this buffer for the life of the app that opens the
driver? Will the buffer pages remain locked?

Bill Casey
=== SCSI Adapters & VirtualSCSI Target Mode Libs ===
Advanced Storage Concepts, Inc. www.virtualscsi.com

> If a user wants a buffer to hang around as long as the driver is open,

can an Irp that passes the buffer’s MDL be pended forever thus allowing
driver access to this buffer for the life of the app that opens the
driver? Will the buffer pages remain locked?
yes.
but be sure to write the cancel routine.

regards
jeseem
mailto:xxxxx@hotmail.com

----- Original Message -----
From: “Bill Casey”
To: “NT Developers Interest List”
Sent: Monday, August 28, 2000 1:08 PM
Subject: [ntdev] Long-lived buffer

> According to Viscarola & Mason (pg. 190) MmGetSystemAddressForMdl()
> “returns a kernel virtual address that may be used in an arbitrary
> thread context to refer to the buffer that the MDL describes.”
>
> If a user wants a buffer to hang around as long as the driver is open,
> can an Irp that passes the buffer’s MDL be pended forever thus allowing
> driver access to this buffer for the life of the app that opens the
> driver? Will the buffer pages remain locked?
>
> Bill Casey
> === SCSI Adapters & VirtualSCSI Target Mode Libs ===
> Advanced Storage Concepts, Inc. www.virtualscsi.com
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@hotmail.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>

However, will not the system time out that IRP?

-----Original Message-----
From: Jeseem [mailto:xxxxx@hotmail.com]
Sent: Monday, August 28, 2000 10:40 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Long-lived buffer

If a user wants a buffer to hang around as long as the
driver is open,
> can an Irp that passes the buffer’s MDL be pended forever
thus allowing
> driver access to this buffer for the life of the app that
opens the
> driver? Will the buffer pages remain locked?
yes.
but be sure to write the cancel routine.

regards
jeseem
mailto:xxxxx@hotmail.com

----- Original Message -----
From: “Bill Casey”
To: “NT Developers Interest List”
Sent: Monday, August 28, 2000 1:08 PM
Subject: [ntdev] Long-lived buffer

> According to Viscarola & Mason (pg. 190)
MmGetSystemAddressForMdl()
> “returns a kernel virtual address that may be used in an
arbitrary
> thread context to refer to the buffer that the MDL
describes.”
>
> If a user wants a buffer to hang around as long as the
driver is open,
> can an Irp that passes the buffer’s MDL be pended forever
thus allowing
> driver access to this buffer for the life of the app that
opens the
> driver? Will the buffer pages remain locked?
>
> Bill Casey
> === SCSI Adapters & VirtualSCSI Target Mode Libs ===
> Advanced Storage Concepts, Inc. www.virtualscsi.com
>
>
>
> —
> You are currently subscribed to ntdev as:
xxxxx@hotmail.com
> To unsubscribe send a blank email to
$subst(‘Email.Unsub’)
>
>


You are currently subscribed to ntdev as:
xxxxx@delphieng.com
To unsubscribe send a blank email to
$subst(‘Email.Unsub’)

> However, will not the system time out that IRP?

Don’t think so. If the IOCTL (overlapped op) is issued with INFINITE, I
would think there would be no timeout unless the I/O manager has some
unknown (to me) mechanism that is watching pended IRPs and their
duration.

Bill Casey
=== SCSI Adapters & VirtualSCSI Target Mode Libs ===
Advanced Storage Concepts, Inc. www.virtualscsi.com> >