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.