微軟正在讓 Win32 API 更容易被包括 C# 和 Rust 在內的更多語言訪問

閱讀時間圖標 2分鐘讀


讀者幫助支持 MSpoweruser。如果您透過我們的連結購買,我們可能會獲得佣金。 工具提示圖標

請閱讀我們的揭露頁面,了解如何幫助 MSPoweruser 維持編輯團隊的發展 阅读更多

Microsoft Windows Win32 API

Microsoft Windows Win32 API

Win32 API 是經典 Windows 桌面應用程序的本機平台。 它適用於需要直接訪問系統功能和硬件的應用程序。 C 和 C++ 開發人員可以輕鬆訪問這些 Win32 API。 然而,其他語言如 C# 和 Rust 需要包裝器或綁定來訪問這些 API。 為了使 Win32 API 更容易被包括 C# 和 Rust 在內的更多語言訪問,微軟今天宣布了新的 win32元數據 項目。

新的 win32metadata 項目的目的是在元數據中提供對 Win32 API 表面的完整描述,以便可以以自動方式將其投影到任何語言,從而提高正確性並最大限度地減少維護開銷。

通過這個項目,您將獲得發佈到 Nuget.org 的 Windows 元數據文件 (winmd),其中包含描述整個 Win32 API 表面的元數據。 語言預測需要建立在這些元數據之上,以使開發人員能夠從他們選擇的語言慣用地調用 Win32 API。 微軟今天宣布了三種語言預測。

  • 與業主 Andrew Arnott 合作建造 調用 .NET 項目, C#/Win32 解析元數據並生成調用您關心的 API 所需的 P/Invoke 包裝器。
  •  Rust 語言投影 遵循由 C ++ / WinRT 使用標準語言和編譯器為 Windows 構建語言投影,為 Rust 開發人員提供一種自然而慣用的方式來調用 Windows API。
  •  現代 C++ 投影

資源: Microsoft微軟

有關主題的更多資訊: 微軟, Win32, 10窗口