 بسم اللہ الرحمن الرحيم آج ہم موڈیول 32 دسکس کریں گے. موڈیول 32 ہے سپیسفائنگ فائل پوائنٹر پوزیشن using overlap structure overlap structure ایک structure ہے جوکہ windows.h کے اندر دفائند ہے یہ structure آپ کی read file اور write file کی API کے ساتھ use ہو سکتا all though اس کا نام overlapped ہے اس کو آپ جب multi-tasking where ہے study کریں گے تو اس کے اندر بھی use کریں گے لیکن ضروری نہیں کہ جب بھی آپ overlapped input-output operation perform کرے ہیں تو بھی اس کا استعمال کریں یہاں پہ ابھی ہم overlapped کو use کریں گے just file pointer کی position کو set کرنے کے لیے file pointer position کو اگر change کرنا جاتے جب آپ overlapped structure کا use کریں گے تو read file اور write file کی whether سےی set file pointer کی position change ہو سکتی آپ کو set file pointer یا set file pointer ex جو ہے وہ call کرنے کی ضرورت نہیں ہے اور اگر آپ file کے اندر append کرنا چاہتے ہیں تو آپ low اور high جو bytes ہوتے ہیں جس کے اندر کے آپ file کا offset specify کرتے ہیں وہاں میں minus one place کر سکتے ہیں یا پھر 0x 32 bits کے اندر thenینکے 8 f بنیں گے 0x 8f یہ exile decimal value minus one کے لیے ہو گی تو high اورanka own방گ n أنا vinous one ownگ جو offset considerations وہ till minus one کے براہ 말고 اور mechanical اطblock آپائل کے � rhoanon بہت پہ جا پہ کچھ pouch & this you can do something about it joint petty is now good تو آنے دیکھتے ہیں ہم overlapped structure کی کیا definition ہے اور اس کو کس طریقے سے use کریں گے. یہاں پہ آپ کو overlapped structure کی definition نظر آ رہی ہے اس کے اندر دو field ہیں internal اور internal high یہ reserved ہے ان کو آپ نے use نہیں کرنا اس کے آپ کو ضرورت نہیں پڑے گی. آگے ایک union ہے اس union کے اندر ایک structure defined ہے اور ایک pointed defined ہے. جو structure ہے اس کے اندر دو field ہیں offset اور offset high اور اس کے اندر پانچ می field ہے its overlapped structure کے اندر وہ event ہے age event ہے. age event کو ابھی ہم use نہیں کریں گے جب overlapped output ہوگی تب اس کا استعمال ہوگا آپ ابھی فلحال اس کو nul رکھ سکتے ہیں یہ ہمارے overlapped structure کی definition ہوگی اب اس کو آپ استعمال کس طرح سے کریں گے for example file position dot quad part is equals to x یعنی کہ file position آپ کے پاس ایک large integer variable ہے اور اس کا quad part جو ہے اس کے اندر آپ نے x place کر دیے x is the number of bytes جو کہ آپ move کرنا چاہتے ہیں overlapped structure کو کیسے آپ use کریں گے large integer کی جگہ overlapped کو کیسے use کریں گے overlapped کے اندر offset کی field ہے اس کے اندر آپ file position کا low part place کرنے اور overlapped کے اندر off set high ہے اس کے اندر آپ file position کا high part place کرنے اور ایسا کرنے کے بعد آپ read file کو جب call کریں گے اور اس کے اندر last field کے اندر آپ overlapped structure place کریں گے باقی سب کچھ وہی ہے آپ نے file hender specify کیا بفر کا نام specify کیا size of buffer specify کیا اور کتنے bytes actually read ہیں یہ آپ کو return ہوگا اور ساتھ آپ نے overlapped کا structure pass کیا اس structure کی اندر یہاں پہ آپ نے specify کر دیا تھا کتنے bytes آپ move کرنا جاتے ہیں تو اس overlapped کے structure سے پہلے یہ information get کرے گا یہ والا function اور اس file position پہ جائے گا اس file position پہ جانے کے بعد read کرے گا اور جو ڈیٹا ہے وہ buffer کی اندر لے کرائے گا similarly right file بھی اسی طریقے سے work کرے گا اگر right file سے آپ right کرے ہیں تو overlapped سے وہ position لے گا جو بھی position آپ نے specify کیا اس position کے اوپر pointer کو لے کے جائے گا overlapped سے آپ کیا file ہے اس file کی اندر آپ نے جو بھی position specify کیا اس position کے اوپر وہ جائے گا اور وہاں پہ جاکے اپنے bytes رائٹ کر دے گا کتنے bytes actually right کر پائے گا وہ n right کے اندر آپ کو return ہو جائے گا