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)