 اسم اللہ الرحمن الرحیم آج ہم موڈیول 36 دیسکس کریں گے موڈیول 36 کے اندر ہم فائل اٹریبوٹس کے بارے میں کچھ اور مزید ایپیائیز دیسکس کریں گے پریویسل ہم نے سرطن ایپیائیز دیسکس کین تھی جو کہ فائل کی لسٹنگ کو نوم ریٹ کرنے کے لئے ہوتی ہے فائن پھرسٹ فائل، فائن نکسٹ فائل اب مزید اس کے لعوہ کچھ اور ایپیائیز exist کرتی ہیں جن سے کہ آپ فائل کے بارے میں مزید انفامیشن ان کے اٹریبوٹس وغیرہ گیٹ کر سکتے ہیں لیکن ان ایپیائیز کی ریکواربنٹ ہے کہ آپ نے پہلے فائل کو اپن کیا ہوا آپ کے پاس فائل کا حاندل ہو وہ فائل حاندل use کرتی ہیں اور پھر آپ کو ان فائل کے مختلف اٹریبوٹس جو ہے ان کو ڈرن کرتی ہیں اسی سرطن ایپیائیز جو ہم پہلے use کر سکتے ہیں you can use any day اسی سرطن ایپیائیز جو س 봐요 بھی باتیں رہ traumatic get file time ipi ہے اس کو سب سے پہلے آپ نے file handle سپیسفائی کرنا ہے h file جو ہے وہ file handle ہے اور یہ آپ کو تین طرح کے time جو ہے return کرے گا جو time return ہوگا that will be a pointer to file time structure file time is a structure ہے جس کے اندر کے file کا time آپ save کر سکتے ہیں یہ تین time کون سے ہے ایک time creation time ہے جب وہ file create کی گئی تھی دوسرہ time access time ہے جب وہ last time access ہوئی تھی اور تیسرہ time write time ہے جب وہ last time write ہی تھی access جب ہی ہے وہ read بھی ہو سکتی ہے وہ write بھی ہو سکتی ہے کسی نے بھی اس file کو access کیا that is the access time لیکن write time وہ time ہے جب وہ specifically write ہوئی تھی اور جب آپ اس API کو call کریں گے تو آپ کو یہ تین کسم کی time return کرے گی یہ time جو ہے یہ universal coordinated time ہوتا ہے UTC format ہوتا اور یہ اس کے لیے ایک specifically windows کے اندر ایک structure exist کرتا ہے file time جس کے اندر کیا آپ file کا time store کر سکتے ہیں اس format کے مطابق ایک single value ہوتی ہے اور اس single value کو آپ file time structure store کر سکتے ہیں تو آپ نے یہاں پر تینو جو values pass کرنے ہیں وہ structure کے pointers pass کرنے ہیں اور جب یہ function return کرے گا تو ان تینو کی values جو ہے وہ assign کر دے گا کوئی اگر ایسا آپ کے پاس volume ہے جو کہ اسی پرانے version کا ہے fat based ہے تو ہو سکتے ہے اس کے اندر یہ تینو time آپ کو نہ ملیں صرف ان میں سے کوئی ایک time ہی ملے لیکن جو be latest windows version ہاں اس کے اندر ہار file کے لیے یہ anti FS based version ان کے اندر یہ تینو times available ہوتے ہیں اس کے لہاں اور کی API's ہیں جن کو کہ آپ اسی طرح سے file time کو process کرنے کے لیے use کر سکتے ہیں ان کو ہم زیادہ detail میں ہی Discuss کرے آپ ان API's کو ms dn کے اندر ان کی details دیکھیں یہ API first API ہے file time to system time یہ file کے اندر جس format کے اندر time store ہوتا اس کو آپ کے system time کے اندر convert کرتا ہے system کے اندر جو format ہے hours minutes or seconds کا جو format ہوتا اس format کے اندر convert کرتا ہے system time to file time یہ function اس کا reverse کرے گا یہ function کیا کرے گا کہ جو آپ کو system time hours minutes seconds اگرہا اس کو file time کے format کے اندر convert کرے گا compare file time اگر آپ کے پاس دو files ہیں ان کے times ہیں ان کو اپس میں آپ compared کرنا جاتے ہیں تو compare file time کا function ہے یہ آپ کو minus one return کرے گا if less zero return کرے گا if equal اور plus one return کرے گا if greater اس کی مزیج جو detail ہے وہ of course آپ ms dn میں دیکھیں set file time set file time کا function جو ہے اس کو آپ سپسفائی کریں گے کوئی نیا time اور یہ جو ہے آپ کی file کا time change کر دے گا file time to local time local file time file time to local file time کیا کرے گا آپ کو بتایا جسنا جو file time ہوتا ہے وہ universal coordinator time ہے u tc format ہے اس کو local جو بھی آپ کی local setting ہے جو جس ایریہ کے اندر آپ رہے ہیں اس کے according ڈی اس کو adjust کرے اس کو local file time میں convert کر دے گا اور بالکل اس کا vice verse دوسرہ بھی آپ کے پاس ip مجودہ local file time to file time اور get file type یہ آپ کو return کرے گا کہ جو disk پہ آپ کی file store ہی ہے وہ کس طرح کی file ہے وہ کوئی disk file ہے یا وہ کس طرح کی pipe ہے pipe کو بھی windows as file ڈیٹ کرتا اب یہ ایک اور ip i am یہ ip i am get file attributes اس ip i کو آپ file کا نام یا اس کی directory جو ہے وہ پاس کرتے ہیں اور یہ آپ کو return کرے گا جو بھی file کا attribute ہے file attribute ہو سکتا ہے directory ہو read only ہو normal ہو یہ جو بھی آپ کو value return کرے گا آپ in windows کے اندر defined masks ہے file attribute directory file attribute read only file attribute normal file attribute temporary اس کے ساتھ اس کو masking کر کے دیکھ سکتے ہیں کہ اس کا particular flag set ہے یا نہیں ہے ایک وقت میں کئی flag set ہو سکتے ہیں ہو سکتا file directory بھی ہو اور read only بھی ہو تو اس کے اس میں دو flag set ہوں گے تو ان دونوں mask کے ساتھ اس کو masking کر کے آپ چیک کر سکتے ہیں کہ directory ہے یا نہیں ہے read only ہے یا نہیں ہے تو جو جو attributes آپ نے چیک کرنے آپ اس کا mask دیکھیں جو windows.h کے اندر defined ہوا ہے اس کے لیے آپ MSDN کے مزید help لے سکتے ہیں آپ کو پساری پوری mask لیست پر مل جائے گی یہ صرف few of the masks میں نے show کی ہیں تو ان mask کے ساتھ آپ اس کی masking کر کے اس کو test کر سکتے ہیں کہ اس میں کسی کسے attributes مجود ہیں اور most importantly آپ کو سب سے پہلے جو بھی value return ہوتی ہے اس کو test کرنا پڑے گا with invalid file attributes invalid file attribute کی value ہوتی ہے 0 ff ff ff ff i.e. سارے bits اس کے one ہوتے ہیں اگر invalid value return ہوتی ہے اور پھر آپ masking کرتے ہیں تو masking کا result ہرے کیلئے positive آئے گا وہ ہر کسم کا آپ کو show کرے گا کہ اس کے اندر attribute مجود ہے کیونکہ آپ نے سارے bits جویں وہ one کر دی ہیں تو اس لیے بہت ضروری ہے کہ پہلے آپ یہ چیک کریں کہ کوئی invalid attribute تو نہیں ہے کوئی کسی کسم کا error تو نہیں ہے کروہا جس کی وجہ سے invalid attribute اگر invalid attribute آرہا تو اس کا مطلب ہے کہ ایرر ہے آپ اس file کا attribute چیک نہیں کر سکتے ہیں اپنے program کو چیک کریں اپنے function کو چیک کریں کوئی غلطی کیا آپ نے جو بھی پیات ہے اس کو صحیح کریں تو اس طرح سے آپ یہ چیک کر سکتے ہیں کہ attribute جو رسیب ہوئے وہ valid ہے یا invalid