WinRT と Win32 APIの違い

WinRTとはマイクロソフトの開発したプラットフォームで、Windows 10などで採用されているユニバーサルプラットフォームアプリ(いわゆる Modern UI)のベースとなるAPIです。Windows Runtimeの略称となります。このページではWinRTと従来の開発APIのメインである Win32 APIとの違い、及びMFCやCOMとの違いに関して説明します。

スポンサーリンク

名前 呼び出し方法 インターフェース 実態 主な用途
WinRT(Windows Runtime) winmd ファイルの定義経由 オブジェクト指向 ・実態はC:\Windows\system32 フォルダ内の以下ファイルです。

Windows.*.dll

ただしアプリはこれらを直接呼び出すことはできません。

・winmd ファイルで定義されています。これ経由呼び出します。以下に保管されています。

C:\Windows\System32\WinMetadata

これらのファイルは .Net,JavaScript,C++などが共通で理解できます。
WinRT ランタイムで使用します。(サンドボックス)。
Win32 API(Application Program Interface) dll のエントリポイントを直接呼出し C言語型のI/F ・GDI32.dll、Kernel32.dll、User32.dll 、COMCTL32.DLL、WS2_32.DLL、ADVAPI32.DLL、NETAPI32.DLL
・CやC++以外(VBなど)からも呼び出すことは可能。
主にWindows ネーティブアプリで使用します。
MFC(Microsoft Foundation Class library) クラスライブラリとして使用(主にWin32APIのラッパー) C++インターフェース dll(Visual Studioインストールあるいはランタイム版として無償配布されているものを入手) マイクロソフトに特化したライブラリです。便利ですが多用すると他のOSに移植が困難となります。
COM(Common Object Model) dllやocx をコール オブジェクト指向 ・regsvr32 で COMコンポーネントを登録します。
・COMはレジストリに登録されています。(HKEY_LOCAL_MACHINE/Software/Classes )
・COMの実態は定義されたクラスのインスタンスであり、オブジェクト指向型です。
・oleview というツールで登録済のcom一覧の確認が可能です。
(oleview は無料SDKよりインストール可能)
汎用

スポンサーリンク

[開発言語に戻る]