A system for accessing a protected resource in closed system (200; 300), comprising: an unsigned software component to generate a resource call to the protected resource, wherein the closed computing system (200; 300) manages the protected resource; and at least one application programming interface, wherein the application programming interface presents the resource call to the protected resource, wherein the application programming interface supports resource requests made through a resource management layer to limit the exposure of the protected resource to unsigned source code, wherein the resources management layer has sub-layers and the application programming interface has sub-interfaces that support the various sub-layers (510, 515, 520, 525, 527, 528) of the resource management layer to facilitate the call between the resource management layer to the protected resource, wherein the system is configured so that each of the sub-layers (510, 515, 520, 525, 527, 528) makes respective resource calls between user mode and kernel mode, the resource calls are validated and if a resource call is found to be invalid, the call is immediately terminated, wherein the protected resource comprises a graphics component, an audio component, a math component, a storage component, or an input component, and the application programming interface comprises one sub-interface to correspond with the graphics component, audio component, math component, storage component, or input component, wherein validating each of the resource calls comprises: copying memory associated with the resource call from a user mode memory location to a kernel mode memory location; validating a parameter of the resource call; translating all pointers to kernel mode resources to a handle; and returning the handle to user mode. an unsigned software component to generate a resource call to the protected resource, wherein the closed computing system (200; 300) manages the protected resource; and at least one application programming interface, wherein the application programming interface presents the resource call to the protected resource, wherein the application programming interface supports resource requests made through a resource management layer to limit the exposure of the protected resource to unsigned source code, wherein the resources management layer has sub-layers and the application programming interface has sub-interfaces that support the various sub-layers (510, 515, 520, 525, 527, 528) of the resource management layer to facilitate the call between the resource management layer to the protected resource, wherein the system is configured so that each of the sub-layers (510, 515, 520, 525, 527, 528) makes respective resource calls between user mode and kernel mode, the resource calls are validated and if a resource call is found to be invalid, the call is immediately terminated, wherein the protected resource comprises a graphics component, an audio component, a math component, a storage component, or an input component, and the application programming interface comprises one sub-interface to correspond with the graphics component, audio component, math component, storage component, or input component, wherein validating each of the resource calls comprises: copying memory associated with the resource call from a user mode memory location to a kernel mode memory location; validating a parameter of the resource call; translating all pointers to kernel mode resources to a handle; and returning the handle to user mode.