A secure first process uses a non-secure software object by hosting said non-secure
software object in a separate second process, where the first process's address
space is inaccessible to the second process. The first process communicates with
the second process, preferably by means of a COM API that the second process exposes
to the first process. The application that runs in the second process may expose
APIs of the hosted non-secure object to the first process, and the first process
may communicate with the non-secure object hosted in the second process through
this API. In a preferred embodiment, the second process renders its output in a
child window of the first process, so that the use of a second process to host
non-secure software objects is transparent to a user of the first process.