winmd files describing third-party WinRT components that are included in the application package.Īcross all the. An AppX package can include zero or more. The metadata for all the types in the system is spread across multiple. The name of the file must be "", but may vary in case-that is, "" and "" would also be permitted as file names for this metadata file. The types may be either direct children of this namespace (for example, ), or in sub-namespaces of this namespace (for example, ). For example, all of the types in the file with "Foo.Bar" in the assembly table's name column must be in the "Foo.Bar" namespace. The namespace of all the WinRT types in a given WinMD must match the assembly table name column value exactly (that is, case-sensitively). Because the file system is case-insensitive, the case of the file name may differ from the namespace of all the WinRT types in a given WinMD file. Because the file system is case-insensitive, the case of the file name may differ from the assembly table name column value.Īll of the WinRT types in a given WinMD file must be under a namespace that matches the name of the WinMD file and the assembly table name column value. For example, the "" file must have "Foo.Bar" in the name column of the assembly table. The name (without extension) of a WinMD file must be a case-insensitive match to the name column of the assembly table inside the WinMD file. The WinMD version string must contain "Windows Runtime 1.2". There are no specific WinRT restrictions on the PEKind or machine architecture listed in a WinMD. In particular, managed WinMD files include Microsoft Intermediate Language (MSIL) code, just like traditional CLR assemblies do.Įvery WinMD file contains the definitions of zero or more WinRT types. Third-party WinMD files may contain code. System-provided WinMD files are pure metadata. This document lists the deltas between WinMD files and CLR assemblies. However, while the physical file format is the same, the rules for valid combinations of data are different for WinMD files and CLR assemblies. WinMD files use the same physical file format as Common Language Runtime (CLR) assemblies, as defined by the ECMA-335 specification. Semantics for non-WinRT interface members are implementation-defined and outside the scope of this document. Any non-WinRT interface members may not be public. WinRT types may include metadata for non-WinRT interface members. Semantics for non-WinRT types are implementation-defined, and outside the scope of this document.Īll public interface members (methods, properties, and events) on WinRT types must be WinRT interface members. Any non-WinRT types in a WinMD file must not be public. WinMD files may include metadata for non-WinRT types. Windows APIs for namespace and type resolution work on third-party metadata like they do for system metadata.Īll public types in a WinMD file must be WinRT types, and must carry the tdWindowsRuntime flag (details on type flags to follow). Third-party WinRT APIs must provide metadata just like system APIs do. Third-parties may develop their own WinRT APIs that can participate in language projection like the system provided APIs do. The Windows SDK provides a copy of the system metadata in a single file for use by language projections that need this metadata at compile time. Windows provides APIs to aid language projections in the resolution of namespaces and types that need this metadata at runtime. Windows includes metadata for all system-provided WinRT APIs. These metadata files are used by tools and language projections in order to enable language projection. Windows Runtime (WinRT) APIs are described in machine-readable metadata files with the extension.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |