1. A computer-implemented method for enabling communication of data from a kernel of an operating system to a client, comprising the steps of: providing a context object that includes the data to be accessible to the client; providing the kernel with a secure object handle, the secure object handle including an actual address of the context object and being particular to the context object; sending the secure object handle from the kernel to the client over a bidirectional interface; receiving, from the client, the secure object handle over the bidirectional interface, indicating that the client requires access to the data in the context object, and checking an integrity of the secure object handle in the kernel and allowing access to the data by the client if the integrity check is successful and disallowing access to the data by the client if the integrity check is unsuccessful.