MDL creation problem

Hi,

I need to create a MDL while writing the crash dump in my scsiport driver,
specifically to create an SRB and use this MDL to write some information
(that i get only in a crash dump) to the slave disk.

When i use the MDL supplied by the system for CrashDumpWrite, it works fine.
But the MDL i create using the following:

  1. IoAllocateMDL()
  2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() (tried both but
    exclusively)
  3. MmMapLockedPagesSpecifyCache()
  4. MmGetSystemAddressForMdlsafe()

doesn’t work. The AtapiInterrupt() hangs and waits forever for the device to
interrupt. When i check the SRB fields ie. srb->DataTransferLength and
srb->DataBuffer, they seem to be correct

Can anyone help on this or suggest an alternative???

At what IRQL is CrashDumpWrite being called at? If it is > DISPATCH_LEVEL, then you can’t call these routines.

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Thursday, December 01, 2005 5:23 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] MDL creation problem

Hi,
?
I need to create a MDL while writing the crash dump in my scsiport driver, specifically to create an SRB and use this MDL to write some information (that i get only in a crash dump) to the slave disk.
?
When i use the MDL supplied by the system for CrashDumpWrite, it works fine. But the MDL i create using the following:
?

  1. IoAllocateMDL()
  2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() ?(tried both but exclusively)
  3. MmMapLockedPagesSpecifyCache()
  4. MmGetSystemAddressForMdlsafe()
    ?
    doesn’t work. The AtapiInterrupt() hangs and waits forever for the device to interrupt. When i check the SRB fields ie. srb->DataTransferLength and srb->DataBuffer, they seem to be correct
    ?
    Can anyone help on this or suggest an alternative???
    ?
    — 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

Both of these have to be called at <= DISPATCH_LEVEL and I believe you
are at DIRQL or something like it. If you really have to write
everything twice I suggest you write to one side first and then the
other using the same SRB for both.


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Thursday, December 01, 2005 8:23 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] MDL creation problem

Hi,

I need to create a MDL while writing the crash dump in my scsiport
driver, specifically to create an SRB and use this MDL to write some
information (that i get only in a crash dump) to the slave disk.

When i use the MDL supplied by the system for CrashDumpWrite, it works
fine. But the MDL i create using the following:

  1. IoAllocateMDL()

  2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() (tried both but
    exclusively)

  3. MmMapLockedPagesSpecifyCache()

  4. MmGetSystemAddressForMdlsafe()

doesn’t work. The AtapiInterrupt() hangs and waits forever for the
device to interrupt. When i check the SRB fields ie.
srb->DataTransferLength and srb->DataBuffer, they seem to be correct

Can anyone help on this or suggest an alternative???

— 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

You can also use a Checked build of Windows and it you are at the wrong IRLQ you will get an ASSERT and break into the kernel debugger.

Thanks
Mike Jones
“Pritam” wrote in message news:xxxxx@ntdev…
Hi,

I need to create a MDL while writing the crash dump in my scsiport driver, specifically to create an SRB and use this MDL to write some information (that i get only in a crash dump) to the slave disk.

When i use the MDL supplied by the system for CrashDumpWrite, it works fine. But the MDL i create using the following:

1. IoAllocateMDL()
2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() (tried both but exclusively)
3. MmMapLockedPagesSpecifyCache()
4. MmGetSystemAddressForMdlsafe()

doesn’t work. The AtapiInterrupt() hangs and waits forever for the device to interrupt. When i check the SRB fields ie. srb->DataTransferLength and srb->DataBuffer, they seem to be correct

Can anyone help on this or suggest an alternative???

I understand that now. I am at a higher IRQL specifically 1fh, and that’s
why probably although the functions aren’t failing but nothing is really
achieved. I read the documentation about the functions, but thought would
give it a try anyway.

Is there an alternative/better solution to accomplish this? Please suggest.

On 12/2/05, Mike Jones wrote:
>
> You can also use a Checked build of Windows and it you are at the wrong
> IRLQ you will get an ASSERT and break into the kernel debugger.
>
> Thanks
> Mike Jones
>
> “Pritam” wrote in message news:xxxxx@ntdev…
> Hi,
>
> I need to create a MDL while writing the crash dump in my scsiport driver,
> specifically to create an SRB and use this MDL to write some information
> (that i get only in a crash dump) to the slave disk.
>
> When i use the MDL supplied by the system for CrashDumpWrite, it works
> fine. But the MDL i create using the following:
>
> 1. IoAllocateMDL()
> 2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() (tried both but
> exclusively)
> 3. MmMapLockedPagesSpecifyCache()
> 4. MmGetSystemAddressForMdlsafe()
>
> doesn’t work. The AtapiInterrupt() hangs and waits forever for the device
> to interrupt. When i check the SRB fields ie. srb->DataTransferLength and
> srb->DataBuffer, they seem to be correct
>
> Can anyone help on this or suggest an alternative???
>
>
>
> —
> 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

>Hi,

I need to create a MDL while writing the crash dump in my scsiport driver,
specifically to create >an SRB and use this MDL to write some information
(that i get only in a crash dump) to the slave >disk.

When i use the MDL supplied by the system for CrashDumpWrite, it works
fine. But the MDL i >create using the following:

  1. IoAllocateMDL()
  2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() (tried both but
    exclusively)
  3. MmMapLockedPagesSpecifyCache()
  4. MmGetSystemAddressForMdlsafe()

doesn’t work. The AtapiInterrupt() hangs and waits forever for the device
to interrupt. When i >check the SRB fields ie. srb->DataTransferLength and
srb->DataBuffer, they seem to be correct

Can anyone help on this or suggest an alternative???

IRQL problem.

I realised that, any alternatives, instead of creating a MDL, since thats
not feasible.

On 12/2/05, Developer wrote:
>
> >Hi,
>
> >I need to create a MDL while writing the crash dump in my scsiport
> driver, specifically to create >an SRB and use this MDL to write some
> information (that i get only in a crash dump) to the slave >disk.
>
> >When i use the MDL supplied by the system for CrashDumpWrite, it works
> fine. But the MDL i >create using the following:
>
> >1. IoAllocateMDL()
> >2. MmProbeAndLockPages() / MmBuildMdlForNonPagedPool() (tried both but
> exclusively)
> >3. MmMapLockedPagesSpecifyCache()
> >4. MmGetSystemAddressForMdlsafe()
>
> >doesn’t work. The AtapiInterrupt() hangs and waits forever for the device
> to interrupt. When i >check the SRB fields ie. srb->DataTransferLength and
> srb->DataBuffer, they seem to be correct
>
> >Can anyone help on this or suggest an alternative???
>
>
>
> IRQL problem.
>
> — 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

as suggested by someone else in this thread, can’t you reuse the SRB
instead?

I am creating the SRB for the master disk in the CrashDumpWrite routine
itself, so whatever MDL is passed to me by the OS there, i allocate it to
the SRB that i created. The code looks like this:

// need to pull the DB field directly out of the MDL; and it had better
be mapped!
srb.DataBuffer = Mdl->MappedSystemVa;
srb.DataTransferLength = MmGetMdlByteCount(Mdl);

Every 5th crash dump write i want to write something to the slave disk. So
how i can reuse the SRB, since the Srb->DataBuffer has to point to an
Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers
(if i am not worng).

Can i change the Mdl->MappedSystemVa to point to my data to write or can i
change the data pointed to by it??
Both may not be possible as the Mdl pages maybe pinned down and locked. But
any suggestions?

On a different track, will an SMI generation at this point work and the
modifying the BIOS code to write to the HDD??

On 12/2/05, Developer wrote:
>
> as suggested by someone else in this thread, can’t you reuse the SRB
> instead?
> — 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

Any comments from people in MS Windows, or MVPs, or OSR people…??? It
would do me good to find a way out!! Expecting something from the Guru’s
here…

It may look a hack, but this is not for a product or anthing…

On 12/2/05, Pritam wrote:
>
> I am creating the SRB for the master disk in the CrashDumpWrite routine
> itself, so whatever MDL is passed to me by the OS there, i allocate it to
> the SRB that i created. The code looks like this:
>
> // need to pull the DB field directly out of the MDL; and it had
> better be mapped!
> srb.DataBuffer = Mdl->MappedSystemVa;
> srb.DataTransferLength = MmGetMdlByteCount(Mdl);
>
> Every 5th crash dump write i want to write something to the slave disk. So
> how i can reuse the SRB, since the Srb->DataBuffer has to point to an
> Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers
> (if i am not worng).
>
> Can i change the Mdl->MappedSystemVa to point to my data to write or can i
> change the data pointed to by it??
> Both may not be possible as the Mdl pages maybe pinned down and locked.
> But any suggestions?
>
> On a different track, will an SMI generation at this point work and the
> modifying the BIOS code to write to the HDD??
>
>
>
> On 12/2/05, Developer wrote:
> >
> > as suggested by someone else in this thread, can’t you reuse the SRB
> > instead?
> > — 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 assumed that you simply wanted to write the same dump data to both sides
of a mirrored disk. It seems instead that you want to write some other
different data to whatever this ‘slave’ device is. Quite frankly I don’t
know how you are going to do that. Sorry.

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


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Saturday, December 03, 2005 2:41 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

Any comments from people in MS Windows, or MVPs, or OSR people…??? It
would do me good to find a way out!! Expecting something from the Guru’s
here…

It may look a hack, but this is not for a product or anthing…

On 12/2/05, Pritam wrote:

I am creating the SRB for the master disk in the CrashDumpWrite routine
itself, so whatever MDL is passed to me by the OS there, i allocate it to
the SRB that i created. The code looks like this:

// need to pull the DB field directly out of the MDL; and it had better
be mapped!
srb.DataBuffer = Mdl->MappedSystemVa;
srb.DataTransferLength = MmGetMdlByteCount(Mdl);

Every 5th crash dump write i want to write something to the slave disk. So
how i can reuse the SRB, since the Srb->DataBuffer has to point to an
Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers
(if i am not worng).

Can i change the Mdl->MappedSystemVa to point to my data to write or can i
change the data pointed to by it??
Both may not be possible as the Mdl pages maybe pinned down and locked. But
any suggestions?

On a different track, will an SMI generation at this point work and the
modifying the BIOS code to write to the HDD??

On 12/2/05, Developer >
wrote:

as suggested by someone else in this thread, can’t you reuse the SRB
instead?
— 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: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com

Hmm… well having thought about it perhaps the answer is to precreate an SRB
that your other device can use and reuse as you see fit.

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


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Roddy
Sent: Saturday, December 03, 2005 3:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] MDL creation problem

I assumed that you simply wanted to write the same dump data to both sides
of a mirrored disk. It seems instead that you want to write some other
different data to whatever this ‘slave’ device is. Quite frankly I don’t
know how you are going to do that. Sorry.

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


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Saturday, December 03, 2005 2:41 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

Any comments from people in MS Windows, or MVPs, or OSR people…??? It
would do me good to find a way out!! Expecting something from the Guru’s
here…

It may look a hack, but this is not for a product or anthing…

On 12/2/05, Pritam wrote:

I am creating the SRB for the master disk in the CrashDumpWrite routine
itself, so whatever MDL is passed to me by the OS there, i allocate it to
the SRB that i created. The code looks like this:

// need to pull the DB field directly out of the MDL; and it had better
be mapped!
srb.DataBuffer = Mdl->MappedSystemVa;
srb.DataTransferLength = MmGetMdlByteCount(Mdl);

Every 5th crash dump write i want to write something to the slave disk. So
how i can reuse the SRB, since the Srb->DataBuffer has to point to an
Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers
(if i am not worng).

Can i change the Mdl->MappedSystemVa to point to my data to write or can i
change the data pointed to by it??
Both may not be possible as the Mdl pages maybe pinned down and locked. But
any suggestions?

On a different track, will an SMI generation at this point work and the
modifying the BIOS code to write to the HDD??

On 12/2/05, Developer >
wrote:

as suggested by someone else in this thread, can’t you reuse the SRB
instead?
— 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: 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: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Well i am precreating a MDL at DriverEntry (hoping and being almost sure),
that it gets called at <=DISPATCH_LEVEL when my
hiber_(mydriver).sys gets reloaded during hibernate, and then fill up the
Buffer for the MDL at the Hibernate CrashDumpWrite routine.

Doing this makes the code wait forever for the device to interrupt (i am
doing PIO) and thats it. I am hoping to find out the difference between the
system MDL and my created MDL, if that leads to a anything…
As of nw, in a fix for sure!

On 12/4/05, Mark Roddy wrote:
>
> Hmm… well having thought about it perhaps the answer is to precreate an
> SRB that your other device can use and reuse as you see fit.
>
>
> =====================
> Mark Roddy DDK MVP
> Windows 2003/XP/2000 Consulting
> Hollis Technology Solutions 603-321-1032
> www.hollistech.com
>
>
> ------------------------------
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Mark Roddy
> Sent: Saturday, December 03, 2005 3:30 PM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] MDL creation problem
>
>
> I assumed that you simply wanted to write the same dump data to both
> sides of a mirrored disk. It seems instead that you want to write some other
> different data to whatever this ‘slave’ device is. Quite frankly I don’t
> know how you are going to do that. Sorry.
>
>
> =====================
> Mark Roddy DDK MVP
> Windows 2003/XP/2000 Consulting
> Hollis Technology Solutions 603-321-1032
> www.hollistech.com
>
>
> ------------------------------
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Pritam
> Sent: Saturday, December 03, 2005 2:41 AM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] MDL creation problem
>
>
> Any comments from people in MS Windows, or MVPs, or OSR people…??? It
> would do me good to find a way out!! Expecting something from the Guru’s
> here…
>
> It may look a hack, but this is not for a product or anthing…
>
>
> On 12/2/05, Pritam wrote:
> >
> > I am creating the SRB for the master disk in the CrashDumpWrite routine
> > itself, so whatever MDL is passed to me by the OS there, i allocate it to
> > the SRB that i created. The code looks like this:
> >
> > // need to pull the DB field directly out of the MDL; and it had
> > better be mapped!
> > srb.DataBuffer = Mdl->MappedSystemVa;
> > srb.DataTransferLength = MmGetMdlByteCount(Mdl);
> >
> > Every 5th crash dump write i want to write something to the slave disk.
> > So how i can reuse the SRB, since the Srb->DataBuffer has to point to an
> > Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers
> > (if i am not worng).
> >
> > Can i change the Mdl->MappedSystemVa to point to my data to write or can
> > i change the data pointed to by it??
> > Both may not be possible as the Mdl pages maybe pinned down and locked.
> > But any suggestions?
> >
> > On a different track, will an SMI generation at this point work and the
> > modifying the BIOS code to write to the HDD??
> >
> >
> >
> > On 12/2/05, Developer wrote:
> > >
> > > as suggested by someone else in this thread, can’t you reuse the SRB
> > > instead?
> > > — 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: 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: 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: unknown lmsubst tag argument: ‘’
>
> To unsubscribe send a blank email to xxxxx@lists.osr.com

I was able to write my own buffer to the slave drive and what i found was if
i allocate the MDL in IoAllocateMDl() in PAGE_SIZE boundaries, then there’s
no hang, and its all writing exactly what and where to the Slave Drive, i
intend to!!! One problem solved :slight_smile:
Wonder why though, if this is any sort of restriction or the PIO model
itself works that way…

On 12/6/05, Pritam wrote:
>
> Well i am precreating a MDL at DriverEntry (hoping and being almost
> sure), that it gets called at <=DISPATCH_LEVEL when my
> hiber_(mydriver).sys gets reloaded during hibernate, and then fill up the
> Buffer for the MDL at the Hibernate CrashDumpWrite routine.
>
> Doing this makes the code wait forever for the device to interrupt (i am
> doing PIO) and thats it. I am hoping to find out the difference between the
> system MDL and my created MDL, if that leads to a anything…
> As of nw, in a fix for sure!
>
>
> On 12/4/05, Mark Roddy wrote:
> >
> > Hmm… well having thought about it perhaps the answer is to precreate an
> > SRB that your other device can use and reuse as you see fit.
> >
> >
> > =====================
> > Mark Roddy DDK MVP
> > Windows 2003/XP/2000 Consulting
> > Hollis Technology Solutions 603-321-1032
> > www.hollistech.com
> >
> >
> > ------------------------------
> > From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com]
> > *On Behalf Of *Mark Roddy
> > Sent: Saturday, December 03, 2005 3:30 PM
> > To: Windows System Software Devs Interest List
> > Subject: RE: [ntdev] MDL creation problem
> >
> >
> > I assumed that you simply wanted to write the same dump data to both
> > sides of a mirrored disk. It seems instead that you want to write some other
> > different data to whatever this ‘slave’ device is. Quite frankly I don’t
> > know how you are going to do that. Sorry.
> >
> >
> > =====================
> > Mark Roddy DDK MVP
> > Windows 2003/XP/2000 Consulting
> > Hollis Technology Solutions 603-321-1032
> > www.hollistech.com
> >
> >
> > ------------------------------
> > From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com]
> > *On Behalf Of *Pritam
> > Sent: Saturday, December 03, 2005 2:41 AM
> > To: Windows System Software Devs Interest List
> > Subject: Re: [ntdev] MDL creation problem
> >
> >
> > Any comments from people in MS Windows, or MVPs, or OSR people…??? It
> > would do me good to find a way out!! Expecting something from the Guru’s
> > here…
> >
> > It may look a hack, but this is not for a product or anthing…
> >
> >
> > On 12/2/05, Pritam wrote:
> > >
> > > I am creating the SRB for the master disk in the CrashDumpWrite
> > > routine itself, so whatever MDL is passed to me by the OS there, i allocate
> > > it to the SRB that i created. The code looks like this:
> > >
> > > // need to pull the DB field directly out of the MDL; and it had
> > > better be mapped!
> > > srb.DataBuffer = Mdl->MappedSystemVa;
> > > srb.DataTransferLength = MmGetMdlByteCount(Mdl);
> > >
> > > Every 5th crash dump write i want to write something to the slave
> > > disk. So how i can reuse the SRB, since the Srb->DataBuffer has to point to
> > > an Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort
> > > drivers (if i am not worng).
> > >
> > > Can i change the Mdl->MappedSystemVa to point to my data to write or
> > > can i change the data pointed to by it??
> > > Both may not be possible as the Mdl pages maybe pinned down and
> > > locked. But any suggestions?
> > >
> > > On a different track, will an SMI generation at this point work and
> > > the modifying the BIOS code to write to the HDD??
> > >
> > >
> > >
> > > On 12/2/05, Developer wrote:
> > > >
> > > > as suggested by someone else in this thread, can’t you reuse the SRB
> > > > instead?
> > > > — 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: 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: 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: unknown lmsubst tag argument:
> > ‘’
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>

If you are continuing to call these routines at > DISPATCH_LEVEL your code
is broken and will eventually crash the system. See my other post about
preallocating your buffers and mdls.

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


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Tuesday, December 06, 2005 5:23 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

I was able to write my own buffer to the slave drive and what i found was if
i allocate the MDL in IoAllocateMDl() in PAGE_SIZE boundaries, then there’s
no hang, and its all writing exactly what and where to the Slave Drive, i
intend to!!! One problem solved :slight_smile:
Wonder why though, if this is any sort of restriction or the PIO model
itself works that way…

On 12/6/05, Pritam wrote:

Well i am precreating a MDL at DriverEntry (hoping and being almost sure),
that it gets called at <=DISPATCH_LEVEL when my
hiber_(mydriver).sys gets reloaded during hibernate, and then fill up the
Buffer for the MDL at the Hibernate CrashDumpWrite routine.

Doing this makes the code wait forever for the device to interrupt (i am
doing PIO) and thats it. I am hoping to find out the difference between the
system MDL and my created MDL, if that leads to a anything…
As of nw, in a fix for sure!

On 12/4/05, Mark Roddy wrote:

Hmm… well having thought about it perhaps the answer is to precreate an SRB
that your other device can use and reuse as you see fit.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>



From: xxxxx@lists.osr.com [mailto:
mailto:xxxxx xxxxx@lists.osr.com]
On Behalf Of Mark Roddy
Sent: Saturday, December 03, 2005 3:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] MDL creation problem

I assumed that you simply wanted to write the same dump data to both sides
of a mirrored disk. It seems instead that you want to write some other
different data to whatever this ‘slave’ device is. Quite frankly I don’t
know how you are going to do that. Sorry.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>



From: xxxxx@lists.osr.com [mailto:
mailto:xxxxx xxxxx@lists.osr.com]
On Behalf Of Pritam
Sent: Saturday, December 03, 2005 2:41 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

Any comments from people in MS Windows, or MVPs, or OSR people…??? It
would do me good to find a way out!! Expecting something from the Guru’s
here…

It may look a hack, but this is not for a product or anthing…

On 12/2/05, Pritam wrote:

I am creating the SRB for the master disk in the CrashDumpWrite routine
itself, so whatever MDL is passed to me by the OS there, i allocate it to
the SRB that i created. The code looks like this:

// need to pull the DB field directly out of the MDL; and it had better
be mapped!
srb.DataBuffer = Mdl->MappedSystemVa;
srb.DataTransferLength = MmGetMdlByteCount(Mdl);

Every 5th crash dump write i want to write something to the slave disk. So
how i can reuse the SRB, since the Srb->DataBuffer has to point to an
Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers
(if i am not worng).

Can i change the Mdl->MappedSystemVa to point to my data to write or can i
change the data pointed to by it??
Both may not be possible as the Mdl pages maybe pinned down and locked. But
any suggestions?

On a different track, will an SMI generation at this point work and the
modifying the BIOS code to write to the HDD??

On 12/2/05, Developer >
wrote:

as suggested by someone else in this thread, can’t you reuse the SRB
instead?
— 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: 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: 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
http:

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: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email
to xxxxx@lists.osr.com</http:></mailto:xxxxx></mailto:xxxxx>

I am calling these routines at my DriverEntry, which gets called at
<=DISPATCH_LEVEL even for a hiber_(drivername).sys

If that would not have been the case, i would have got a
IRQL_NOT_LESS_OR_EQUAL error anyway. So is there a problem there???
Or is Windows so dumb???

On 12/6/05, Mark Roddy wrote:
>
> If you are continuing to call these routines at > DISPATCH_LEVEL your code
> is broken and will eventually crash the system. See my other post about
> preallocating your buffers and mdls.
>
>
> =====================
> Mark Roddy DDK MVP
> Windows 2003/XP/2000 Consulting
> Hollis Technology Solutions 603-321-1032
> www.hollistech.com
>
>
> ------------------------------
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Pritam
> Sent: Tuesday, December 06, 2005 5:23 AM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] MDL creation problem
>
>
> I was able to write my own buffer to the slave drive and what i found was
> if i allocate the MDL in IoAllocateMDl() in PAGE_SIZE boundaries, then
> there’s no hang, and its all writing exactly what and where to the Slave
> Drive, i intend to!!! One problem solved :slight_smile:
> Wonder why though, if this is any sort of restriction or the PIO model
> itself works that way…
>
>
>
>
> On 12/6/05, Pritam wrote:
> >
> > Well i am precreating a MDL at DriverEntry (hoping and being almost
> > sure), that it gets called at <=DISPATCH_LEVEL when my
> > hiber_(mydriver).sys gets reloaded during hibernate, and then fill up
> > the Buffer for the MDL at the Hibernate CrashDumpWrite routine.
> >
> > Doing this makes the code wait forever for the device to interrupt (i am
> > doing PIO) and thats it. I am hoping to find out the difference between the
> > system MDL and my created MDL, if that leads to a anything…
> > As of nw, in a fix for sure!
> >
> >
> > On 12/4/05, Mark Roddy wrote:
> > >
> > > Hmm… well having thought about it perhaps the answer is to precreate
> > > an SRB that your other device can use and reuse as you see fit.
> > >
> > >
> > > =====================
> > > Mark Roddy DDK MVP
> > > Windows 2003/XP/2000 Consulting
> > > Hollis Technology Solutions 603-321-1032
> > > www.hollistech.com
> > >
> > >
> > > ------------------------------
> > > From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com]
> > > *On Behalf Of *Mark Roddy
> > > Sent: Saturday, December 03, 2005 3:30 PM
> > > To: Windows System Software Devs Interest List
> > > Subject: RE: [ntdev] MDL creation problem
> > >
> > >
> > > I assumed that you simply wanted to write the same dump data to both
> > > sides of a mirrored disk. It seems instead that you want to write some other
> > > different data to whatever this ‘slave’ device is. Quite frankly I don’t
> > > know how you are going to do that. Sorry.
> > >
> > >
> > > =====================
> > > Mark Roddy DDK MVP
> > > Windows 2003/XP/2000 Consulting
> > > Hollis Technology Solutions 603-321-1032
> > > www.hollistech.com
> > >
> > >
> > > ------------------------------
> > > From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com]
> > > *On Behalf Of *Pritam
> > > Sent: Saturday, December 03, 2005 2:41 AM
> > > To: Windows System Software Devs Interest List
> > > Subject: Re: [ntdev] MDL creation problem
> > >
> > >
> > > Any comments from people in MS Windows, or MVPs, or OSR people…???
> > > It would do me good to find a way out!! Expecting something from the Guru’s
> > > here…
> > >
> > > It may look a hack, but this is not for a product or anthing…
> > >
> > >
> > > On 12/2/05, Pritam wrote:
> > > >
> > > > I am creating the SRB for the master disk in the CrashDumpWrite
> > > > routine itself, so whatever MDL is passed to me by the OS there, i allocate
> > > > it to the SRB that i created. The code looks like this:
> > > >
> > > > // need to pull the DB field directly out of the MDL; and it
> > > > had better be mapped!
> > > > srb.DataBuffer = Mdl->MappedSystemVa;
> > > > srb.DataTransferLength = MmGetMdlByteCount(Mdl);
> > > >
> > > > Every 5th crash dump write i want to write something to the slave
> > > > disk. So how i can reuse the SRB, since the Srb->DataBuffer has to point to
> > > > an Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort
> > > > drivers (if i am not worng).
> > > >
> > > > Can i change the Mdl->MappedSystemVa to point to my data to write or
> > > > can i change the data pointed to by it??
> > > > Both may not be possible as the Mdl pages maybe pinned down and
> > > > locked. But any suggestions?
> > > >
> > > > On a different track, will an SMI generation at this point work and
> > > > the modifying the BIOS code to write to the HDD??
> > > >
> > > >
> > > >
> > > > On 12/2/05, Developer wrote:
> > > > >
> > > > > as suggested by someone else in this thread, can’t you reuse the
> > > > > SRB instead?
> > > > > — 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: 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: 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: 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: 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: unknown lmsubst tag argument: ‘’
>
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

No if you are calling them at driver entry you should be ok. The kernel
ddis generally do not directly check IRQL on invocation (except in the
checked build and if verifier is enabled in either build.) That doesn’t
make windows dumb, it is just a policy decision. Consequently
IRQL_NOT_LESS_OR_EQUAL is typically a result of an indirect failure -
for example a page fault at >= DISPATCH_LEVEL, rather than explicit IRQL
checking on ddi invocation. The point being that just because it seems
to work doesn’t mean that the code is correct.


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Tuesday, December 06, 2005 7:22 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

I am calling these routines at my DriverEntry, which gets called at
<=DISPATCH_LEVEL even for a hiber_(drivername).sys

If that would not have been the case, i would have got a
IRQL_NOT_LESS_OR_EQUAL error anyway. So is there a problem there???

Or is Windows so dumb???

On 12/6/05, Mark Roddy wrote:

If you are continuing to call these routines at > DISPATCH_LEVEL your
code is broken and will eventually crash the system. See my other post
about preallocating your buffers and mdls.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>



From: xxxxx@lists.osr.com [mailto:
xxxxx@lists.osr.com
mailto:xxxxx] On Behalf Of Pritam
Sent: Tuesday, December 06, 2005 5:23 AM

To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

I was able to write my own buffer to the slave drive and what i
found was if i allocate the MDL in IoAllocateMDl() in PAGE_SIZE
boundaries, then there’s no hang, and its all writing exactly what and
where to the Slave Drive, i intend to!!! One problem solved :slight_smile:

Wonder why though, if this is any sort of restriction or the PIO
model itself works that way…

On 12/6/05, Pritam wrote:

Well i am precreating a MDL at DriverEntry (hoping and being
almost sure), that it gets called at <=DISPATCH_LEVEL when my

hiber_(mydriver).sys gets reloaded during hibernate, and then
fill up the Buffer for the MDL at the Hibernate CrashDumpWrite routine.

Doing this makes the code wait forever for the device to
interrupt (i am doing PIO) and thats it. I am hoping to find out the
difference between the system MDL and my created MDL, if that leads to a
anything…

As of nw, in a fix for sure!

On 12/4/05, Mark Roddy wrote:

Hmm… well having thought about it perhaps the answer is to
precreate an SRB that your other device can use and reuse as you see
fit.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>



From: xxxxx@lists.osr.com [mailto:
xxxxx@lists.osr.com
mailto:xxxxx] On Behalf Of Mark Roddy
Sent: Saturday, December 03, 2005 3:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] MDL creation problem

I assumed that you simply wanted to write the same dump
data to both sides of a mirrored disk. It seems instead that you want to
write some other different data to whatever this ‘slave’ device is.
Quite frankly I don’t know how you are going to do that. Sorry.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>

________________________________

From: xxxxx@lists.osr.com [mailto:
xxxxx@lists.osr.com
mailto:xxxxx] On Behalf Of Pritam
Sent: Saturday, December 03, 2005 2:41 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

Any comments from people in MS Windows, or MVPs,
or OSR people…??? It would do me good to find a way out!! Expecting
something from the Guru’s here…

It may look a hack, but this is not for a
product or anthing…

On 12/2/05, Pritam wrote:

I am creating the SRB for the master disk in the
CrashDumpWrite routine itself, so whatever MDL is passed to me by the OS
there, i allocate it to the SRB that i created. The code looks like
this:

// need to pull the DB field directly out
of the MDL; and it had better be mapped!
srb.DataBuffer = Mdl->MappedSystemVa;
srb.DataTransferLength =
MmGetMdlByteCount(Mdl);

Every 5th crash dump write i want to write
something to the slave disk. So how i can reuse the SRB, since the
Srb->DataBuffer has to point to an Mdl->MappedSystemVa, since
METHOD_DIRECT method is used in ScsiPort drivers (if i am not worng).

Can i change the Mdl->MappedSystemVa to point to
my data to write or can i change the data pointed to by it??

Both may not be possible as the Mdl pages maybe
pinned down and locked. But any suggestions?

On a different track, will an SMI generation at
this point work and the modifying the BIOS code to write to the HDD??

On 12/2/05, Developer
wrote:

as suggested by someone else in this thread,
can’t you reuse the SRB instead?
— 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: 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: 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: 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: 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: 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: unknown lmsubst tag argument: ‘’ To unsubscribe send a
blank email to xxxxx@lists.osr.com</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>

That is not true. The hiber_(drivername).sys file will be loaded can be loaded at the same DIRQL that all i/o will be sent, especially on a crash dump. You might be loaded at <= dispatch for the hibernate path, but not for *all* paths in which the DriverEntry executes.

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Tuesday, December 06, 2005 4:22 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

I am calling these routines at my DriverEntry, which gets called at <=DISPATCH_LEVEL even for a hiber_(drivername).sys
?
If that would not have been the case, i would have got a IRQL_NOT_LESS_OR_EQUAL error anyway. So is there a problem there???
Or is Windows so dumb???

?
On 12/6/05, Mark Roddy wrote:
If you are continuing to call these routines at > DISPATCH_LEVEL your code is broken and will eventually crash the system. See my other post about preallocating your buffers and mdls.
?
=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com
?


From: xxxxx@lists.osr.com [mailto: xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Tuesday, December 06, 2005 5:23 AM

To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

?
I was able to write my own buffer to the slave drive and what i found was if i allocate the MDL in IoAllocateMDl() in PAGE_SIZE boundaries, then there’s no hang, and its all writing exactly what and where to the Slave Drive, i intend to!!! One problem solved :slight_smile:
Wonder why though, if this is any sort of restriction or the PIO model itself works that way…
?
?

?
On 12/6/05, Pritam wrote:
Well i am precreating a MDL at DriverEntry (hoping and being almost sure),? that it gets called at <=DISPATCH_LEVEL when my
hiber
(mydriver).sys gets reloaded during hibernate, and then fill up the Buffer for the MDL at the Hibernate CrashDumpWrite routine.
?
Doing this makes the code wait forever for the device to interrupt (i am doing PIO) and thats it. I am hoping to find out the difference?between the system MDL and my created MDL, if that leads to a anything…
As of nw, in a fix for sure!
?
?
On 12/4/05, Mark Roddy wrote:
Hmm… well having thought about it perhaps the answer is to precreate an SRB that your other device can use and reuse as you see fit.
?
=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com
?

_
From: xxxxx@lists.osr.com [mailto: xxxxx@lists.osr.com] On Behalf Of Mark Roddy
Sent: Saturday, December 03, 2005 3:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] MDL creation problem

?
I assumed that you simply wanted to write the same dump data to both sides of a mirrored disk. It seems instead that you want to write some other different data to whatever this ‘slave’ device is. Quite frankly I don’t know how you are going to do that. Sorry.
?
=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com
?

________________________________________
From: xxxxx@lists.osr.com [mailto: xxxxx@lists.osr.com] On Behalf Of Pritam
Sent: Saturday, December 03, 2005 2:41 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] MDL creation problem

?
Any comments from people in MS Windows, or MVPs, or OSR people…??? It would do me good to find a way out!! Expecting something from the Guru’s here…
?
It may look a hack,? but this is not for a product or anthing…

?
On 12/2/05, Pritam wrote:
I?am creating the SRB for the master disk in the CrashDumpWrite routine itself, so whatever MDL is passed to me by the OS there, i allocate it to the SRB that i created. The code looks like this:
?
??? //? need to pull the DB field directly out of the MDL; and it had better be mapped!
??? srb.DataBuffer = Mdl->MappedSystemVa;
??? srb.DataTransferLength = MmGetMdlByteCount(Mdl);
?
Every 5th crash dump write?i want to write something to the slave disk. So how i can reuse the SRB, since the Srb->DataBuffer has to point to an Mdl->MappedSystemVa, since METHOD_DIRECT method is used in ScsiPort drivers (if i am not worng).
?
Can i change the Mdl->MappedSystemVa to point to my data to write or can i change the data pointed to by it??
?Both may not be possible as the Mdl pages maybe pinned down and locked. But any suggestions?
?
On a different track, will an SMI generation at this point work and the modifying the BIOS code to write to the HDD??
?

?
On 12/2/05, Developer wrote:
as suggested by someone else in this thread, can’t you reuse the SRB instead?
— 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: 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: 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: 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: 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: 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: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email to xxxxx@lists.osr.com