Why only C not C++ used in Krnl mode

Does C have special feartures isolating from C++ for use in Kernel mode

I declare a Flame War!

Perhaps you should search the archives and located ntdev’s longest running
thread ever. It can’t be that hard to locate, there are good points on both
sides.

m.

----- Original Message -----
From:
To: “Windows System Software Devs Interest List”
Sent: Wednesday, August 02, 2006 6:48 AM
Subject: [ntdev] Why only C not C++ used in Krnl mode

>
> Does C have special feartures isolating from C++ for use in Kernel mode
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

This has been discussed frequently in the past - you should read the
archives, but the bottom line is, you can’t control where the compiler will
put autogenerated code (e.g. templates, implicit constructors, etc) and
whether the place that said code is located will be correctly pagable or
notpagable.


Ken Johnson (Skywing)
Windows SDK MVP

wrote in message news:xxxxx@ntdev…
>
> Does C have special feartures isolating from C++ for use in Kernel mode
>
>
>



None of the driver samples/examples are done in C++; at least none that I have found.

KMDF is close, but misses the mark by quite a ways, but it does have OOP qualities.

There are no development environments.
1.Compuware DriverWorks is no longer supported and having used it I would not recommend it. In my opinion, it divorces you too far from the DDK and is so poorly done you HAVE to know the DDK to survive. It also injects a ton of errors in DrvFast and CUV, and will BSOD on DriverVerifier. The killer is that you pay thousands for a buggy product that tracks behind any OS changes by several months.

2. www.hollistech.com has (may have) a C++ development environment that handles most if not all of the C++ negatives. However unless Mark has updated it lately, it’s quite old. The last time I talked to him about it, he mentioned there would be no update due to the imminent release of KMDF.

3. Most importantly, Microsoft does not support C++ in the kernel.

If none of these dirty your drawers, then class away. :slight_smile:

The personal opinion of
Gary G. Little

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.co.in
Sent: Wednesday, August 02, 2006 6:49 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Why only C not C++ used in Krnl mode

Does C have special feartures isolating from C++ for use in Kernel mode


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

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

NOD32 1.1689 (20060802) Information

This message was checked by NOD32 antivirus system.
http://www.eset.com

>> None of the driver samples/examples are done in C++; at least none that I
have found.

By no means do I disagree the the conclusion Gary puts forth but I will
point out that the kernel streaming (multimedia / bda capture) world has a
*very limited* usage of C++ and exists as a sample code in the WDK/DDK. Ex:
src\Swtuner\BDAtuner\capture for one.

Dave Cattley
Consulting Engineer
Systems Software Development

>3. Most importantly, Microsoft does not support C++ in the kernel.

Good try, but not quite true. The Kernel Screaming er Streaming drivers are C++ last I looked.

(No, the drivers don’t scream. But *believe me*, anyone that attempts to develop or even slightly modify one does. Loudly and continuously.

Loren

> None of the driver samples/examples are done in C++; at least none that I

have found.

3. Most importantly, Microsoft does not support C++ in the kernel.

Hmmm, I must have better eyeglasses or something. A quick check of the
3790.1830 DDK finds a number of sample drivers written in C++:

WINDDK\3790.1830\src\wdm\bda\europa - a big driver in C++
WINDDK\3790.1830\src\wdm\audio\dmusuart
WINDDK\3790.1830\src\wdm\audio\fmsynth
WINDDK\3790.1830\src\wdm\audio\msvad
WINDDK\3790.1830\src\wdm\avstream\avshws
WINDDK\3790.1830\src\wdm\audio\gfx\gfxswap\driver

Ah you say, but none of those are REAL drivers. If I type “x *!*::*” in
windbg on W2k3 SP1 checked, the dumped symbols show at least FIVE of the
standard system drivers are written in C++. Not only that, I see one of them
almost certainly uses C++ templates to implement smart pointers. So, does
anybody here think win32k or ftdisk are not REAL drivers, critical to system
operation?

Here are real symbol names from w2k3 sp1:

RDPWD!ShareClass::WNDEncodeField - parameter type matching
rdpdr!SmartPtr::operator= - the core of a smart pointer
ks!CKsSplitterBranch::SetResetState
win32k!RGNOBJ::UpdateUserRgn - win32k is a big high performance driver
ftdisk!TRANSFER_PACKET::operator new - class specific allocator

Not to mention, KMDF is written in C++.

- Jan

  1. Not in any way overstating the point, but DriverWorks really, really
    [really] sucks in every possible way.

>> glittle@mn.rr.com 2006-08-02 17:54:13 >>>


None of the driver samples/examples are done in C++; at least none that
I have found.

KMDF is close, but misses the mark by quite a ways, but it does have
OOP qualities.

There are no development environments.
1.Compuware DriverWorks is no longer supported and having used it I
would not recommend it. In my opinion, it divorces you too far from the
DDK and is so poorly done you HAVE to know the DDK to survive. It also
injects a ton of errors in DrvFast and CUV, and will BSOD on
DriverVerifier. The killer is that you pay thousands for a buggy product
that tracks behind any OS changes by several months.

2. www.hollistech.com has (may have) a C++ development environment that
handles most if not all of the C++ negatives. However unless Mark has
updated it lately, it’s quite old. The last time I talked to him about
it, he mentioned there would be no update due to the imminent release of
KMDF.

3. Most importantly, Microsoft does not support C++ in the kernel.

If none of these dirty your drawers, then class away. :slight_smile:

The personal opinion of
Gary G. Little

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@yahoo.co.in
Sent: Wednesday, August 02, 2006 6:49 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Why only C not C++ used in Krnl mode

Does C have special feartures isolating from C++ for use in Kernel
mode


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

NOD32 1.1689 (20060802) Information

This message was checked by NOD32 antivirus system.
http://www.eset.com


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

I disagree, I believe DriverWorks is an excellent tool instrumental in
learning how to use WinDbg.

m.

----- Original Message -----
From: “Martin O’Brien”
To: “Windows System Software Devs Interest List”
Sent: Thursday, August 03, 2006 6:09 AM
Subject: RE: [ntdev] Why only C not C++ used in Krnl mode

> 1. Not in any way overstating the point, but DriverWorks really, really
> [really] sucks in every possible way.
>
> >>> glittle@mn.rr.com 2006-08-02 17:54:13 >>>
>
>
> None of the driver samples/examples are done in C++; at least none that
> I have found.
>
> KMDF is close, but misses the mark by quite a ways, but it does have
> OOP qualities.
>
> There are no development environments.
> 1.Compuware DriverWorks is no longer supported and having used it I
> would not recommend it. In my opinion, it divorces you too far from the
> DDK and is so poorly done you HAVE to know the DDK to survive. It also
> injects a ton of errors in DrvFast and CUV, and will BSOD on
> DriverVerifier. The killer is that you pay thousands for a buggy product
> that tracks behind any OS changes by several months.
>
> 2. www.hollistech.com has (may have) a C++ development environment that
> handles most if not all of the C++ negatives. However unless Mark has
> updated it lately, it’s quite old. The last time I talked to him about
> it, he mentioned there would be no update due to the imminent release of
> KMDF.
>
> 3. Most importantly, Microsoft does not support C++ in the kernel.
>
> If none of these dirty your drawers, then class away. :slight_smile:
>
> The personal opinion of
> Gary G. Little
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@yahoo.co.in
> Sent: Wednesday, August 02, 2006 6:49 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Why only C not C++ used in Krnl mode
>
>
> Does C have special feartures isolating from C++ for use in Kernel
> mode
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> NOD32 1.1689 (20060802) Information
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

MATT:

I’m curious. How so? I never really considered that.

MM

>> xxxxx@comcast.net 2006-08-03 07:45 >>>
I disagree, I believe DriverWorks is an excellent tool instrumental in
learning how to use WinDbg.

m.

----- Original Message -----
From: “Martin O’Brien”
To: “Windows System Software Devs Interest List”
Sent: Thursday, August 03, 2006 6:09 AM
Subject: RE: [ntdev] Why only C not C++ used in Krnl mode

> 1. Not in any way overstating the point, but DriverWorks really,
really
> [really] sucks in every possible way.
>
> >>> glittle@mn.rr.com 2006-08-02 17:54:13 >>>
>
>
> None of the driver samples/examples are done in C++; at least none
that
> I have found.
>
> KMDF is close, but misses the mark by quite a ways, but it does have
> OOP qualities.
>
> There are no development environments.
> 1.Compuware DriverWorks is no longer supported and having used it I
> would not recommend it. In my opinion, it divorces you too far from
the
> DDK and is so poorly done you HAVE to know the DDK to survive. It
also
> injects a ton of errors in DrvFast and CUV, and will BSOD on
> DriverVerifier. The killer is that you pay thousands for a buggy
product
> that tracks behind any OS changes by several months.
>
> 2. www.hollistech.com has (may have) a C++ development environment
that
> handles most if not all of the C++ negatives. However unless Mark
has
> updated it lately, it’s quite old. The last time I talked to him
about
> it, he mentioned there would be no update due to the imminent release
of
> KMDF.
>
> 3. Most importantly, Microsoft does not support C++ in the kernel.
>
> If none of these dirty your drawers, then class away. :slight_smile:
>
> The personal opinion of
> Gary G. Little
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@yahoo.co.in
> Sent: Wednesday, August 02, 2006 6:49 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Why only C not C++ used in Krnl mode
>
>
> Does C have special feartures isolating from C++ for use in Kernel
> mode
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> NOD32 1.1689 (20060802) Information
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

“Martin O’Brien” wrote in message
news:xxxxx@ntdev…
> MATT:
>
> I’m curious. How so? I never really considered that.
>
> MM
>
>>>> xxxxx@comcast.net 2006-08-03 07:45 >>>
> I disagree, I believe DriverWorks is an excellent tool instrumental in
> learning how to use WinDbg.
>
> m.
>
Actually, Matt should have said “an excellent tool for learning to use the
various static analysis tools (/W4 PreFast Lint, …) and runtime checking
tools (Driver Verifier, pool monitoring, …) with WinDbg”. This is because
the code was crap, and the number of bugs truly amazing.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

Boys, boys, boys… We were gonna drop this topic, right? Cuz we’ve discussed it about nine billion times before at the cost of several million messages? And cuz there’s nothing NEW about this subject that we haven’t discussed to death??

After all, I’m sure we all want to focus intently on the next “My driver crash system, you tell me why please?” posting…

Peter
OSR

(P.S. Driver Works sucks ass – it always did – and it’s no longer even a product… so the point is moot in any case. There. I feel much better now.)

>I disagree, I believe DriverWorks is an excellent tool instrumental in

learning how to use WinDbg.

Now I had great luck using Driverworks on a couple of really insane drivers.
True, I had to patch up about 10 of the internal guts files to fix memory
leaks and race conditions. But even with that, it probably saved me a
considerable amount of grief if I had had to write those drivers the old
way.

Loren

On this we agree. Bad in principle; worse in practice.

>> xxxxx@acm.org 2006-08-03 08:25 >>>

“Martin O’Brien” wrote in message
news:xxxxx@ntdev…
> MATT:
>
> I’m curious. How so? I never really considered that.
>
> MM
>
>>>> xxxxx@comcast.net 2006-08-03 07:45 >>>
> I disagree, I believe DriverWorks is an excellent tool instrumental
in
> learning how to use WinDbg.
>
> m.
>
Actually, Matt should have said “an excellent tool for learning to use
the
various static analysis tools (/W4 PreFast Lint, …) and runtime
checking
tools (Driver Verifier, pool monitoring, …) with WinDbg”. This is
because
the code was crap, and the number of bugs truly amazing.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

That is such a great post on so many levels. There ought to be an ntdev
award for Best Snark of the Year.

Peter?

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of matt
Sent: Thursday, August 03, 2006 7:46 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Why only C not C++ used in Krnl mode

I disagree, I believe DriverWorks is an excellent tool instrumental in
learning how to use WinDbg.

m.

----- Original Message -----
From: “Martin O’Brien”
To: “Windows System Software Devs Interest List”
Sent: Thursday, August 03, 2006 6:09 AM
Subject: RE: [ntdev] Why only C not C++ used in Krnl mode

> 1. Not in any way overstating the point, but DriverWorks really,
really
> [really] sucks in every possible way.
>
> >>> glittle@mn.rr.com 2006-08-02 17:54:13 >>>
>
>
> None of the driver samples/examples are done in C++; at least none
that
> I have found.
>
> KMDF is close, but misses the mark by quite a ways, but it does have
> OOP qualities.
>
> There are no development environments.
> 1.Compuware DriverWorks is no longer supported and having used it I
> would not recommend it. In my opinion, it divorces you too far from
the
> DDK and is so poorly done you HAVE to know the DDK to survive. It also
> injects a ton of errors in DrvFast and CUV, and will BSOD on
> DriverVerifier. The killer is that you pay thousands for a buggy
product
> that tracks behind any OS changes by several months.
>
> 2. www.hollistech.com has (may have) a C++ development environment
that
> handles most if not all of the C++ negatives. However unless Mark has
> updated it lately, it’s quite old. The last time I talked to him about
> it, he mentioned there would be no update due to the imminent release
of
> KMDF.
>
> 3. Most importantly, Microsoft does not support C++ in the kernel.
>
> If none of these dirty your drawers, then class away. :slight_smile:
>
> The personal opinion of
> Gary G. Little
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@yahoo.co.in
> Sent: Wednesday, August 02, 2006 6:49 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Why only C not C++ used in Krnl mode
>
>
> Does C have special feartures isolating from C++ for use in Kernel
> mode
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> NOD32 1.1689 (20060802) Information
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Shhh… hush now … we’ve been through this. Do as we say not as we do.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
Sent: Thursday, August 03, 2006 3:59 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Why only C not C++ used in Krnl mode

None of the driver samples/examples are done in C++; at least none
that I
have found.

3. Most importantly, Microsoft does not support C++ in the kernel.

Hmmm, I must have better eyeglasses or something. A quick check of the
3790.1830 DDK finds a number of sample drivers written in C++:

WINDDK\3790.1830\src\wdm\bda\europa - a big driver in C++
WINDDK\3790.1830\src\wdm\audio\dmusuart
WINDDK\3790.1830\src\wdm\audio\fmsynth
WINDDK\3790.1830\src\wdm\audio\msvad
WINDDK\3790.1830\src\wdm\avstream\avshws
WINDDK\3790.1830\src\wdm\audio\gfx\gfxswap\driver

Ah you say, but none of those are REAL drivers. If I type “x *!*::*” in
windbg on W2k3 SP1 checked, the dumped symbols show at least FIVE of the
standard system drivers are written in C++. Not only that, I see one of
them
almost certainly uses C++ templates to implement smart pointers. So,
does
anybody here think win32k or ftdisk are not REAL drivers, critical to
system
operation?

Here are real symbol names from w2k3 sp1:

RDPWD!ShareClass::WNDEncodeField - parameter type
matching
rdpdr!SmartPtr::operator= - the core of a smart pointer
ks!CKsSplitterBranch::SetResetState
win32k!RGNOBJ::UpdateUserRgn - win32k is a big high performance driver
ftdisk!TRANSFER_PACKET::operator new - class specific allocator

Not to mention, KMDF is written in C++.

- Jan


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Hmmm, perhaps I should qualify “none that I have found”. Basically, only the
driver examples that I have used to help resolve problems in the areas
within which I deal, which mostly has been serial devices, storage, and
proprietary drivers. There was one brief excursion into NDIS but not long
enough to mention. Did I do a comprehensive search of the DDK before I wrote
that? Nope. My employer has this silly idea I need to be working on his
stuff. Technically, if you go back far enough, VS at one point had a driver
wizard that produced a skeleton written in C++. I used it for a shared
memory driver in NT 4, many many many moon ago, Kimosabe. Even Walter in his
second edition provides a functional wizard for VS 6.

I define nearly all of my driver files as CPP with corresponding extern “C”
as needed, because I prefer the C++ compiler. I note others that do the
same, such as the afore mentioned Walter. I did write a suite of drivers
during 2004/2005 using Compuware’s Driverworks, but recently converted all
of that effort to a service. That was something I hope to avoid for a very
long time. Not because pf C++ but because DW, which might best be spelled
DWI.


The personal opinion of
Gary G. Little

“Jan Bottorff” wrote in message news:xxxxx@ntdev…
>> None of the driver samples/examples are done in C++; at least none that I
>> have found.
> …
>> 3. Most importantly, Microsoft does not support C++ in the kernel.
>
> Hmmm, I must have better eyeglasses or something. A quick check of the
> 3790.1830 DDK finds a number of sample drivers written in C++:
>
> WINDDK\3790.1830\src\wdm\bda\europa - a big driver in C++
> WINDDK\3790.1830\src\wdm\audio\dmusuart
> WINDDK\3790.1830\src\wdm\audio\fmsynth
> WINDDK\3790.1830\src\wdm\audio\msvad
> WINDDK\3790.1830\src\wdm\avstream\avshws
> WINDDK\3790.1830\src\wdm\audio\gfx\gfxswap\driver
>
> Ah you say, but none of those are REAL drivers. If I type “x !::*” in
> windbg on W2k3 SP1 checked, the dumped symbols show at least FIVE of the
> standard system drivers are written in C++. Not only that, I see one of
> them
> almost certainly uses C++ templates to implement smart pointers. So, does
> anybody here think win32k or ftdisk are not REAL drivers, critical to
> system
> operation?
>
> Here are real symbol names from w2k3 sp1:
>
> RDPWD!ShareClass::WNDEncodeField - parameter type matching
> rdpdr!SmartPtr::operator= - the core of a smart pointer
> ks!CKsSplitterBranch::SetResetState
> win32k!RGNOBJ::UpdateUserRgn - win32k is a big high performance driver
> ftdisk!TRANSFER_PACKET::operator new - class specific allocator
>
> Not to mention, KMDF is written in C++.
>
> - Jan
>
>
>
>
>
>
>
>
>
>

Have you ran DrvFast on your driver? Have you enabled Driver Verifier? In
mine, 3.2.1 would BSOD because DW was properly handling PnP IRPs. 3.2.1 also
ignored the niceties of bacwards compatibiltiy and changed a class that
killed my drivers, instead of flagging it as deprecated during compile. All
of this is moot, since Compuware no longer supports SoftIce or DriverWorks.


The personal opinion of
Gary G. Little

“matt” wrote in message news:xxxxx@ntdev…
>I disagree, I believe DriverWorks is an excellent tool instrumental in
> learning how to use WinDbg.
>
> m.
>
>
> ----- Original Message -----
> From: “Martin O’Brien”
> To: “Windows System Software Devs Interest List”
> Sent: Thursday, August 03, 2006 6:09 AM
> Subject: RE: [ntdev] Why only C not C++ used in Krnl mode
>
>
>> 1. Not in any way overstating the point, but DriverWorks really, really
>> [really] sucks in every possible way.
>>
>> >>> glittle@mn.rr.com 2006-08-02 17:54:13 >>>
>>
>>
>> None of the driver samples/examples are done in C++; at least none that
>> I have found.
>>
>> KMDF is close, but misses the mark by quite a ways, but it does have
>> OOP qualities.
>>
>> There are no development environments.
>> 1.Compuware DriverWorks is no longer supported and having used it I
>> would not recommend it. In my opinion, it divorces you too far from the
>> DDK and is so poorly done you HAVE to know the DDK to survive. It also
>> injects a ton of errors in DrvFast and CUV, and will BSOD on
>> DriverVerifier. The killer is that you pay thousands for a buggy product
>> that tracks behind any OS changes by several months.
>>
>> 2. www.hollistech.com has (may have) a C++ development environment that
>> handles most if not all of the C++ negatives. However unless Mark has
>> updated it lately, it’s quite old. The last time I talked to him about
>> it, he mentioned there would be no update due to the imminent release of
>> KMDF.
>>
>> 3. Most importantly, Microsoft does not support C++ in the kernel.
>>
>> If none of these dirty your drawers, then class away. :slight_smile:
>>
>> The personal opinion of
>> Gary G. Little
>>
>> -----Original Message-----
>> From: xxxxx@lists.osr.com
>> [mailto:xxxxx@lists.osr.com] On Behalf Of
>> xxxxx@yahoo.co.in
>> Sent: Wednesday, August 02, 2006 6:49 AM
>> To: Windows System Software Devs Interest List
>> Subject: [ntdev] Why only C not C++ used in Krnl mode
>>
>>
>> Does C have special feartures isolating from C++ for use in Kernel
>> mode
>>
>>
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
>> http://www.osronline.com/article.cfm?id=256
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> NOD32 1.1689 (20060802) Information
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
>> http://www.osronline.com/article.cfm?id=256
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>>
>> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>

But I’ll take the same savings on my next KMDF project.

And if DrvFast or CUV fails, I’ll know it’s my code and not have to spend
hours or even days trying to figure out where DW went wrong. When my
API/tool kits fail, I find it costs me much more time than if my code fails.
First, I ALWAYS assume any problems or bugs are my code. So I isolate the
problem area(s) and then go stomping through my code with a fine tooth comb.
I’ll even start modifying my code to fix the problem, because having a
pilot’s license I always believe my instruments to avoid flying into
cumulous granitus. I always assume that like my instruments in an aircraft
cockpit, the API I am using is correct. Thus it took me quite a while to
finally come to the conclusion that the problem was really DWI. that cost me
time that I will not waste on a poorly archetected and no longer supported
toolkit.

(Yeah, let’s ignore PeterGV (snicker, enicker))


The personal opinion of
Gary G. Little

“Loren Wilton” wrote in message news:xxxxx@ntdev…
> >I disagree, I believe DriverWorks is an excellent tool instrumental in
>> learning how to use WinDbg.
>
> Now I had great luck using Driverworks on a couple of really insane
> drivers. True, I had to patch up about 10 of the internal guts files to
> fix memory leaks and race conditions. But even with that, it probably
> saved me a considerable amount of grief if I had had to write those
> drivers the old way.
>
> Loren
>
>