Native code exposing virtual machine managed object
First Claim
1. A method comprising, in a computer environment including a virtual machine operating in a managed code portion, an abstraction layer operating in a native code portion, a boundary between the managed code portion and the native code portion, and an operating system interfacing the abstraction layer:
- receiving a notification in the abstraction layer from the virtual machine or from the operating system; and
assessing the notification at the abstraction layer as to whether the notification is to be transitioned across the boundary between the managed code portion and the native code portion.
2 Assignments
0 Petitions
Accused Products
Abstract
Notifications are generated in managed and native environments and propagated to an interfacing abstraction layer of native code there between. The abstraction layer assesses each received notification to determine whether the notification, or a previously received collection thereof, should be transitioned across a boundary between the managed environment and the native environment. The managed environment includes a virtual machine in a managed code portion. The native environment includes an operating system that interfaces the abstraction layer which is at a boundary between the managed code portion and the operating system. A collection of notifications are those that have been batched and/or synthesized. The abstraction layer is configured with predetermined criteria to assess whether to form a collection of received notifications and/or to prevent a transition of a notification, or collection thereof, across the boundary.
-
Citations
60 Claims
-
1. A method comprising, in a computer environment including a virtual machine operating in a managed code portion, an abstraction layer operating in a native code portion, a boundary between the managed code portion and the native code portion, and an operating system interfacing the abstraction layer:
-
receiving a notification in the abstraction layer from the virtual machine or from the operating system; and
assessing the notification at the abstraction layer as to whether the notification is to be transitioned across the boundary between the managed code portion and the native code portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
in a computer environment including;
a virtual machine having;
an application; and
a managed code portion having a base class library;
a native code portion having an abstraction layer operating in the native code;
a boundary between the managed code portion and the native code portion; and
an operating system interfacing the abstraction layer and having a subsystem library;
receiving a notification in the abstraction layer from the base class library or from the subsystem library; and
assessing the notification at the abstraction layer as to whether the notification is to be transitioned across the boundary between the managed code portion and the native code portion. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. A method comprising:
-
generating events and/or messaging by calls for a UI resource from a managed code portion of a computer environment, wherein the computer environment includes an operating system, a native code portion having an abstraction layer in native code, and a boundary between the managed code portion and the native code portion;
passing the events and/or messaging generated by the managed code portion to the abstraction layer;
evaluating the events and/or messaging at the abstraction layer against predetermined criteria, wherein a result of the evaluating is selected from the group consisting of;
transitioning the events and/or messaging across the boundary between the native and managed code portions to the operating system;
batching and/or synthesizing the events and/or messaging with prior events and/or messaging received by the abstraction layer;
transitioning the batched and/or synthesized the events and/or messaging events across the boundary between the native and managed code portions to the operating system; and
discarding the events and/or messaging. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A method comprising:
-
generating events and/or messaging by calls for a UI resource from a native code portion of a computer environment, wherein the computer environment includes;
an operating system;
the native code portion has an abstraction layer in native code; and
a boundary between the managed code portion and the native code portion;
passing the events and/or messaging generated by the native code portion to the abstraction layer;
evaluating the events and/or messaging at the abstraction layer against predetermined criteria, wherein a result of the evaluating is selected from the group consisting of;
transitioning the events and/or messaging across the boundary between the native and managed code portions to the managed code portion;
batching and/or synthesizing the events and/or messaging with prior events and/or messaging received by the abstraction layer;
transitioning the batched and/or synthesized the events and/or messaging events across the boundary between the native and managed code portions to the managed code portion; and
discarding the events and/or messaging. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A method comprising:
-
interacting with a UI using a UI resource of a computer environment including an operating system, a native code portion having an abstraction layer, and a managed code portion, wherein the interacting generates events and/or messaging by calls for the UI resource that are passed from the managed code portion to the abstraction layer;
evaluating the events and/or messaging at the abstraction layer in the native code portion against a predetermined criteria; and
if the evaluation is;
favorable, passing the events and/or messaging to the operating system with or without previous said events and/or messaging passed to the abstraction layer;
unfavorable;
batching and/or synthesizing the events and/or messaging with prior events and/or messaging received by the abstraction layer;
ordisallowing the events and/or messaging from passing through to the operating system. - View Dependent Claims (30)
-
-
31. An apparatus comprising:
-
a virtual machine operating in a managed code portion;
an abstraction layer operating in a native code portion;
a boundary between the managed code portion and the native code portion;
an operating system interfacing the abstraction layer;
means for receiving a notification in the abstraction layer from the virtual machine or from the operating system; and
means for assessing the notification at the abstraction layer as to whether the notification is to be transitioned across the boundary between the managed code portion and the native code portion. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A computer environment comprising:
-
a virtual machine having;
an application; and
a managed code portion having a base class library;
a native code portion having an abstraction layer operating in the native code;
a boundary between the managed code portion and the native code portion; and
an operating system interfacing the abstraction layer and having a subsystem library;
means for receiving a notification in the abstraction layer from the base class library or from the subsystem library; and
means for assessing the notification at the abstraction layer as to whether the notification is to be transitioned across the boundary between the managed code portion and the native code portion. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
-
45. An apparatus comprising:
-
an operating system;
a native code portion having an abstraction layer in native code;
a boundary between the managed code portion and the native code portion;
means for generating events and/or messaging by calls for a UI resource from the managed code portion;
means for passing the events and/or messaging generated by the means for generating to the abstraction layer;
means for evaluating the events and/or messaging at the abstraction layer against predetermined criteria; and
means selected from the group consisting of;
means for transitioning the events and/or messaging across the boundary between the native and managed code portions to the operating system;
means for batching and/or synthesizing the events and/or messaging with prior events and/or messaging received by the abstraction layer;
means for transitioning the batched and/or synthesized the events and/or messaging events across the boundary between the native and managed code portions to the operating system; and
means for discarding the events and/or messaging. - View Dependent Claims (46, 47, 48, 49)
-
-
50. A computer environment comprising:
-
an operating system;
a native code portion having an abstraction layer in native code;
a managed code portion;
a boundary between the managed code portion and the native code portion;
means for generating events and/or messaging by calls for a UI resource from the native code portion;
means for passing the events and/or messaging to the abstraction layer; and
means for evaluating the events and/or messaging passed to the abstraction layer against predetermined criteria so as to initiate a performance of means selected from the group consisting of;
means for transitioning the events and/or messaging across the boundary between the native and managed code portions to the managed code portion;
means for batching and/or synthesizing the events and/or messaging with prior events and/or messaging received by the abstraction layer;
means for transitioning the batched and/or synthesized the events and/or messaging events across the boundary between the native and managed code portions to the managed code portion; and
means for discarding the events and/or messaging. - View Dependent Claims (51, 52, 53, 54)
-
-
55. An apparatus comprising:
-
hardware including a UI;
an operating system;
a native code portion having an abstraction layer;
a managed code portion;
means for interacting with the UI using a UI resource to generate events and/or messaging by calls for the UI resource;
means for passing the generated events and/or messaging from the managed code portion to the abstraction layer;
means for evaluating the events and/or messaging at the abstraction layer in the native code portion against predetermined criteria to initiate a performance of means selected from the group consisting of;
means for passing the events and/or messaging to the operating system with or without previous said events and/or messaging passed to the abstraction layer;
means for batching and/or synthesizing the events and/or messaging with prior events and/or messaging received by the abstraction layer; and
means for disallowing the events and/or messaging from passing through to the operating system.
-
-
56. A computer readable medium having computer executable instructions for performing steps comprising:
-
generating a native message in a native windowing system in a native code portion;
passing the native message with a message pump to an abstraction layer executing native code in the native code portion;
processing the native message at the abstraction layer by a process selected from the group consisting of;
transitioning the native message across a boundary from the native code portion to a managed code portion when the native message is favorable evaluated by predetermined criteria;
combining the native message with one or more native messages previously received by the abstraction layer as generated by the native windowing system; and
discarding the native message. - View Dependent Claims (57)
-
-
58. A computer readable medium having computer executable instructions for performing steps comprising:
-
generating a managed message in a managed application executing in the managed code portion;
passing the managed message from the managed application to a managed library in the managed code portion;
passing the managed message from the managed library to an abstraction layer executing native code in a native code portion;
processing the managed message at the abstraction layer by a process selected from the group consisting of;
transitioning the managed message across a boundary from the managed code portion to the native code portion when the managed message is favorably evaluated by predetermined criteria;
combining the managed message with one or more managed messages previously received by the abstraction layer as generated by the managed application or by the managed library; and
discarding the managed message. - View Dependent Claims (59, 60)
-
Specification