Microsoft、「Rust for Windows v0.9」を公開Win32 APIをRustから慣用的な方法で呼び出せる

Microsoftは「Rust for Windows v0.9」を公開した。Windows APIを完全にサポートしたことが特徴だという。

» 2021年05月10日 14時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Microsoftは2021年5月6日(米国時間)、「Rust for Windows v0.9」を公開したと発表した。

 Rust for Windowsは、「win32metadata」プロジェクトで提供されるWin32 APIのメタデータに基づいて、Rust言語からWin32 APIを慣用的な方法で呼び出すために必要な言語プロジェクションであり、オープンソースプロジェクトとして開発が進められている。2020年4月に「Rust/WinRT」として発表されたが、その後、Rust for Windowsに改称された。

 win32metadataプロジェクトは、さまざまなプログラミング言語からWin32 APIへのアクセスを容易にすることを目的としている。Rust for Windows以外にも、C#やC++などの言語プロジェクションが開発されている。

 Rust for Windows v0.9では、Windows APIが完全にサポートされ、過去、現在、将来の任意のWindows APIを呼び出せるようになった。「Rust開発者は、Rust言語での慣用的な方法でWindows APIサーフェス全体にアクセスできる」とMicrosoftは述べている。

どこが更新されたのか

 Rust/WinRTの発表以降の主なアップデート内容や変更点は次の通り。

  • Win32およびCOM APIのサポートが追加され、「windows crate」を介してWindows APIをシームレスに使用できるようになった
     crate(クレート)とはバイナリやライブラリ、これらのいずれかにビルドされるソースコードを指すRustの用語だ。これらのAPIの追加は、win32metadataプロジェクトが実現したものだ。

  • Rust for WindowsのGitHubリポジトリに幾つかのサンプルが追加された
     これらは、幅広いWindows API(Win32やCOM、WinRT APIなど)を呼び出す方法を示している。

  • windows crateがcrates.ioで公開された
     MITとApacheのデュアルライセンスを採用している。

  • windows crateのバインディングを変更した
     内部的に手動のバインディングではなく、生成されたバインディングを使用するようになった。

  • windows crateがLinuxでビルドされるようになった

  • Win32 APIに向けた多数の改良や修正を施した
     配列型のサポートやさまざまな文字列型、メタデータの更新などだ。

  • 返り値を持つCOMインタフェースの自然で慣用的なサポートが追加された
     例えば、Cスタイルの共用体型やネスト型などに関連する追加APIのサポートなどだ。

  • ビルド時間やエラー処理が改善された

  • オリジナルのAPIの大文字、小文字の表記が保持された
     これは、windows crateを使用する既存コードに影響する。

  • QueryInterfaceのような関数が汎用(はんよう)関数に変更された
     多くのCOM関連関数をより安全かつ便利に呼び出せるようになった。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。