See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Windows API - Wikipedia

Windows API

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Windows APIうぃんどうず えいぴいあい)とは、Microsoft WindowsAPIのことである。特に32ビットプロセッサで動作するWindows 95以降やWindows NTで利用できるものはWin32 APIと呼ばれる。また、それらのWindowsにおけるWin32 APIの実装をWin32と呼ぶ。Windows NT系では、NTネイティブAPI上にサブシステムとしてWin32 APIが実装されている。

目次

[編集] 概要

Windows APIは大きく次のように分類される。

ベースサービス
Windowsの基盤となる機能を提供する。ファイルシステムデバイスプロセススレッドレジストリ例外処理などが含まれる。 Win16ではkernel.exe, krnl286.exe, krnl386.exeに、Win32ではkernel32.dll及びadvapi32.dllに実装されている。
Graphics Device Interface
ディスプレイプリンタをはじめとした出力デバイスへの描画機能を提供する。 Win16ではgdi.exeに、Win32ではgdi32.dllに実装されている。
ユーザーインターフェイス
ウィンドウの処理、ボタンスクロールバーなどといった基本的なコントロール、マウス・キーボード入力、その他GUIに関わる機能を提供する。Win16ではuser.exeに、Win32ではuser32.dllに実装されている。ただしWindows XPから基本的なコントロールはコモンコントロール(後述)と共にcomctl32.dllに含まれている。
コモンダイアログ
「ファイルを開く」や「名前をつけて保存」、「色の選択」や「フォントの選択」などように標準的なダイアログボックスを提供している。Win16ではcommdlg.dllに、Win32ではcomdlg32.dllに実装されている。
コモンコントロール
基本的とは言えないが様々なアプリケーションで使用されるステータスバー、プログレスバーツールバータブなどといったコントロールを提供している。Win16ではcommctrl.dllに、Win32ではcomctl32.dllに実装されている。
シェル
シェルに関する機能やアプリケーションがシェルを拡張するための機能を提供している。Win16ではshell.dllに、Win32ではshell32.dll及びshlwapi.dllに実装されている。
ネットワークサービス
ネットワークに関する機能を提供している。下位にはNetBIOS, Winsock, NetDDE, RPCやその他多くの機能が属する。

なお、コモンダイアログ、コモンコントロール、シェルはWindows APIの分類ではユーザーインターフェイスの下位に属している。

[編集] Web関係のAPI

Internet Explorerも有用なAPIを多数公開し、Windows APIの一部として見られるほどである。特にWindows 98からOSと統合したことで、Web関係のAPIを多数提供している。[1].

  • 埋め込みWebブラウザコントロール(Trident : IEコンポーネント) (shdocvw.dll, mshtml.dll)
  • URLモニカ - URLを通じてのCOMオブジェクト提供 (urlmon.dll)
  • 多言語及び国際化対応の補助ライブラリ (mlang.dll)
  • DirectX Transforms - イメージフィルタコンポーネント
  • XMLサポート (MSXMLコンポーネント)
  • Windowsアドレス帳の操作
  • WinINet

[編集] マルチメディア関係のAPI

マイクロソフトは、全てのWindowsにDirectXを供給している。DirectXはゲームとマルチメディアのためのAPIである。

[編集] ラッパーライブラリ

Windows APIは比較的低水準であるため、高水準なインターフェースを持たせるための様々なラッパーが数多く存在する。主なものは次のとおり。

[編集] マイクロソフト

[編集] ボーランド

.NET FrameworkJavaにもWindows APIをラップした部分が存在する。

[編集] その他

Win32 APIは、Windows Vista以降でWinFX(.NET Framework 3.0)にネイティブAPIの立場を譲る予定であったが、途中で変更されWindows Vistaでは従来通りWin32 APIがネイティブAPIとされた。

[編集] 実装

[編集] MicrosoftのWindowsにおける実装

Windows APIは名前からも類推できるとおり、主にMicrosoft Windowsに実装されている。その実装はWindowsのバージョン毎に少なからず違いが存在する。たとえばWin32の場合、Win32c, Win32sではごく一部を除きUnicodeに対応していない、セキュリティ対策のアクセス制限が実装されていないなどといった違いが挙げられる。そしてそれは大きく次のように分類することができる。

[編集] Win16

Win16は、16ビットプログラム用の実装である。ただし、Win16という語自体はWin32が登場してから用いられるようになった語である[要出典]。Win16は大きく2種類に分けられる。

  • Windows 1.0からWindows 3.1までおよびWindows 95/98/Me (9x系)の実装。
  • WOW (Win16 on Win32) - Windows NTによるWin16サブシステムによる実装。

[編集] Win32

Win32は、32ビットプログラム用の実装である。次のように分けられる。

Win32
狭義のWin32は、NT系の実装を指す。
Win32c
9x系の実装。'c'は「compatibility」(互換)の頭文字である。
Win32s
Windows 3.1用の実装。's'は「subset」(サブセット)の頭文字である。Windows 3.1には搭載されておらず、別途入手・インストールする必要がある。
Win32 for Windows CE
Windows CEの実装。文字コードUnicodeのみを使用するなどの点が特徴的である。
WOW64 (Windows on Windows 64)
Win64上でWin32をエミュレーションするサブシステムによる実装。

Windows NTがx86以外のアーキテクチャに移植されたのに伴い、Win32は各種アーキテクチャ向けに移植されている[2]。また、Windows NTではないが、かつてMacintosh用のWin32も存在し、Microsoft Visual C++ 4.0 Cross-Development Edition for Macintoshとしてクロスコンパイラとともに発売されていた[3]。これらアーキテクチャの異なるWin32の間にはソースコード上での互換性がある。

[編集] Win64

Win64は、64ビットプログラム用の実装である。現在、IA-64及びx64用の2種類の実装が存在する。

[編集] その他の実装

Windows APIの仕様はWindows SDKのドキュメントやMSDN ライブラリで公開されているので、Microsoft Windows以外のWindows APIの実装が存在する。

[編集] 批判

Windows APIはWin16を拡張して32ビット、64ビット化されたという歴史がある。そのため度重なる機能の追加により、高度に複雑化しその習得が困難と化しているという問題がある。

[編集] 脚注

  1. ^ Microsoft Developer Network (January 2006). Programming and reusing the browser Retrieved January 22, 2006.
  2. ^ "Cross-Platform Application Development in Windows NT (英語)" 2003-12-01. 2007年7月26日閲覧.
  3. ^ "Microsoft Visual C++ 4.0 Cross-Development Edition for Macintosh (Archived Visual C++ Technical Articles) (英語)" 1995-07. 2007年7月26日閲覧.

[編集] 関連項目

[編集] 参考文献

  • Charles Petzold著 『プログラミングWindows第5版〈上〉』 アスキー、2000年。ISBN 4756136001
  • Charles Petzold著 『プログラミングWindows第5版〈下〉』 アスキー、2000年。ISBN 475613601X
  • Jeffrey Richter著 『Advanced Windows 改訂第4版』 アスキー、2001年。ISBN 4756138055

[編集] 外部リンク


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -