Hi Jeff,
Thanks for your
confirmation!
The reason why I asked
this question is that: After calling Float32ToNativeInt32(),
I cannot see continuous integer in the conversion result. The result seems very
discrete and I cannot see any pattern.
Do you have any idea of
it?
Here I want to ask another
question:
I’m working on a FireWire
audio driver and have some source code of a user-mode driver. I inherited most
of the logic of the DCL program from the user-mode driver. However I often
encountered odd issues while debugging the kernel driver. Some pointer
variables will be changed to obvious protected memory (e.g. 0x01, 0x40) and
calling these pointers again will cause the OS panic. However, I don’t there’s
any code to change them to such odd address.
The only clue I can get
now is that:
To setup DCL program, the
user-mode driver will allocate some memory about 200 pages (4096 bytes / page).
I’m not sure if it’s too big for kernel memory. If the kernel doesn’t like such
a large memory allocation, it might be a mess while it does some memory
duplication. And that’s why some pointer variables will get weird address. I’m
suspicious of it because the fist allocation of 200 pages seems OK, but the
second time always fails.
Could you give me some clarification
about it? Thanks a lot!
Sincerely yours,
David Tan
Dextrys Co., Ltd.