 بسم اللہ الرحمن الرحیم ہم ورنڈوز ایپی آئیس کی بات کریں ورنڈوز مخلیف کیسam کے ان پٹ اوپر اوپریشنز پرفوم کرنے گلیے سیٹ آف ایپی آئیس پروائیٹ کرتے ہیں کوئی بھی آپ نے ان پٹ اوپریشن پرفوم کرنے گا تو آپ یہ دیکھیں گے کہ اس لیے کیا رسور ساہرسورسرسورس اوپریشنز کنسی آئیس ہیں اور ان اوپریشنز کو آپ انوک کر کے وہ ان پٹ اوپریشنز پرفوم کریں گے اس کے لوہ آپ لوگوں نے C لنگوچ پڑی ہوگی, C++ پڑی ہوگی تو آپ لوگ واقف ہوں گے کہ سرٹن C کے سٹانڈرد فنکشنز بھی اویلے بل ہوتے ہیں انپڈ اوپڈ کے لئے جس طرح فائل اوپن کے لئے, فائل ریٹ کے لئے, فائل رائٹ کے لئے آگا پہ سٹانڈرد انپڈ اوپڈ فنکشنز اویلے بل ہے اور آپ ان کو کال کر کے انپڈ اوپڈ اوپڈ اپریشنز پرفوم کرتے ہیں یہ آپ نے کیا بھی ہوگا اپنے پرگرائمنگ کے کورسز کے اندر تو کیا دفرنز ہے ہمیں کیا use کرنا چاہیے ہمیں windows API use کرنی چاہیے ہیں اگر ہم IO جو ہے وہ سٹانڈرد فنکشنز ہیں ان کی مدد سے پرفوم کر سکتے ہیں تو کیا ہمیں وہی use کرنے چاہیے ہیں تو دونوں چیزوں کے کچھ ادوانٹیج ہیں ہم یہی دسکتے ہیں کہ کب کونسی چیز کو آپ کو استعمال کرنے کی ضرورتا ہے جو c کا کوئی بھی کمپیلر کوئی بھی کمپنی بناتی ہے تو وہ کمپیلر at least جو سٹانڈرد فنکشنز ہیں جس کو کہ ہم an cc کہتے ہیں an cc کے فنکشنز ہیں ان کو ضرور سپورٹ کرتے ہیں اور windows کے اندر بھی low level کے اوپر ان an cc کے انپڈ اوپڈ فنکشنز ہیں ان کو سپورٹ کرنے کے لئے اوپر اندر بہت آن بھی راناد ہیں، جو ان پڈ اوپڈ فنکنز Túph xuہ آن reputation میکن بہت جانک ہے اگر an cc کے пропئرام کا اعدنے ہوتی ہے تو ہم انھوں کو ، an cc تبystemٹی ہوتے ہے use کریں. بالکل اس point کے اندر کافی validity ہے آپ use کر سکتے ہیں جہاں کہیں آپ کو portability کی ضرورت ہے کہ آپ چاہتے ہیں کہ یہ پکرام آپ نے windows کے لئے برایا ہے یہ windows کے اپر اس نے input output operations perform کے اب اسی code کو use کر کے آپ کسی اور platform پر لےکے جانا چاہتے ہیں. non windows platform کے پر لےنا چاہتے ہیں تو وہی code جو آپ کی وہ دوسرے platform پر بھی چلے گی کیونکہ دوسرہ platform بھی اسی طرح سے standard operations کو sport کرتا ہوں گا. تو جہاں کہیں آپ کو portability کی ضرورت ہے وہاں پر standard see functions جو آپ ان کو استعمال کریں اور وہ آپ کے لئے useful رہیں گے آپ کو code جو ہے وہ بار بار ہر platform کے لئے change نہیں کرنی پڑے گی لیکن ان case اگر آپ standard functions use کرتے ہیں تو اس کے certain ہمیں disadvantages بھی نظر آتے ہیں وہ disadvantages اس طرح سے نظر آتے ہیں کہ Windows API ہے وہ آپ کو اور کئی سارے features دیتی ہے جو کہ standard see کی functions آپ کو نہیں دیتے ہیں جس طرح آپ کو بتا ہے کہ Windows وہ ملٹی ٹاسکنگ سسٹم ہے ملٹی ٹھریڈنگ سسٹم ہے ایک وقت میں کئی کسم کے processes run ہوتے ہیں تو آپ کو وہ کافی ساری sport provide کرتی ہے for file sharing کے ایک وقت میں کئی processes file کو شیر کر سکتے ہیں اس کو synchronize کیا جا سکے اس کو lock کیا جا سکے تو یہ ساری support جو ہے یہ آپ کو standard operations کے اندر available نہیں ہے تو اس لئے اگر آپ کو ان چیزوں کی ضرورت ہے آپ کو ایسی environment میں file operations perform کرنے کی ضرورت ہے یا I operations perform کرنے کی ضرورت ہے جان پہ ملٹی ٹاسکنگ ہے ملٹی ٹھریڈنگ ہے کئی processes at a time run کر رہے ہیں کئی processes at a time input output perform کرنا چاہیں گے تب best ہے کہ آپ windows کی API اس کو استعمال کریں کیونکہ وہ اس طرح کی sharing اور synchronization کی support جو ہے وہ آپ کو provide کرتی ہیں تو overall اگر ہم اس کو conclude کریں تو ہمارا یہاں سے یہ ہی conclusion نکلتا ہے کہ اگر آپ کو portability چاہیے آپ کو ایسی code چاہیے جس کو مختلف platforms کے پران کرنا چاہیں گے تب بہتر یہاں ہے کہ آپ standard functions use کریں کیونکہ of course اگر آپ windows کی functions use کریں گے تو windows جن functions کو support کرتی ہے ہو سکتا دوسرہ operating system ان functions کو support نہ کرتو اور اگر آپ کو certain windows کے advanced features استعمال کرنے کی ضرورت ہے جس طرح کے file locking file sharing and synchronization تو وہاں پہ of course میرے standard c function جو ہے وہ اتنا چاہا perform نہیں کر سکتے windows کے اندر built-in support ان ساری چیزوں کی تو وہاں پہ آپ بہتر ہے کہ windows API's کا استعمال کریں