1. A method, performed by a computer having an operating system that executes code in a kernel mode and a user mode, for automatically generating validation code for validating parameter values of restricted function calls made by a component running in user mode, the method comprising: receiving, at a security validation code generator, one or more security input files that define: (1) a set of restricted function calls of an operating system that only a component running in kernel mode is enabled to make; (2) declarative call descriptions that define each parameter of each restricted function call as well as whether the parameter is an input or an output of the restricted function call; and (3) declarative type descriptions that define the type of each parameter of the restricted function calls as well as logic for validating parameters of each type; automatically generating, by the security validation code generator, a security check file that includes program code that implements a user mode and a kernel mode stub for validating each restricted function call that is configured to be made by a user mode component, wherein the code for validating each restricted function call within the user mode and kernel mode stubs is automatically generated from the declarative call descriptions by matching each parameter of a restricted function call to a corresponding type description and generating the code using the defined logic within the corresponding type description; compiling the security check file to create the executable user mode and kernel mode stubs; linking the user mode and kernel mode stubs into the operating system; and upon a user mode component invoking one of the restricted function calls, executing the user mode and kernel mode stubs to validate the parameters of the restricted function call.