Hi All,
I’ve encountered a very rare situation when sr.sys
(Windows System Recovery Driver) crashed my machine
due to an unsupported request sent to my Storage
device.
Anyway, after very deep digging in my code, I found
out that the only thing that solved it, was sending to
IoCreateDevice a NULL terminated Unicode String (As
documented in DDK)
I have two questions:
- Does anyone know about other disposing that this
issue might cause?
- I had a look at the samples in the DDK and everyone
is using RtlInitUnicodeString function when formatting
the Device Name, which means that it is not a NULL
terminated Unicode String
I’ll be happy to know what is the correct way to work
with and why the Device Name should be
NULL-Terminatead according to the DDK
Thanks in advance
Alon
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
RtlInitUnicodeString is only used with NULL terminated strings. I’m going
to let you do the tiny bit of work to find the unambiguous documentation
that describes exactly that.
Why the IoCreateDevice() call is dependent on a UNICODE_STRING that is NULL
terminated is another discussion, one that I’m not going to add much value
to, but one that I want to watch.
My only contribution would be to ask, “What’s the point of a UNICODE_STRING
if it has to be NULL terminated, also?”
Phil
Philip D. Barila
Seagate Technology LLC
(720) 684-1842
xxxxx@lists.osr.com wrote on 09/13/2005 09:44:08 AM:
Hi All,
I’ve encountered a very rare situation when sr.sys
(Windows System Recovery Driver) crashed my machine
due to an unsupported request sent to my Storage
device.
Anyway, after very deep digging in my code, I found
out that the only thing that solved it, was sending to
IoCreateDevice a NULL terminated Unicode String (As
documented in DDK)
I have two questions:
- Does anyone know about other disposing that this
issue might cause?
- I had a look at the samples in the DDK and everyone
is using RtlInitUnicodeString function when formatting
the Device Name, which means that it is not a NULL
terminated Unicode String
I’ll be happy to know what is the correct way to work
with and why the Device Name should be
NULL-Terminatead according to the DDK
Thanks in advance
Alon