It's done to zero-initialize all what was provided and only then check
if enough params were provided. We usually use same approach in other
kernel functions (zero init all what's possible, then perform more
complex validation and fail if validation fails).
I'm not sure whether that's so useful there, because if the caller gets
non-successful status, he shouldn't be using these parameters anyway.
WBR,
Aleksey Bragin.
On 07.12.2011 21:59, Ged Murphy wrote:
  Quick typo, your param  checks in LdrpCheckForKnownDll
come after your initialization
 -----Original Message-----
 From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org] On Behalf Of
fireball(a)svn.reactos.org
 Sent: 07 December 2011 17:51
 To: ros-diffs(a)reactos.org
 Subject: [ros-diffs] [fireball] 54606: [NTDLL/LDR] - Improve LdrpCheckForKnownDll by
adding parameters validation, return status value, better failure paths handling.
 Author: fireball
 Date: Wed Dec  7 17:51:18 2011
 New Revision: 54606
 URL: 
http://svn.reactos.org/svn/reactos?rev=54606&view=rev
 Log:
 [NTDLL/LDR]
 - Improve LdrpCheckForKnownDll by adding parameters validation, return status value,
better failure paths handling.
 Modified:
      trunk/reactos/dll/ntdll/include/ntdllp.h
      trunk/reactos/dll/ntdll/ldr/ldrutils.c