Getting past unresolved __fltused in the kernel

Hi everyone,

I’m trying to port a floating point intensive algorithm in the context of a
WDM driver. I’m naturally trying to avoid rewriting the sections of the
algorithm that make use of the user-mode CRT floating point functions.

To this end, I’ve tried pulling CRT source files into the scope of the
project to resolve external references the theory being that when all the
references are resolved, I should at least be able to load the driver and
then engage in hand-to-hand combat with the run-time implications.

But what exactly is the unresolved external __fltused? From searching the
source code in Visual Studio 6 Enterprise, the best I can do is track it
down to the fltused.asm file that’s not included. Other references to
_fltused found in STUBS.C and DLLSUPP.ASM define _ftlused equal to 0x9875
and 0x9876 respectively. Not really so useful in determining exactly what
the role of this symbol is and how to get around this link error.

Can anyone offer any advice on moving FP-intensive user-mode code into the
kernel on Windows 2000, and the __fltused symbol in particular?

Thanks in advance - Chris Russell