Abstract:
The operating system of a computer maintains an extension catalog that stores data relating extensions with information about the contracts the extensions support. Extensions are registered in this catalog according to the contract they implement. The extension catalog can be queried to identify extensions that support a given contract. An extension can be selected from among the results from a query, and the selected extension can be activated. When activated, the extension is set up by the operating system as an independent process from, and with context from, the application for which it is an extension. Information about the extension is provided to the application to enable the extension and the application to communicate according to the supported contract.
Abstract:
An isolation execution environment provides an application with limited resources to execute an application. The application may require access to secured resources associated with a particular trust level that are outside of the isolation execution environment. A trust activation engine determines the trust level associated with a request for a resource and operates differently based on the trust level. A broker process may be used to execute components providing access to resources having a partial trust level in an execution environment that is separate from the isolation execution environment.
Abstract:
Native operating system application programming interfaces (API's) are described using metadata and such descriptions are stored in a standard file format in a known location. By storing API definitions using such metadata, other applications can readily identify and use the APIs. To create such API representations, during development, a developer describes the shape of the API, including (but not limited to) the classes, interfaces, methods, properties, events, parameters, structures and enumerated types defined by the API. This API description is processed by a tool which generates a machine-readable metadata file. The machine-readable metadata file contains the same information as the API description, however in a format designed to be machine read rather than human authored.
Abstract:
The operating system of a computer maintains an extension catalog that stores data relating extensions with information about the contracts the extensions support. Extensions are registered in this catalog according to the contract they implement. The extension catalog can be queried to identify extensions that support a given contract. An extension can be selected from among the results from a query, and the selected extension can be activated. When activated, the extension is set up by the operating system as an independent process from, and with context from, the application for which it is an extension. Information about the extension is provided to the application to enable the extension and the application to communicate according to the supported contract.
Abstract:
Information about the operating system application programming interfaces is stored in a known format in a known location. This information fully describes the APIs exposed by the operating system and is stored in API metadata files. A language compiler or interpreter uses this API information to build a natural and familiar representation of the native system API in the target language. The language compiler or interpreter can read the API information at compile time and/or runtime. The metadata is used to allow an application to refer to named elements in the API. Projections are built that use the metadata to map named elements in the API to named elements in the target language, and to define wrappers that marshal data of those elements between the target representation and the native operating system representation.
Abstract:
Information about the operating system application programming interfaces is stored in a known format in a known location. This information fully describes the APIs exposed by the operating system and is stored in API metadata files. A language compiler or interpreter uses this API information to build a natural and familiar representation of the native system API in the target language. The language compiler or interpreter can read the API information at compile time and/or runtime. The metadata is used to allow an application to refer to named elements in the API. Projections are built that use the metadata to map named elements in the API to named elements in the target language, and to define wrappers that marshal data of those elements between the target representation and the native operating system representation.
Abstract:
An isolation execution environment provides an application with limited resources to execute an application. The application may require access to secured resources associated with a particular trust level that are outside of the isolation execution environment. A trust activation engine determines the trust level associated with a request for a resource and operates differently based on the trust level. A broker process may be used to execute components providing access to resources having a partial trust level in an execution environment that is separate from the isolation execution environment.