| US 7,546,607 B2 | ||
| Native code exposing virtual machine managed object | ||
| Seth M. Demsey, Kirkland, Wash. (US); Tuan Huynh, Seattle, Wash. (US); Christopher W. Lorton, Bothell, Wash. (US); Ramasamy Krishnaswamy, Redmond, Wash. (US); Armin Sadeghi, Bellevue, Wash. (US); and Bruce E. Johnson, Bellevue, Wash. (US) | ||
| Assigned to Microsoft Corporation, Redmond, Wash. (US) | ||
| Filed on Nov. 19, 2002, as Appl. No. 10/299,202. | ||
| Prior Publication US 2004/0098731 A1, May 20, 2004 | ||
| Int. Cl. G06F 9/54 (2006.01); G06F 9/46 (2006.01) | ||
| U.S. Cl. 719—318 [718/1] | 51 Claims |

| 7. A method of facilitating communication across a boundary between a managed code portion and a native code portion in a
computer environment, the managed code portion being operated by a virtual machine and having a base class library operable
in the managed code portion, the native code portion comprising an operating system having a subsystem library operable in
the native code portion, the method comprising:
receiving, in an abstraction layer operating in a native code, a notification from the base class library before the notification
being transitioned across the boundary to the subsystem library or from the subsystem library before the notification being
transitioned across the boundary to the base class library, wherein:
the managed code portion and the native code portion are parts of the environment executed on a single computing device;
the managed code portion is configured to target one or more platforms not supported in the native code portion;
the binary class library comprises a plurality of User Interface (UI) library within the managed code portion;
the subsystem library in the operating system comprises a native windowing system responsible for creating, managing, and
destroying a User Interface (UI) component in the native code; and
the binary class library in the managed code portion and the subsystem library in the native code portion are configured to
send and receive the notification across the boundary;
assessing, at the abstraction layer, the notification as to whether the notification is to be immediately transitioned across
the boundary between the managed code portion and the native code portion based at least in part on a status of the virtual
machine and status of system resources; and
performing, at the abstraction layer, an action requiring less processing workload from the single computing device than the
processing workload required to immediately transition the notification across the boundary, thereby alleviating strain of
allocating one or more User Interface (UI) resources on the single computing device in response to an immediate transition
of the notification, the action comprising combining the notification with one or more notifications previously received by
the abstraction layer into a group before transitioning the group comprising the notification and the one or more notifications
previously received across the boundary.
|