Handling calls to native code in a managed code environment
First Claim
1. A method comprising:
- determining, via a managed code environment executing on a computing device, an extension that corresponds with a hardware platform of the computing device;
loading, via the managed code environment, code of the extension that corresponds with the hardware platform into a first domain, the extension configured to expose hardware-based services of the hardware platform;
loading, via the managed code environment operating on the computing device, code of an application into a second domain, the first domain being different than the second domain;
receiving, from the application and through an application program interface (API) of the managed code environment, a call to a function of native program code corresponding to the hardware platform, the API accessible from both the first domain and the second domain;
determining whether the call from the application is received via the first domain or via the second domain; and
allowing the call through the API if the call is received from the application via the first domain effective to allow the application to access one of the hardware-based services of the hardware platform;
ordisallowing the call through the API if the call is received from the application via the second domain effective to prevent the application from accessing the hardware-based services of the hardware platform.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, provide a technique for handling calls to native code in a managed code environment. In one aspect, a method includes the actions of: loading, in a managed code environment operating on one or more data processing apparatus, code of an application and code of an extension, wherein the loading includes loading the code of the extension into a first domain and loading the code of the application into a second domain, the first domain being different than the second domain; receiving, through an application program interface (API) of the managed code environment, a call to a function of native program code corresponding to an identified computing platform; allowing the call when the call arises from the first domain; and disallowing the call when the call arises from the second domain.
62 Citations
18 Claims
-
1. A method comprising:
-
determining, via a managed code environment executing on a computing device, an extension that corresponds with a hardware platform of the computing device; loading, via the managed code environment, code of the extension that corresponds with the hardware platform into a first domain, the extension configured to expose hardware-based services of the hardware platform; loading, via the managed code environment operating on the computing device, code of an application into a second domain, the first domain being different than the second domain; receiving, from the application and through an application program interface (API) of the managed code environment, a call to a function of native program code corresponding to the hardware platform, the API accessible from both the first domain and the second domain; determining whether the call from the application is received via the first domain or via the second domain; and allowing the call through the API if the call is received from the application via the first domain effective to allow the application to access one of the hardware-based services of the hardware platform;
ordisallowing the call through the API if the call is received from the application via the second domain effective to prevent the application from accessing the hardware-based services of the hardware platform. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more non-transitory computer-readable storage devices comprising processor-executable instructions that, responsive to execution by one or more processors, cause the one or more processors to implement operations comprising:
-
determining, via a managed code environment, an extension that corresponds with a hardware platform; loading, via the managed code environment, code of an extension that corresponds with the hardware platform into a first domain, the extension configured to expose services of the hardware platform not exposed by an application programming interface (API) of the managed code environment; loading, via the managed code environment, code of an application into a second domain, the first domain being different than the second domain; receiving, from the application and through the API of the managed code environment, a call to a function of native program code corresponding to the hardware platform, the API accessible from both the first domain and the second domain; determining whether the call from the application is received via the first domain or via the second domain; and allowing the call through the API if the call is received from the application via the first domain effective to allow the application to access one of the services of the hardware platform;
ordisallowing the call through the API if the call is received from the application via the second domain effective to prevent the application from accessing the services of the hardware platform. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more processor; and a memory coupled to the one or more processors and including instructions that are executable by the one or more processors to implement a managed code environment to; identify a hardware platform of the system; load code of an extension that corresponds with the identified hardware platform into a first domain, the extension configured to expose hardware-based services of the identified hardware platform not exposed by an application programming interface (API) of the managed code environment; load code of an application into a second domain, the first domain being different than the second domain; receive, through the API of the managed code environment, a call to a function of native program code corresponding to the identified hardware platform, the API being accessible from both the first domain and the second domain; determine whether the call from the application is received via the first domain or via the second domain; and allow the call through the API if the call is received from the application via first domain effective to allow the application access to one of the hardware-based services of the identified hardware platform;
ordisallow the call through the API if the call is received from the application via second domain effective to prevent the application from accessing the hardware-based services of the identified hardware platform. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification