واجهة برمجة تطبيقات ويندوز

واجهة برمجة تطبيقات ويندوز (Windows API) ، أو اختصاراً WinAPI ، هي واجهة برمجة التطبيقات الأساسية التي تتيح لبرنامج الحاسوب الوصول إلى ميزات نظام التشغيل مايكروسوفت ويندوز الذي يعمل عليه البرنامج. عادةً ما تستخدم البرامج مكتبات النظام للوصول إلى هذه الواجهة ، وهي مكتبات مشتركة .

لكل إصدار رئيسي من واجهة برمجة تطبيقات ويندوز اسم مميز يُشير إلى جانب من جوانب التوافق في ذلك الإصدار. على سبيل المثال، Win32 هو الإصدار الرئيسي من واجهة برمجة تطبيقات ويندوز الذي يعمل على أنظمة 32 بت. ويشير اسم "واجهة برمجة تطبيقات ويندوز" بشكل عام إلى جميع إصدارات هذه الميزة في نظام ويندوز.

توفر مايكروسوفت دعمًا للمطورين من خلال مجموعة أدوات تطوير البرامج ، Microsoft Windows SDK ، والتي تتضمن وثائق وأدوات لبناء البرامج استنادًا إلى واجهة برمجة تطبيقات Windows.

خدمات

يسرد هذا القسم الخدمات البارزة التي توفرها واجهة برمجة تطبيقات ويندوز. [ 1 ]

الخدمات الأساسية

تشمل الخدمات الأساسية ميزات مثل نظام الملفات ، والأجهزة ، والعمليات ، والخيوط ، ومعالجة الأخطاء . وتوجد هذه الوظائف فيkernel.exe،krnl286.exeأوkrnl386.exeالملفات على نظام ويندوز 16 بت، وkernel32.dll و KernelBase.dllعلى أنظمة ويندوز 32 بت و 64 بت. توجد هذه الملفات في المجلد\Windows\System32على جميع إصدارات ويندوز. [ 2 ]

الخدمات المتقدمة

تشمل الخدمات المتقدمة ميزات تتجاوز نواة النظام، مثل سجل ويندوز ، وإيقاف/إعادة تشغيل النظام (أو إلغائه)، وبدء/إيقاف/إنشاء خدمة ويندوز ، وإدارة حسابات المستخدمين. توجد هذه الوظائف فيadvapi32.dllوadvapires32.dllعلى نظام ويندوز 32 بت.

واجهة جهاز الرسومات

يوفر مكون واجهة جهاز الرسومات (GDI) ميزات لإخراج محتوى الرسومات إلى الشاشات والطابعات وأجهزة الإخراج الأخرى . وهو موجود فيgdi.exeعلى نظام ويندوز 16 بت، وgdi32.dllعلى نظام ويندوز 32 بت في وضع المستخدم. يتم توفير دعم GDI في وضع النواة من خلال win32k.sysالاتصال المباشر ببرنامج تشغيل الرسومات. [ 3 ] [ 4 ]

واجهة المستخدم

يُوفر مُكوّن واجهة المستخدم ميزات لإنشاء وإدارة نوافذ الشاشة ومعظم عناصر التحكم الأساسية، مثل الأزرار وأشرطة التمرير ، واستقبال مدخلات الماوس ولوحة المفاتيح، ووظائف أخرى مرتبطة بجزء واجهة المستخدم الرسومية (GUI) في نظام التشغيل Windows. توجد هذه الوحدة الوظيفية فيuser.exeعلى نظام ويندوز 16 بت، وuser32.dllعلى نظام ويندوز 32 بت. منذ إصدارات ويندوز إكس بي ، توجد عناصر التحكم الأساسية فيcomctl32.dllبالإضافة إلى عناصر التحكم المشتركة (مكتبة عناصر التحكم المشتركة). [ 5 ]

مكتبة مربعات الحوار الشائعة

توفر مكتبة مربعات الحوار الشائعة مربعات حوار قياسية لفتح الملفات وحفظها، واختيار اللون والخط، وما إلى ذلك. توجد المكتبة في ملف يسمىcommdlg.dllعلى نظام ويندوز 16 بت، وcomdlg32.dllعلى نظام ويندوز 32 بت. يتم تجميعها ضمن فئة واجهة المستخدم في واجهة برمجة التطبيقات. [ 6 ]

مكتبة التحكم المشتركة

توفر مكتبة التحكم المشتركة إمكانية الوصول إلى عناصر تحكم متقدمة لواجهة المستخدم، بما في ذلك عناصر مثل أشرطة الحالة ، وأشرطة التقدم ، وأشرطة الأدوات، وعلامات التبويب . توجد المكتبة في ملف DLL يسمىcommctrl.dllعلى نظام ويندوز 16 بت، وcomctl32.dllعلى نظام ويندوز 32 بت. يتم تجميعها ضمن فئة واجهة المستخدم في واجهة برمجة التطبيقات. [ 7 ]

ويندوز شيل

يُتيح مُكوّن Windows Shell الوصول إلى واجهة نظام التشغيل . ويوجد هذا المُكوّن فيshell.dllعلى نظام ويندوز 16 بت، وshell32.dllعلى نظام ويندوز 32 بت. وظائف Shell Lightweight Utility Functions موجودة فيshlwapi.dllيتم تصنيفها ضمن فئة واجهة المستخدم في واجهة برمجة التطبيقات (API). [ 8 ] [ 9 ]

خدمات الشبكة

توفر خدمات الشبكة إمكانية الوصول إلى مختلف إمكانيات الشبكات في نظام التشغيل. وتشمل مكوناتها الفرعية NetBIOS و Winsock و NetDDE واستدعاء الإجراءات عن بُعد ( RPC) وغيرها الكثير. ويقع هذا المكون فيnetapi32.dllعلى نظام ويندوز 32 بت. [ 10 ]

الويب

يُتيح متصفح الإنترنت إنترنت إكسبلورر (IE) واجهات برمجة التطبيقات (APIs)، وبالتالي يُمكن اعتباره جزءًا من واجهة برمجة تطبيقات ويندوز. وقد تم تضمين IE مع نظام التشغيل منذ ويندوز 95 OSR2، ويُقدم خدمات متعلقة بالويب للتطبيقات منذ ويندوز 98. [ 11 ]

تفاعل البرنامج

واجهة برمجة تطبيقات ويندوز هي واجهة برمجة تطبيقات مبنية على لغة سي . [ 12 ] يمكن استخدام الدوال وهياكل البيانات عبر صيغة سي من خلال تضمين windows.h ، ولكن يمكن استخدام واجهة برمجة التطبيقات عبر أي لغة برمجة يمكنها التفاعل مع هياكل بيانات واجهة برمجة التطبيقات واتفاقيات استدعاء الدوال وردود الاتصال .

تجدر الإشارة إلى أن تنفيذ وظائف واجهة برمجة التطبيقات قد تم تطويره في العديد من اللغات الأخرى غير لغة C. [ أ ]

على الرغم من أن لغة C ليست لغة برمجة كائنية التوجه (OOP)، إلا أن واجهة برمجة تطبيقات Windows (Windows API) تُعتبر كائنية التوجه إلى حد ما نظرًا لاستخدامها للمقابض. وتُبرز تقنيات أخرى من مايكروسوفت وغيرها هذا الجانب الكائني التوجه بشكل أوضح باستخدام لغات برمجة كائنية التوجه مثل C++ - انظر مكتبة فئات مؤسسة مايكروسوفت (MFC)، ومكتبة المكونات المرئية (VCL)، وGDI+ . ومن الجدير بالذكر أن نظام Windows 8 يوفر واجهة برمجة تطبيقات Windows وواجهة برمجة تطبيقات WinRT ، المُنفذة بلغة C++ [ 13 ] والمصممة لتكون كائنية التوجه. [ 13 ]

Windows.pas هي وحدة دلفي تعرض ميزات واجهة برمجة تطبيقات ويندوز - وهي المكافئ الباسكال لـ windows.h . [ 14 ]

تستخدم العديد من تقنيات مايكروسوفت واجهة برمجة تطبيقات ويندوز (Windows API)، كما هو الحال مع معظم البرامج التي تعمل على نظام ويندوز. وبصفتها وسيطًا بين واجهة برمجة تطبيقات ويندوز والتطبيق، توفر التقنيات التالية بعض الوصول إلى هذه الواجهة. يُشار إلى بعض هذه التقنيات بأنها تُغلف واجهة برمجة تطبيقات ويندوز، ولكن هذا الأمر محل نقاش لأنها لا توفر أو تكشف عن جميع إمكانيات واجهة برمجة تطبيقات ويندوز.

على الرغم من أن جميع برامج ويندوز تقريبًا تستخدم واجهة برمجة تطبيقات ويندوز (Windows API)، إلا أن البرامج التي تبدأ مبكرًا في عملية بدء تشغيل ويندوز في سلسلة أنظمة التشغيل ويندوز إن تي (Windows NT) تستخدم واجهة برمجة التطبيقات الأصلية (Native API) بدلاً من ذلك. [ 15 ]

تاريخ

لطالما كشفت واجهة برمجة تطبيقات ويندوز (Windows API) عن جزء كبير من البنية الأساسية لأنظمة ويندوز للمبرمجين. وقد منحهم ذلك ميزة المرونة والتحكم الكبيرين في تطبيقاتهم، ولكنه في الوقت نفسه يُحمّلهم مسؤولية كبيرة في كيفية تعامل التطبيقات مع مختلف العمليات منخفضة المستوى، والتي قد تكون مملة أحيانًا، والمرتبطة بواجهة المستخدم الرسومية .

على سبيل المثال، غالبًا ما يكتب مبرمج لغة C المبتدئ برنامج "مرحباً بالعالم" البسيط كأول مهمة له. الجزء الفعال من البرنامج هو سطر واحد فقط من دالة printf ضمن الدالة الفرعية الرئيسية. كما أن تكلفة الربط بمكتبة الإدخال/الإخراج القياسية لا تتجاوز سطرًا واحدًا.

#include <stdio.h>int main ( void ) { printf ( "Hello, World! \n " ); }

قال تشارلز بيتزولد ، مؤلف العديد من الكتب حول البرمجة لواجهة برمجة تطبيقات ويندوز: "كان برنامج "مرحباً بالعالم" الأصلي في حزمة تطوير البرامج (SDK) لويندوز 1.0 بمثابة فضيحة. فقد بلغ طول ملف HELLO.C حوالي 150 سطراً، بينما احتوى ملف HELLO.RC على حوالي 20 سطراً إضافياً. (...) غالباً ما كان المبرمجون المخضرمون ينتابهم شعور بالرعب أو الضحك عند رؤية برنامج "مرحباً بالعالم" في ويندوز." [ 16 ] يوضح بيتزولد أنه على الرغم من كونه أول برنامج تجريبي لويندوز يتعرف عليه المطورون، إلا أنه كان "مُتقناً" للغاية وأكثر تعقيداً من اللازم. ولأنه سئم من سخرية الناس من طول البرنامج التجريبي، قام في النهاية بتقليصه إلى استدعاء بسيط لـ MessageBox. [ 17 ]

على مر السنين، أُدخلت تغييرات وإضافات عديدة على أنظمة ويندوز، وتطورت واجهة برمجة تطبيقات ويندوز (Windows API) لتعكس ذلك. [ 18 ] كانت واجهة برمجة تطبيقات ويندوز 1.0 تدعم أقل من 450 استدعاءً للدوال ، بينما تدعم الإصدارات الحديثة منها آلاف الاستدعاءات. ومع ذلك، بشكل عام، ظلت الواجهة متسقة إلى حد كبير، وسيظل تطبيق ويندوز 1.0 القديم مألوفًا للمبرمج الذي اعتاد على واجهة برمجة تطبيقات ويندوز الحديثة. [ 19 ]

بذلت مايكروسوفت جهودًا للحفاظ على التوافق مع الإصدارات السابقة . ولتحقيق ذلك، عند تطوير إصدارات جديدة من ويندوز، لجأت مايكروسوفت أحيانًا إلى حلول بديلة [ 20 ] لضمان التوافق مع برامج الطرف الثالث التي كانت تستخدم الإصدار السابق بطريقة غير موثقة أو حتى غير مستحسنة. يقول ريموند تشين ، مطور مايكروسوفت الذي يعمل على واجهة برمجة تطبيقات ويندوز: "يمكنني على الأرجح الكتابة لأشهر كاملة عن المشاكل التي تتسبب بها التطبيقات وما اضطررنا لفعله لإعادة تشغيلها (غالبًا رغماً عنها). ولهذا السبب تحديدًا، أغضب بشدة عندما يتهم الناس مايكروسوفت بتعطيل التطبيقات عمدًا أثناء ترقيات نظام التشغيل. إذا فشل أي تطبيق في العمل على ويندوز 95، كنت أعتبر ذلك فشلاً شخصيًا." [ 21 ]

كان أحد أبرز التغييرات التي طرأت على واجهة برمجة تطبيقات ويندوز (Windows API) هو الانتقال من Win16 (الموجود في ويندوز 3.1 والإصدارات الأقدم) إلى Win32 (الموجود في ويندوز NT وويندوز 95 والإصدارات الأحدث). مع أن Win32 طُرح لأول مرة مع ويندوز NT 3.1 ، وسمح باستخدام مجموعة فرعية منه قبل ويندوز 95، إلا أن نقل التطبيقات إلى Win32 على نطاق واسع لم يبدأ إلا مع ويندوز 95. ولتسهيل هذا الانتقال، استُخدم في ويندوز 95، للمطورين داخل وخارج مايكروسوفت، نظام معقد من دوال الربط البرمجية ( Thunks ) يسمح لبرامج 32 بت باستدعاء برامج 16 بت (لمعظم واجهات برمجة تطبيقات Win16) والعكس صحيح. سمحت دوال الربط البرمجية المسطحة (Flat Thunks) لبرامج 32 بت باستدعاء مكتبات 16 بت، واستُخدم هذا النظام على نطاق واسع داخل مكتبات ويندوز 95 لتجنب نقل نظام التشغيل بأكمله إلى Win32 دفعة واحدة. في نظام التشغيل ويندوز NT، كان النظام 32 بت بالكامل، باستثناء أجزاء مخصصة للتوافق مع تطبيقات 16 بت، ولم تكن متاحة سوى دوال الربط العامة (thunks) للتحويل من Win16 إلى Win32، كما هو الحال في ويندوز 95. وقد تم تزويد حزمة تطوير البرامج (SDK) الخاصة بالمنصة بمترجم قادر على إنتاج الشفرة اللازمة لهذه الدوال. كما تستطيع إصدارات ويندوز 64 بت تشغيل تطبيقات 32 بت عبر WoW64 . يحتوي مجلد SysWOW64 الموجود في مجلد ويندوز على قرص نظام التشغيل على العديد من الأدوات لدعم تطبيقات 32 بت. [ 22 ]

الإصدارات الرئيسية

يحتوي كل إصدار من نظام التشغيل مايكروسوفت ويندوز على إصدار من واجهة برمجة تطبيقات ويندوز، وقد أدخلت كل نسخة جديدة تقريبًا من نظام التشغيل مايكروسوفت ويندوز إضافات وتغييرات على واجهة برمجة تطبيقات ويندوز. [ 23 ]

يشير اسم "واجهة برمجة تطبيقات ويندوز" (Windows API) إلى نفس الإمكانية تقريبًا في جميع إصدارات ويندوز، ولكن هناك اسم آخر لهذه الإمكانية يعتمد على الجوانب المعمارية الرئيسية لإصدار ويندوز الذي يحتويها. عندما كان هناك إصدار واحد فقط، كان يُطلق عليه ببساطة اسم "واجهة برمجة تطبيقات ويندوز". ثم، عند إجراء أول تحديث رئيسي، أطلقت مايكروسوفت عليه اسم "Win32" وأطلقت على الإصدار الأول اسم "Win16". يشير مصطلح "واجهة برمجة تطبيقات ويندوز" إلى كلا الإصدارين وجميع الإصدارات الرئيسية التي طُورت لاحقًا. [ 24 ]

  • Win16 هو اختصار لـ Windows 16-bit . توجد وظائفه بشكل أساسي في ملفات النظام الأساسية: kernel.exe (أو krnl286.exe أو krnl386.exe )، و user.exe، و gdi.exe . على الرغم من أن امتداد الملف هو EXE ، إلا أنه يتم الوصول إليه كملف DLL .
  • تُستخدم Win32 في إصدارات ويندوز ذات 32 بت (NT، 95، والإصدارات الأحدث). تُنفَّذ وظائفها في ملفات DLL الخاصة بالنظام، بما في ذلك kernel32.dll و user32.dll و gdi32.dll . ظهرت Win32 لأول مرة مع ويندوز NT . في ويندوز 95 ، كانت تُعرف في البداية باسم Win32c، حيث يشير الحرف c إلى التوافق أو شيكاغو . تخلت مايكروسوفت لاحقًا عن هذا المصطلح لصالح Win32.
  • Win32s هو امتداد لعائلة أنظمة التشغيل Windows 3.1x من مايكروسوفت ويندوز، حيث قام بتطبيق مجموعة فرعية من واجهة برمجة تطبيقات Win32 لهذه الأنظمة. يشير الحرف "s" إلى "مجموعة فرعية".
  • Win64 هو الإصدار الموجود على منصات 64 بت من بنية ويندوز ( اعتبارًا من عام 2021).( x86-64 و AArch64 ). [ ب ] [ 25 ] [ 26 ] يمكن تجميع كل من إصدارات 32 بت و64 بت من التطبيق من قاعدة بيانات واحدة ، على الرغم من أن بعض وظائف واجهة برمجة التطبيقات القديمة قد تم إيقافها، وتمت إزالة بعض وظائف واجهة برمجة التطبيقات التي تم إيقافها في Win32. جميع مؤشرات الذاكرة هي 64 بت افتراضيًا ( نموذج LLP64 )، لذا فإن نقل التعليمات البرمجية المصدرية المتوافقة مع Win32 يتضمن تحديثًا لحسابات المؤشرات 64 بت . [ 27 ]
  • WinCE هو الإصدار الموجود في نظام التشغيل Windows CE .

تطبيقات أخرى

ReactOS هو نظام تشغيل مجاني ومفتوح المصدر يهدف إلى تطبيق واجهة برمجة تطبيقات Windows.

يُوفر مشروع Wine طبقة توافق لواجهة برمجة تطبيقات Win32 لمنصات شبيهة بنظام Unix ، بين واجهة برمجة تطبيقات نواة Linux والبرامج المكتوبة لواجهة برمجة تطبيقات Windows. ويتجاوز ReactOS ذلك، إذ يهدف إلى تطبيق نظام تشغيل Windows بالكامل، بالتعاون الوثيق مع مشروع Wine لتعزيز إعادة استخدام التعليمات البرمجية والتوافق. أما DosWin32 و HX DOS Extender فهما مشروعان آخران يُحاكيان واجهة برمجة تطبيقات Windows للسماح بتشغيل برامج Windows البسيطة من سطر أوامر DOS . بينما يُعد Odin مشروعًا لمحاكاة Win32 على نظام OS/2 ، ليحل محل محاكاة Win-OS/2 الأصلية التي كانت مبنية على تعليمات برمجية من Microsoft. وتشمل التطبيقات الأخرى الأقل أهمية مكتبتي MEWEL و Zinc اللتين صُممتا لتطبيق مجموعة فرعية من واجهة برمجة تطبيقات Win16 على نظام DOS (انظر قائمة مكتبات واجهة المستخدم الرسومية المستقلة عن النظام الأساسي ).

كان برنامج بيئة مصدر واجهة ويندوز (WISE) برنامج ترخيص من مايكروسوفت يسمح للمطورين بإعادة تجميع وتشغيل تطبيقات ويندوز على منصات يونكس وماكنتوش . واعتمدت حزم تطوير البرامج (SDKs) الخاصة ببرنامج WISE على محاكي لواجهة برمجة تطبيقات ويندوز (Windows API) يمكن تشغيله على تلك المنصات. [ 28 ]

وشملت الجهود المبذولة نحو التوحيد القياسي واجهة ويندوز العامة (PWI) من صن لنظام التشغيل ويندوز 16 (انظر أيضًا: واجهة تطبيقات ويندوز الثنائية من صن ( Wabi ))، وواجهة برمجة تطبيقات ويندوز (APIW) من ويلوز سوفتوير لنظامي التشغيل ويندوز 16 وويندوز 32 (انظر أيضًا: ويلوز توين )، و ECMA-234 ، التي حاولت توحيد ربط واجهة برمجة تطبيقات ويندوز.

دعم المُترجم

لتطوير برامج تستخدم واجهة برمجة تطبيقات ويندوز (Windows API)، يجب أن يكون المُصرّف قادرًا على استخدام مكتبات الارتباط الديناميكي (DLL) الخاصة بمايكروسوفت والمذكورة أعلاه (كائنات COM خارج Win32 وتفترض تخطيطًا محددًا لجدول الدوال الافتراضية). يجب على المُصرّف إما معالجة ملفات الرأس التي تكشف أسماء دوال واجهة برمجة التطبيقات الداخلية، أو توفير هذه الملفات.

بالنسبة للغة C++، أنتجت شركات Zortech (التي أصبحت لاحقًا Symantec ، ثم Digital MarsوWatcom ، و Borland مُجمّعات برمجية تجارية معروفة، استُخدمت بكثرة مع أنظمة التشغيل Windows 16 وWindows 32 وWindows 32. وقد وفّرت بعض هذه المُجمّعات مُوسّعات للذاكرة ، مما سمح بتشغيل برامج Windows 32 على Windows 16 باستخدام مكتبة Win32s DLL القابلة لإعادة التوزيع من Microsoft. ويُرجّح أن مُجمّع Zortech كان من أوائل مُجمّعات C++ المستقرة والقابلة للاستخدام لبرمجة Windows، قبل أن تُصدر Microsoft مُجمّع C++ خاص بها.

بالنسبة لبعض أنواع التطبيقات، يجب أن يكون نظام المُصرّف قادرًا على التعامل مع ملفات لغة وصف الواجهة (IDL). تُعرف هذه المتطلبات الأساسية مجتمعةً (المُصرّفات، والأدوات، والمكتبات، وملفات الرأس) باسم حزمة تطوير البرامج (SDK) لمنصة مايكروسوفت . لفترة من الزمن، كان كلٌ من مايكروسوفت فيجوال ستوديو ونظام التطوير المتكامل من بورلاند بيئتي التطوير المتكاملتين (IDEs) الوحيدتين اللتين توفران هذه الميزة (مع العلم أن حزمة تطوير البرامج (SDK) متاحة للتنزيل مجانًا بشكل منفصل عن مجموعة بيئات التطوير المتكاملة الكاملة، بدءًا من حزمة تطوير البرامج (SDK) لنظام التشغيل ويندوز 7 و.NET Framework 4 ).

اعتبارًا من عام 2016توفر مشاريع MinGW و Cygwin بيئة مماثلة تعتمد على مجموعة مُجمِّعات GNU (GCC)، باستخدام مجموعة ملفات رأسية مستقلة، لتسهيل الربط مع مكتبات DLL الخاصة بنظام Win32. LCC-Win32 هو مُجمِّع لغة C يُشرف عليه جاكوب نافيا، وهو برنامج مجاني للاستخدام غير التجاري. Pelles C هو مُجمِّع لغة C مجاني يُشرف عليه بيلي أورينيوس. Free Pascal هو مُجمِّع Object Pascal مجاني يدعم واجهة برمجة تطبيقات Windows. حزمة MASM32 مشروع ناضج يوفر دعمًا لواجهة برمجة تطبيقات Windows ضمن مُجمِّع Microsoft Macro Assembler (MASM) باستخدام ملفات رأسية ومكتبات مُخصصة أو مُحوَّلة من Platform SDK. يُتيح مُجمِّع FASM المُسطَّح بناء برامج Windows دون استخدام رابط خارجي، حتى عند التشغيل على Linux.

يُعد دعم مُترجمات نظام التشغيل Windows ضروريًا أيضًا لمعالجة الاستثناءات المُهيكلة (SEH). يخدم هذا النظام غرضين: فهو يُوفر بنية أساسية لتنفيذ معالجة الاستثناءات الخاصة بكل لغة ، وهو الوسيلة التي تُعلم بها النواة التطبيقات بالحالات الاستثنائية، مثل الوصول إلى مؤشر غير صالح أو تجاوز سعة المكدس. كانت مُترجمات Microsoft/Borland C++ قادرة على استخدام هذا النظام فور تقديمه في نظامي التشغيل Windows 95 وNT، إلا أن التنفيذ الفعلي كان غير موثق، واضطر مشروع Wine والمُترجمات المجانية إلى هندسته عكسيًا. تعتمد معالجة الاستثناءات المُهيكلة على دفع إطارات معالجة الاستثناءات إلى المكدس، ثم إضافتها إلى قائمة مُرتبطة مُخزنة في مساحة التخزين المحلية للخيط (الحقل الأول من كتلة بيئة الخيط). عند حدوث استثناء، تقوم النواة والمكتبات الأساسية بفك المكدس، وتشغيل المعالجات والمرشحات عند مواجهتها. في النهاية، يتم التعامل مع كل استثناء لم يُعالجه التطبيق بواسطة معالج التوقف الافتراضي، الذي يُظهر مربع حوار الأعطال الشائع في Windows.

لغات أخرى

تعتزم مايكروسوفت تحديث واجهة برمجة تطبيقات ويندوز (Windows API) لتتوافق مع لغة C++ الحديثة من خلال مشروعها win32metadata. [ 29 ] يتوفر حاليًا C++/WinRT ومكتبة تنفيذ ويندوز (WIL) لهذا الغرض في لغة C++ الحديثة. كما طورت مايكروسوفت روابط برمجية للغات أخرى، بما في ذلك C# و Rust، لاستدعاء واجهة برمجة تطبيقات Win32. [ 30 ]

انظر أيضاً

ملحوظات

  1. استُخدمتكل من لغة باسكال ولغة التجميع x86 بكثرة في الإصدارات السابقة، قبل أن تصبح لغة C هي السائدة. ومن دلائل ذلك أن دوال واجهة برمجة التطبيقات (API) لا تزال تستخدم اصطلاح استدعاء باسكال لاستعادة المكدس من المعاملات المدفوعة بعد الاستدعاء (على الرغم من أنها تتوقع دفع المعاملات من اليمين إلى اليسار، كما تفعل معظم مترجمات لغة C افتراضيًا).
  2. تتضمن تسمية الإصدارات 64 بت التي تم إصدارها Windows XP Professional x64 Edition و x64 Editions من Windows Server 2003 و Windows Vista و Windows Server 2008 على منصة x86-64 (AMD64)، و Windows 2000 Server Limited Edition و Windows XP 64-bit Edition و Windows Advanced Server 2003 for Itanium و Windows 2008 Advanced Server for Itanium على منصة IA-64 .

مراجع

  1. "مؤشر واجهة برمجة تطبيقات ويندوز" . 15 مارس 2023.
  2. شبكة مطوري مايكروسوفت (يوليو 2005). الخدمات الأساسية. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  3. شبكة مطوري مايكروسوفت (يوليو 2005). واجهة جهاز الرسومات. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  4. "G" . شبكة مطوري مايكروسوفت . تم الاطلاع عليه في 28 يناير 2009 .
  5. شبكة مطوري مايكروسوفت (يوليو 2005). واجهة المستخدم. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  6. شبكة مطوري مايكروسوفت (2005). مكتبة مربعات الحوار الشائعة. تم الاطلاع عليها بتاريخ 22 سبتمبر 2005.
  7. شبكة مطوري مايكروسوفت (يوليو 2005). مكتبة التحكم المشتركة. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  8. شبكة مطوري مايكروسوفت (يوليو 2005). واجهة ويندوز. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  9. شبكة مطوري مايكروسوفت (2005). دليل مبرمج شل. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  10. شبكة مطوري مايكروسوفت (يوليو 2005). خدمات الشبكة. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  11. شبكة مطوري مايكروسوفت (يناير 2006)؛ برمجة المتصفح وإعادة استخدامه. تم الاطلاع عليه في 22 يناير 2006.
  12. "دليل إرشادي: إنشاء تطبيق سطح مكتب ويندوز تقليدي (C++)" . وثائق مايكروسوفت . 23 فبراير 2022.
  13. 1 2 مايبيري، مايكل (2012). كشف النقاب عن WinRT . مدينة نيويورك: Apress. ص 3. ISBN  978-1-4302-4585-8.
  14. ^ تكسييرا وستيف وكزافييه باتشيكو (2002). دليل مطور بورلاند دلفي 6 . سامز. ص. 253. ردمك  0672321157.
  15. روسينوفيتش، مارك (نوفمبر 2006). "داخل التطبيقات الأصلية" . مستندات مايكروسوفت . تم الاسترجاع في 12 أبريل 2022 .
  16. تشارلز بيتزولد (ديسمبر 2001). برمجة مايكروسوفت ويندوز باستخدام لغة سي شارب . مطبعة مايكروسوفت. ما وراء وحدة التحكم، صفحة 47.
  17. بيتزولد، تشارلز. "برنامج ويندوز الشهير "مرحباً بالعالم"" . www.charlespetzold.com . تم الاطلاع عليه في 30 يونيو 2024 .
  18. تحليل مفصل للتغييرات في واجهة برمجة تطبيقات ويندوز من XP إلى 10. تم الاطلاع عليه في 8 سبتمبر 2016.
  19. تشارلز بيتزولد (11 نوفمبر 1998). برمجة ويندوز، الطبعة الخامسة . مطبعة مايكروسوفت. واجهات برمجة التطبيقات ونماذج الذاكرة، صفحة 9.
  20. سميث، غراهام (8 أكتوبر 2022). "كان لدى ويندوز 95 رمز خاص لإصلاح خطأ في لعبة سيم سيتي الأصلية" . روك، بيبر، شوتجن .
  21. ريموند تشين (15 أكتوبر 2003). ماذا عن BOZOSLIVEHERE وTABTHETEXTOUTFORWIMPS؟ تم الاطلاع عليه في 29 يونيو 2022.
  22. هوفمان، كريس (16 فبراير 2018). "ما الفرق بين مجلدي "System32" و"SysWOW64" في نظام ويندوز؟" . موقع How-To Geek . تاريخ الاسترجاع: 11 أبريل 2023 .
  23. مشروع إيسيران (1996-2001). تاريخ واجهة برمجة تطبيقات ويندوز. تم الاطلاع عليه في 7 أكتوبر 2005.
  24. شبكة مطوري مايكروسوفت (يوليو 2005). نظرة عامة على واجهة برمجة تطبيقات ويندوز. تم الاطلاع عليه بتاريخ 28 أغسطس 2005.
  25. "الصفحة الرئيسية لنظام التشغيل Windows XP Professional x64 Edition" . مايكروسوفت. مؤرشف من الأصل في 11 يناير 2006.
  26. "نظرة عامة على الحوسبة 64 بت من مايكروسوفت" . مايكروسوفت. مؤرشف من الأصل في 12 يناير 2009.
  27. "MSDN: الاستعداد لنظام ويندوز 64 بت" . مايكروسوفت. 19 أغسطس 2020.
  28. WISE مؤرشف بتاريخ 30 مارس 2008 في Wayback Machine
  29. "جعل واجهات برمجة تطبيقات Win32 أكثر سهولة في الوصول إليها من قبل المزيد من اللغات" . blogs.windows.com. 21 يناير 2021.
  30. "win32metadata" . تم الاطلاع عليه في 4 سبتمبر 2025 .