The unloading process for the virtual pen device driver should ideally comply with the Plug and Play specifications. The Unidriver's exit code currently consists of only the function cVpenD_Device_Exit, which forms a shell for the exit procedure. The virtual pen driver receives a Sys_Critical_Exit message when the system unloads it. In handling this message, the virtual pen driver should place the hardware in a stable state and free any resources it holds.