Equivalent of MmAdvanceMdl for win2k

Hi,
I need the functionality of MmAdvanceMdl for a driver that is targeted
for Windows 2000. DDK documentation says that it’s available on XP
onwards.

Please suggest any pointers.

If art interprets our dreams, the computer executes them in the guise of
programs!

If you are following the recommendations regarding when the use of
MmAdvanceMdl is appropriate then the alternative is to pre-allocate an MDL
that you hold in reserve and use with IoBuildPartialMdl under low resource
conditions. Otherwise just use IoBuildPartialMdl, it provides the same
functionality except that you have to allocate a separate MDL.

=====================
Mark Roddy
Windows .NET/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Harish Arora
Sent: Thursday, May 12, 2005 10:28 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Equivalent of MmAdvanceMdl for win2k

Hi,
I need the functionality of MmAdvanceMdl for a driver that is
targeted for Windows 2000. DDK documentation says that it’s
available on XP onwards.

Please suggest any pointers.

If art interprets our dreams, the computer executes them in
the guise of programs!


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

I don’t want to pre-allocate an MDL and offcourse allocating one while in the IO path is a big no no. So essentially I want to avoid IoBuildPartialMdl unless there’s no other way.

-----Original Message-----
From: xxxxx@lists.osr.com on behalf of Mark Roddy
Sent: Thu 5/12/2005 8:11 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Equivalent of MmAdvanceMdl for win2k

If you are following the recommendations regarding when the use of
MmAdvanceMdl is appropriate then the alternative is to pre-allocate an MDL
that you hold in reserve and use with IoBuildPartialMdl under low resource
conditions. Otherwise just use IoBuildPartialMdl, it provides the same
functionality except that you have to allocate a separate MDL.

=====================
Mark Roddy
Windows .NET/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Harish Arora
Sent: Thursday, May 12, 2005 10:28 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Equivalent of MmAdvanceMdl for win2k

Hi,
I need the functionality of MmAdvanceMdl for a driver that is
targeted for Windows 2000. DDK documentation says that it’s
available on XP onwards.

Please suggest any pointers.

If art interprets our dreams, the computer executes them in
the guise of programs!


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@mendocinosoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Disassemble it and try reproducing the same logic on w2k.
If this will not be possible - then use IoBuildPartialMdl instead.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Harish Arora”
To: “Windows System Software Devs Interest List”
Sent: Friday, May 13, 2005 6:28 AM
Subject: [ntdev] Equivalent of MmAdvanceMdl for win2k

Hi,
I need the functionality of MmAdvanceMdl for a driver that is targeted
for Windows 2000. DDK documentation says that it’s available on XP
onwards.

Please suggest any pointers.

If art interprets our dreams, the computer executes them in the guise of
programs!


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

>I don’t want to pre-allocate an MDL and offcourse allocating one while in the
IO path is a

big no no.

Why? Nearly any IO path has IoAllocateMdl in it.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

>

I don’t want to pre-allocate an MDL and offcourse allocating
one while in the IO path is a big no no. So essentially I
want to avoid IoBuildPartialMdl unless there’s no other way.

You have a fundamental misunderstanding regarding IoBuildPartialMdl and
MmAdvanceMdl. “[of]course allocating one while in the IO path is a big no
no” no, it is not a big no no. The problem that MmAdvanceMdl tries to
address, as the documentation makes clear, is that this allocation may fail
due to low resource situations and that there are some data paths that
simply aren’t allowed to partially fail transfers between upper and lower
layered drivers. The documentation clearly states that use of this interface
should NOT be the normal data path for your IO, as it “can slow system
performance”.

I tried, but obviously failed, to point you to the NORMAL mechanism for
segmenting MDL based IO request: IoBuildPartialMdl. Please try reading the
documentation for IoBuildPartialMdl and IoAllocateMdl again. They are both
available for your use at DISPATCH_LEVEL and lower and are the correct way
to segment IO.

=====================
Mark Roddy
Windows .NET/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com

-----Original Message-----
From: xxxxx@lists.osr.com on behalf of Mark Roddy
Sent: Thu 5/12/2005 8:11 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Equivalent of MmAdvanceMdl for win2k

If you are following the recommendations regarding when the
use of MmAdvanceMdl is appropriate then the alternative is to
pre-allocate an MDL that you hold in reserve and use with
IoBuildPartialMdl under low resource conditions. Otherwise
just use IoBuildPartialMdl, it provides the same
functionality except that you have to allocate a separate MDL.

=====================
Mark Roddy
Windows .NET/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032 www.hollistech.com

> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Harish Arora
> Sent: Thursday, May 12, 2005 10:28 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Equivalent of MmAdvanceMdl for win2k
>
> Hi,
> I need the functionality of MmAdvanceMdl for a driver that
is targeted
> for Windows 2000. DDK documentation says that it’s available on XP
> onwards.
>
> Please suggest any pointers.
>
>
> If art interprets our dreams, the computer executes them in
the guise
> of programs!
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
> argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@mendocinosoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com