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.