วันจันทร์ที่ 13 มีนาคม พ.ศ. 2560

Window API

 Window API

วันนี้เราจะพูดถึงเรื่อง Window API หรือ WinAPI (Window Application Programming Interface) ว่ามันคืออะไร

WinAPI คือ ฟังชั่นที่ระบบปฎิบัติการ Window เตรียมไว้ให้เราใช้งาน โดยถูกแบ่งเป็นหลายหมวดหมู่ดังนี้
- User Interface
- Windows Environment (Shell)
- User Input and Messaging
- Data access and storage
- Diagnostics
- Graphics and Multimedia
- Devices
- System Services
- Security and Identity
- Application Installation and Servicing
- System Admin and Management
- Networking and Internet
- Deprecated or legacy APIs

กระจายไปตาม Library ต่างๆ เช่น kernel32.dll, user32.dll เป็นต้น
โดยปกติรูปแบบการเรียก (calling conventions) จะเป็นแบบ stdcall (เราสามารถตรวจสอบเพิ่มเติมได้จาก Document ที่ Microsoft เตรียมไว้ให้เช่น MSDN)
รูปแบบของ Structure ต่างๆที่ใช้กับ WinAPI จะเป็น Structure ในรูปแบบของภาษา C แต่เราก็สามารถเรียก WinAPI จากภาษาใดๆก็ได้ (ดูได้จาก Compiler ของภาษานั้นๆ)

ยกตัวอย่าง




โดยปกติแล้ว Window API จะทำหน้าที่กรอง Parameter ที่ถูกส่งเข้ามา จากนั้นจึงประมวลผลแล้วค่อยส่งค่ากลับไป แต่ในบางครั้งจะถูกส่งต่อไปยัง Kernel ของ Window เพื่อประมวลผล ผ่านทาง Native API
















หมายเหตุ
- รูปทั้งหมด ผมเป็นคนทำเองครับ
- รูปที่ 2 ผมไม่ได้ขีดเส้นผิดนะครับ Native API มีการ Export Function  ทั้ง User land และ Kernel land

ที่มา :
Window API Index (Windows)
Window API (wiki)
Calling Conventions (wiki)
Native API (wiki)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...