Static Wikipedia February 2008 (no images)

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

Web Analytics
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と呼ぶ。

Win32 APIは、Windows Vista以降でWinFX(.NET Framework 3.0)にネイティブAPIの立場を譲る予定であったが、途中で変更されWindows Vistaでは従来通りWin32 APIがネイティブ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をラップした部分が存在する。

[編集] 実装

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

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

  • Win16 (広義)
    • Win16 (狭義)
    • WOW (Win16 on Win32)
      Windows NTによるWin16サブシステムによる実装
  • Win32 (広義)
    • Win32 (狭義)
      Windows NT/2000/XP (NT系)の実装。
    • Win32c
      Windows 95/98/Me (9x系)の実装。'c'は「compatibility」(互換)の頭文字である。
    • Win32s
      Windows 3.1の実装。これを後からインストールするとWindows 3.1でWin32アプリケーションを実行することができる。's'は「subset」(サブセット)の頭文字である。
    • Win32 for Windows CE
      Windows CEの実装。文字コードUnicodeのみを使用するなどの点が特徴的である。
    • WOW64 (Windows on Windows 64)
      NT系Windowsのうち、64-bit Edition (IA-64)及びx64 Edition (AMD64/Intel 64)でWin32をエミュレーションするサブシステムによる実装。
  • Win64

[編集] その他の実装

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.

[編集] 関連項目

[編集] 参考文献

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

[編集] 外部リンク

Static Wikipedia 2008 (no images)

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 -

Static Wikipedia 2007 (no images)

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 -

Static Wikipedia 2006 (no images)

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 - 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