Hey there,

I'm currently in the process of browsing through the DDK samples but I
stumbled across something odd in the netvmini sample.

According to MSDN, "any driver function that calls
NdisInterlockedInsertTailList cannot be pageable code". However, the
function NICAllocAdapter() is defined to be in pageable code with the pragma
statement #pragma NDIS_PAGEABLE_FUNCTION(NICAllocAdapter)

Is this a mistake in the sample?

Cheers,
Søren Dreijer

RE: The netvmini DDK sample and NdisInterlockedInsertTailList() by pavel_a

pavel_a
Mon Jan 02 14:13:02 CST 2006

"Søren Dreijer" wrote:
> Hey there,
>
> I'm currently in the process of browsing through the DDK samples but I
> stumbled across something odd in the netvmini sample.
>
> According to MSDN, "any driver function that calls
> NdisInterlockedInsertTailList cannot be pageable code". However, the
> function NICAllocAdapter() is defined to be in pageable code with the pragma
> statement #pragma NDIS_PAGEABLE_FUNCTION(NICAllocAdapter)
>
> Is this a mistake in the sample?
>
> Cheers,
> Søren Dreijer

This is a mistake in documentation. You can call NdisInterlockedInsertTailList
from pageable code (because it restores IRQL before return).

--PA


Re: The netvmini DDK sample and NdisInterlockedInsertTailList() by Søren

Søren
Wed Jan 04 10:31:05 CST 2006

Ah, ok.

Thanks for clearing that up. I really don't hope many of those errors exist
as that will surely result in disastrous code..

Cheers,


"Pavel A." <pavel_a@NOwritemeNO.com> wrote in message
news:9A80570C-F34D-4015-8C7A-DCEF950A733C@microsoft.com...
> "Søren Dreijer" wrote:
> > Hey there,
> >
> > I'm currently in the process of browsing through the DDK samples but I
> > stumbled across something odd in the netvmini sample.
> >
> > According to MSDN, "any driver function that calls
> > NdisInterlockedInsertTailList cannot be pageable code". However, the
> > function NICAllocAdapter() is defined to be in pageable code with the
pragma
> > statement #pragma NDIS_PAGEABLE_FUNCTION(NICAllocAdapter)
> >
> > Is this a mistake in the sample?
> >
> > Cheers,
> > Søren Dreijer
>
> This is a mistake in documentation. You can call
NdisInterlockedInsertTailList
> from pageable code (because it restores IRQL before return).
>
> --PA
>