HOME

TheInfoList



OR:

A program information file (PIF) defines how a given DOS program should be run in a multi-tasking environment, especially in order to avoid giving it unnecessary resources which could remain available to other programs. TopView was the originator of PIFs; they were then inherited and extended by DESQview and
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
, where they are most often seen. PIFs are seldom used today in software due to the absence of DOS applications.


Basic overview

The PIF file originally contained only one block of data storing the parameters needed to run under TopView. These included fields like an ASCII string for the window title, the maximum and minimum amount of RAM needed, and bitmaps for switches like whether or not the window should be closed when the program exits. When the system was adapted for use under Windows, the developers faced the problem that there were additional switches that did not apply to TopView. Instead of simply adding the new switches to the end of the file, they instead re-imagined the file as a database file containing any number of entries. In theory the file consisted of a number of header areas describing what operating system should read the section, and an offset to the next section. Systems would read down the list until they found the most appropriate one. However, this left a problem with backward compatibility. If the file started with a header, even if it was for the original switches, TopView and DESQview would not be able to read it properly. The file was thus re-arranged with the first header appearing ''after'' the initial data, which left the first 253 bytes of the file in the same format as before.


Notes

* Creating a program information file for a DOS-based program creates a shortcut to the program executable. All the settings saved in the PIF are contained in the shortcut. * Although a file in PIF format does not contain any executable code (it lacks executable files' magic number "MZ"), Microsoft Windows handles all files with (pseudo-)executables' extensions in the same manner: all .COMs, .EXEs, and .PIFs are analyzed by the ShellExecute function and will run accordingly to their content and not extension, meaning a file with the PIF extension can be used to transmit
computer virus A computer virus is a type of computer program that, when executed, replicates itself by modifying other computer programs and inserting its own code. If this replication succeeds, the affected areas are then said to be "infected" with a compu ...
es. * The concept of program information files was also used under Digital Research operating systems such as
Concurrent DOS Multiuser DOS is a Real-time operating system, real-time multi-user multi-tasking operating system for IBM Personal Computer, IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 ...
, Multiuser DOS, System Manager and REAL/32. Using the PIFED command, the necessary program information got directly embedded into the .EXE or .COM executable file.Digital Research. ''Concurrent DOS 386 – Multiuser/Multitasking Operating System – Reference Manual''. 1987

.


See also

* Compatibility mode


References


The PIF format in various Windows versions


External links


Windows 98 Sample Program Information (.pif) Files
n Microsoft Support {{Webarchive, url=https://web.archive.org/web/20190801062322/https://support.microsoft.com/en-us/help/188157/windows-98-sample-program-information-pif-files , date=2019-08-01
Dobb's Undocumented Corner – The PIF File Format, or, TopView (sort of) Lives!
Windows architecture Executable file formats