Patent application number | Description | Published |
20090319692 | EXPOSING MULTI-MODE AUDIO DEVICE AS A SINGLE COHERENT AUDIO DEVICE - The driving of an audio device that supports two or more audio modes is accomplished by associating a first physical device object of an audio device with a first device identifier, the first physical device object representing a first audio mode enumerated by a bus enumerator; associating a second physical device object of an audio device with a second device identifier, the second physical device object representing a second audio mode enumerated by the bus enumerator; and if the first device identifier matches the second device identifier, enabling a coupled kernel streaming audio interface compatible with both the first physical device object and the second physical device object. | 12-24-2009 |
20090326928 | Audio Stream Notification and Processing - Various embodiments provide techniques for allowing an application to opt out of system default audio stream behavior, as well as techniques for notifying applications on a computing device that a communication audio stream has been initiated. The techniques may differentiate between communication-related audio streams and audio streams that are not communication-related. In some embodiments, an application may register to receive notification that a communication stream has been initiated. The application may be configured to comply with system default audio stream handling policies, or it can perform custom behavior in response to the audio stream notification. In some embodiments, an application may register for filtered or unfiltered notification. In a filtered notification scenario, an application is notified that a communication stream has been initiated when an audio stream associated with the application has not already been modified in response to the initiation of a different communication stream. In an unfiltered notification scenario, an application/process is notified whenever a communication stream is been initiated. | 12-31-2009 |
20130042258 | RUNTIME SYSTEM - Various embodiments provide an ability to describe, independent of a programming language, one or more interfaces associated with an operating system. Alternately or additionally, a compiler associated with a specific programming language can be configured to map the independent interface description(s) to the specific programming language. In some embodiments, an application can be configured to programmatically determine one or more interfaces of the operating system. | 02-14-2013 |
20130055291 | DESCRIBING NATIVE APPLICATION PROGRAMMING INTERFACES OF AN OPERATING SYSTEM WITH METADATA - 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. | 02-28-2013 |
20130055292 | PROJECTING NATIVE APPLICATION PROGRAMMING INTERFACES OF AN OPERATING SYSTEM INTO OTHER PROGRAMMING LANGUAGES - 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. | 02-28-2013 |
20130066899 | Flexible Metadata Composition - Various embodiments provide an ability to abstract type resolution between multiple type systems. At least one type can be described in one or more programmatically accessible file(s). In some embodiments, an application using a different type system can programmatically access and resolve a type of the at least one type system without knowledge of a location of where a description of the type resides. Alternately or additionally, type descriptions contained in the one or more programmatically accessible file(s) can be analyzed and restructured into one or more new programmatically accessible file(s) based, at least in part, upon the type descriptions. | 03-14-2013 |
20130067473 | Modes for Applications - Techniques for modes for applications are described. In one or more implementations, multiple operational modes are provided for an application. The operational modes can be associated with different resource access permissions, trust statuses, graphical user interfaces, and so on. An application can be launched in a particular one of the operational modes based on a context in which a request to launch the application is received. In one or more implementations, correlations between launch request contexts for an application and operational modes can be configured to enable different launch requests to cause an application to launch into different operational modes. | 03-14-2013 |
20140149437 | FLEXIBLE METADATA COMPOSITION - Various embodiments provide an ability to abstract type resolution between multiple type systems. At least one type can be described in one or more programmatically accessible file(s). In some embodiments, an application using a different type system can programmatically access and resolve a type of the at least one type system without knowledge of a location of where a description of the type resides. Alternately or additionally, type descriptions contained in the one or more programmatically accessible file(s) can be analyzed and restructured into one or more new programmatically accessible file(s) based, at least in part, upon the type descriptions. | 05-29-2014 |
20140282427 | DIAGNOSTICS OF STATE TRANSITIONS - A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions. | 09-18-2014 |
20140325534 | RUNTIME SYSTEM - Various embodiments provide an ability to describe, independent of a programming language, one or more interfaces associated with an operating system. Alternately or additionally, a compiler associated with a specific programming language can be configured to map the independent interface description(s) to the specific programming language. In some embodiments, an application can be configured to programmatically determine one or more interfaces of the operating system. | 10-30-2014 |
20150020084 | PROJECTING NATIVE APPLICATION PROGRAMMING INTERFACES OF AN OPERATING SYSTEM INTO OTHER PROGRAMMING LANGUAGES - 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. | 01-15-2015 |
20150074128 | FLEXIBLE METADATA COMPOSITION - Various embodiments provide an ability to abstract type resolution between multiple type systems. At least one type can be described in one or more programmatically accessible file(s). In some embodiments, an application using a different type system can programmatically access and resolve a type of the at least one type system without knowledge of a location of where a description of the type resides. Alternately or additionally, type descriptions contained in the one or more programmatically accessible file(s) can be analyzed and restructured into one or more new programmatically accessible file(s) based, at least in part, upon the type descriptions. | 03-12-2015 |