Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


RE: Can we declare a variable as 'int' in the driver -???

Gregory_G._DyessGregory_G._Dyess Member - All Emails Posts: 386
I think we have all made this mistake multiple times. That's why it is
always easier to see it in someone else's code, but never our own.

Greg

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Paul Bunn
> Sent: Wednesday, June 21, 2000 10:56 AM
> To: NT Developers Interest List
> Subject: [ntdev] RE: Can we declare a variable as 'int' in the driver
> ???
>
>
> D'oh! Of course, my bad. That'll teach me to stare at C code
> without first
> processing my double-tall latte.
>
> Regards,
>
> Paul Bunn, UltraBac.com, 425-644-6000
> Microsoft MVP - WindowsNT/2000
> http://www.ultrabac.com
>
>
> -----Original Message-----
> From: Gregory G. Dyess [mailto:[email protected]]
> Sent: Wednesday, June 21, 2000 8:35 AM
> To: NT Developers Interest List
> Subject: [ntdev] RE: Can we declare a variable as 'int' in the driver
> ???
>
>
> Paul,
> Since the boundary condition is >= 0 (as opposed to just >0), it will
> make a difference whether the variable is signed or unsigned.
>
> You may want to explicitly declare your variable as "signed long"
> instead of
> long or LONG. I personally despise using the M$-supplied typedefs for
> standard types unless it's something specifically required to be so.
>
> Greg
>
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]]On Behalf Of Paul Bunn
> > Sent: Wednesday, June 21, 2000 10:17 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] RE: Can we declare a variable as 'int' in the driver
> > ???
> >
> >
> > I don't see what difference iCount being signed or not would make
> > to the for
> > loop.
> > int normally is equivalent to LONG. You should be able to define
> > iCount as
> > LONG or ULONG and it shouldn't make any difference to that
> > particular loop.
> > The only difference I can think of is that in the free build it
> is likely
> > that iCount may not be assigned storage at all, but may just live as a
> > register value (depending on what you're doing with it). It's
> > also possible
> > that it's a compiler bug, though that is rare these days. I
> would tend to
> > recommend debugging the free build and looking at the disassembly.
> >
> > Regards,
> >
> > Paul Bunn, UltraBac.com, 425-644-6000
> > Microsoft MVP - WindowsNT/2000
> > http://www.ultrabac.com
> >
> >
> > -----Original Message-----
> > From: Eshanye [mailto:[email protected]]
> > Sent: Wednesday, June 21, 2000 7:27 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] Can we declare a variable as 'int' in the driver ???
> >
> >
> > Hi,
> >
> > I have declared a variable as 'int' in my driver. This variable is used
> > as an index inside a for loop. something like this:-
> >
> > int iCount;
> >
> > for(iCount = 3; iCount >= 0; iCount--)
> > {
> >
> > blah.. blah..
> >
> > }
> >
> > This is a part of DriverEntry....
> >
> > Now this driver is working very fine if built as a checked build. But it
> > wont get loaded if it is built as a free build. Because iCount is
> > behaving as ULONG. and therefore it is in an infinite loop and so the
> > driver is not getting loaded at all.
> >
> > [I know that I can change the for loop to serve my purpose, but ...
> > why...]. I declared iCount as LONG. But still the same behavior !!!!!
> > [LONG is supposed to be signed long right ????] What is happening ?
> >
> >
> > ---
> > You are currently subscribed to ntdev as: [email protected]
> > To unsubscribe send a blank email to $subst('Email.Unsub')
> >
> >
>
>
>
> ---
> You are currently subscribed to ntdev as: [email protected]
> To unsubscribe send a blank email to $subst('Email.Unsub')
>
> ---
> You are currently subscribed to ntdev as: [email protected]
> To unsubscribe send a blank email to $subst('Email.Unsub')
>
>
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 13-17 May 2024 Live, Online
Developing Minifilters 1-5 Apr 2024 Live, Online
Internals & Software Drivers 11-15 Mar 2024 Live, Online
Writing WDF Drivers 20-24 May 2024 Live, Online