I completely agree that this is frustrating. Fortunately for you guys,
KMDF internally, for the most part, sees these errors before they make
it out into final WDK and we get them fixed. These types of changes
typically come from other teams and we are just as surprised as you are
when they initially arrive.
d
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bill McKenzie
Sent: Thursday, June 07, 2007 9:18 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] MmGetSystemRoutineAddress BugCheck?
Additionally, like I said previously, RtlGetVersion returns more
information to you then >PsGetVersion does, especially with the EX
version of the structure.
Right, that is why I said “if I don’t want the new functionality”. I
don’t care…I just want to get the version and go.
Because people misinterpret the version data they get back when they do
version checks. For >instance, instead of >= a lot of folks mistakenly
use == and then fail to run on a new major or minor >version of the OS.
I have no problem with this up to the point that Winqual process makes
this mandatory. I don’t know if they do…I guess I will find out
shortly. I hope someone puts a note somewhere to say they can’t ever do
that. I kind of look at this as you guys made the ambiguous DDI, you
have to live with it.
Not trying to beat a dead horse, but issues like this one make creating
cross-platform generic code bases very difficult and it keeps on
happening. Forcing the use of a new DDI, that in my case buys me
effectively nothing costs me and/or the companies that employ me $$.
Someone needs to look backwards while everyone is looking
forwards…follow?
Just a thought.
Bill M.
“Doron Holan” wrote in message
news:xxxxx@ntdev…
Because people misinterpret the version data they get back when
they do version checks. For instance, instead of >= a lot of folks
mistakenly use == and then fail to run on a new major or minor version
of the OS. This is why RtlVerifyVersionInfo and RtlGetVersion were
introduced. RtlVerifyVersionInfo will perform the right check for
you. Additionally, like I said previously, RtlGetVersion returns more
information to you then PsGetVersion does, especially with the EX
version of the structure.
d
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bill McKenzie
Sent: Thursday, June 07, 2007 7:03 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] MmGetSystemRoutineAddress BugCheck?
Well, that is part of the problem. Why does it matter if I
don’t want the new functionality and just want to use PsGetVersion? It
works and has worked for a good long time. Is there something wrong
with using that function on Vista? I want to use that function because
I know it works everywhere and I don’t have to worry about what my
driver is targeting or what it might target tomorrow. I just don’t
understand, unless there is a technical problem, why a function like
that would ever be obsoleted.
Bill M.
“Doron Holan” wrote in
message news:xxxxx@ntdev…
We pushed back on the warning for PsGetVersion, we get
warned too ;). The idea is to encourage those driver writers who do not
target win2k to use the newer API, PFD has no way of knowing what the
minimum targeted OS is to turn off warnings selectively…
d
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bill McKenzie
Sent: Wednesday, June 06, 2007 8:36 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] MmGetSystemRoutineAddress BugCheck?
Yes…what he said…ditto.
Bill M.
“Mark Roddy” wrote in
message news:xxxxx@ntdev…
I’m okay with having a new improved
PsGetVersionEx, but not with obsolescing the existing PsGetVersion while
the platforms that only provide that version are still out there,
especially in light of this discussion.
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bill McKenzie
Sent: Wednesday, June 06, 2007 6:32 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] MmGetSystemRoutineAddress
BugCheck?
Why was this changed btw? Did whoever changed
it think of the implications. It seems a bad idea to change, from
platform to platform, the routines used to determine the platform. It
seems to me anyway??
Bill M.
“Doron Holan”
wrote in message news:xxxxx@ntdev…
KMDF directly imports PsGetVersion to
work on Win2k and then uses MmGetSystemRoutineAddress to get
RtlGetVersion for later platforms, I am pretty sure you can do the same
w/out issue.
d
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@attotech.com
Sent: Wednesday, June 06, 2007 1:26 PM
To: Windows System Software Devs
Interest List
Subject: RE: [ntdev]
MmGetSystemRoutineAddress BugCheck?
Ok, nobody has asked this yet so I’ll
take the dangerous leap.
Vista WHQL now requires submission of
the PreFast output. PreFast puts out a warning for the use of
PsGetVersion. So in our drivers I was thinking of (excuse the pseudo
code):
if (pRtlGetVersion =
MmGetSystemRoutineAddress (“RtlGetVersion”)) // Yeah, I know, I gotta
use UNICODE_STRINGS