Added a section on parsing the metadata.
This commit is contained in:
Родитель
ff5bbe9d28
Коммит
ece70f51eb
|
@ -12,7 +12,10 @@ Below are some principles that all language projections should follow:
|
|||
* Language projections should support filtering available APIs based on the SDK version that a project targets
|
||||
* Language projections should enable developers to target a specific set of APIs and link or include only the artifacts necessary to provide support for those APIs
|
||||
|
||||
## Projections
|
||||
## Consuming language projections
|
||||
|
||||
To call Win32 APIs from the language of your choice based off of this metadata, use the following language projections:
|
||||
|
||||
* C# - https://github.com/microsoft/cswin32 (Microsoft)
|
||||
* C++ - https://github.com/microsoft/cppwin32 (Microsoft)
|
||||
* Rust - https://github.com/microsoft/windows-rs (Microsoft)
|
||||
|
@ -20,4 +23,12 @@ Below are some principles that all language projections should follow:
|
|||
* Dart - https://github.com/timsneath/win32 (Community)
|
||||
* Zig - https://github.com/marlersoft/zigwin32 (Community)
|
||||
|
||||
Note: Community projects are listed here to help with discovery but are not officially validated by Microsoft.
|
||||
Note: Community projects are listed here to help with discovery but are not officially validated by Microsoft.
|
||||
|
||||
## Implementing language projections
|
||||
|
||||
### Parsing the metadata
|
||||
|
||||
The winmd file produced by this project can be parsed with any ECMA-335 compliant parser like .NET [System.Reflection](https://docs.microsoft.com/dotnet/api/system.reflection?view=net-5.0) and [System.Reflection.Metadata](https://docs.microsoft.com/dotnet/api/system.reflection.metadata?view=net-5.0) APIs.
|
||||
|
||||
Alternatively, a JSON translation of the winmd file can be found at https://github.com/marlersoft/win32json.
|
Загрузка…
Ссылка в новой задаче