ไฟล์ PIF คืออะไร??
ไฟล์ PIF ประกอบด้วยข้อมูลที่ใช้เพื่อพิจารณาว่าโปรแกรมที่ใช้ MS-DOS ควรทำงานอย่างไร นอกจากนี้ยังสามารถใช้เป็นทางลัดของไฟล์สั่งการได้ และโดยทั่วไปจะถูกสร้างขึ้นเมื่อผู้ใช้สร้างทางลัดไปยังโปรแกรม DOS หรือปรับปรุงคุณสมบัติของโปรแกรม Microsoft Windows รู้จักไฟล์ PIF เป็นโปรแกรมสั่งการ และสามารถรันได้เหมือนโปรแกรมอื่นๆ ที่ใช้ DOS ไฟล์ PIF ไม่ได้ใช้กันทั่วไปในซอฟต์แวร์ในปัจจุบันเนื่องจากไม่มีแอปพลิเคชัน DOS
รูปแบบไฟล์ PIF
โดยทั่วไปไฟล์ PIF ประกอบด้วยข้อมูลเพียงบล็อกเดียวที่จัดเก็บพารามิเตอร์ที่จำเป็นในการดำเนินการภายใต้ TopView สำหรับสวิตช์ เช่น ควรปิดหน้าต่างหรือไม่เมื่อโปรแกรมสิ้นสุด ช่องสำหรับชื่อหน้าต่างจะรวมจำนวน RAM และบิตแมปสูงสุดและต่ำสุด นักพัฒนาประสบปัญหาว่ามีสวิตช์เพิ่มเติมที่ใช้ไม่ได้กับ TopView เมื่อระบบได้รับการปรับให้ใช้งานภายใต้ Windows แทนที่จะรวมสวิตช์ใหม่ไว้ที่ท้ายไฟล์ พวกเขาสร้างไฟล์เป็นไฟล์ฐานข้อมูลที่มีรายการจำนวนเท่าใดก็ได้ ด้วยวิธีนี้ ไฟล์ประกอบด้วยพื้นที่ส่วนหัวจำนวนหนึ่งซึ่งอธิบายว่าระบบปฏิบัติการใดควรอ่านส่วนนี้ และส่วนชดเชยไปยังส่วนถัดไป ระบบจะอ่านรายชื่อจนกว่าจะพบรายการที่เหมาะสมที่สุด ดังนั้นทฤษฎีนี้จึงทิ้งปัญหาเรื่องความเข้ากันได้แบบย้อนกลับ ในที่สุดไฟล์ก็ได้รับการจัดเรียงใหม่โดยมีส่วนหัวแรกปรากฏขึ้นหลังจากข้อมูลเริ่มต้น ซึ่งเหลือ 253 ไบต์แรกของไฟล์ในรูปแบบเดียวกับเมื่อก่อน
ตัวอย่าง PIF
นี่คือตัวแทนฐานสิบหกของไฟล์ PIF:
0000000: 0078 494e 5354 414c 4c20 2020 2020 2020 .xINSTALL
0000010: 2020 2020 2020 2020 2020 2020 2020 2020
0000020: 8002 0000 433a 5c74 656d 705c 7465 6d70 ....C:\temp\temp
0000030: 335c 494e 5354 414c 4c2e 4558 4500 0000 3\INSTALL.EXE...
0000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000e0: 0000 0000 0000 0100 ff19 5000 0007 0000 ..........P.....
00000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000100: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000150: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000170: 004d 4943 524f 534f 4654 2050 4946 4558 .MICROSOFT PIFEX
0000180: 0087 0100 0071 0157 494e 444f 5753 2033 .....q.WINDOWS 3
0000190: 3836 2033 2e30 0005 029d 0168 0080 0200 86 3.0.....h....
00001a0: 0064 0032 00ff ff00 00ff ff00 0002 1002 .d.2............
00001b0: 001f 0000 0000 0000 0000 0000 0000 0000 ................
00001c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00001f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000200: 0000 0000 0057 494e 444f 5753 2056 4d4d .....WINDOWS VMM
0000210: 2034 2e30 00ff ff1b 02ac 0100 0000 0000 4.0............
0000220: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000230: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000240: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000250: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000260: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000270: 0000 0050 4946 4d47 522e 444c 4c00 0000 ...PIFMGR.DLL...
0000280: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000290: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00002a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00002b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00002c0: 0000 0000 0002 0000 0000 0000 0000 0000 ................
00002d0: 0032 0001 0000 0000 0000 0000 0000 0001 .2..............
00002e0: 0000 0005 0019 0003 00c8 00e8 0302 000a ................
00002f0: 0001 0000 0000 0000 001c 0000 0000 0000 ................
0000300: 0008 000c 0054 6572 6d69 6e61 6c00 0000 .....Terminal...
0000310: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000320: 0000 0000 004c 7563 6964 6120 436f 6e73 .....Lucida Cons
0000330: 6f6c 6500 0000 0000 0000 0000 0000 0000 ole.............
0000340: 0000 0000 0000 0003 0000 0050 0019 0080 ...........P....
0000350: 022c 018c 0267 0116 0000 0001 00ff ffff .,...g..........
0000360: ffff ffff ffae 0626 013a 098d 0200 0000 .......&.:......
0000370: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000380: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000390: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00003a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00003b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00003c0: 0000 0000 0001 00 .......