Unauthorized Windows 95 Update -- WIN32PSP


WIN32PSP.C and WIN32PSP.EXE -- A Win32 program that accesses its own real-mode DOS PSP. Yes, you read right: (yes, all Win32 processes in Win95 must have a DOS Program Segment Prefix, located down in conventional memory!. (This is why running the DOSMEM program can prevent you from running any other Windows programs, until you free up some DOS memory.)
WIN32PSP uses the versatile undocumented VxDCall Win32 API to make DPMI INT 31h calls and DOS INT 21h calls, which normally are not allowed in a Win32 program. The program also shows that PSPs are slightly larger in Win95 than in previous versions of DOS/Windows. Sample output (notice that PSPs in Win95 are 120h (288) bytes, not 100h (256) bytes):

Win32 app's PSP (prot mode): 0C67h
PSP base address: 0003A080h
PSP length: 0120h bytes
JFT @ 3A080018h (20 files)

The O'Reilly Windows Center

Unauthorized Windows 95 Update