By debugging, I found that both of CreateFile and OpenFile call
NtCreateFile rather than NtOpenFile. NtOpenFile be called by some
internal functions, such as ntdll!RtlAllocateHeap.
To my understanding, NtOpenFile provides a subset of functions of
NtCreateFile. In other words, NtOpenFile can be totally superseded by
NtCreateFile. What makes the redundancy necessary?
??? allocator opens files?
> NtCreateFile. In other words, NtOpenFile can be totally superseded by
> NtCreateFile. What makes the redundancy necessary?
Convinience. I think NtOpenFile has much easier parameters.
--
Maxim S. Shatskih
Windows DDK MVP
ma...@storagecraft.com
http://www.storagecraft.com
Yes. It does. The result is from WinDBG.
I am also confused about this.
>> ??? allocator opens files?
>
> Yes. It does. The result is from WinDBG.
How have you checked this? When breaking in NtOpenFile I don't see any
reference to RltAllocateHeap. When stepping through RltAllocateHeap I don't
see any call to it. I have not checked all branches I must admin, but I
can't imagine why RltAllocateHeap opens a file.
Can you show us the Stack Trace?
GP
--
Volodymyr M. Shcherbyna, blog: http://www.shcherbyna.com/
(This posting is provided "AS IS" with no warranties, and confers no
rights)
"xmllmx" <xml...@gmail.com> a �crit dans le message de
news:f29cf533-8b5e-4e0d...@b15g2000yqd.googlegroups.com...