The Win32 security model has been designed to meet these goals:
Minimize impact on Windows API semantics.
Provide C2 level security.
Be extensible to B level security without requiring modifications to the existing API.
Be extensible to multi user systems.
Be extensible to support new object types.
Functions are being added to implement security, but any existing functions will not be modified to support security. Also, the use of any newly introduced functions is optional – the system provides a default security behavior when these functions are not used. For the C2 system, this default mirrors the Win3 object semantics.