I have installed a global system hook that I have defined in a DLL. The hook procedure is of the type WH_GETMESSAGE. The hook procedure intercepts keyboard messages (WM_KEY???, WM_SYSKEY???) and changes the message field to WM_NULL to discard the user's keystrokes when the keyboard is locked. I am getting an error: 'runtime error 216 at 00004436' when my application is running. The application uses file mapping to set the keyboard lock mode. Does anyone have any idea where the error could be originating from. Any help will be greatly appreciated! My utility is coded using Delphi 4.