3.00 3.10
WINDOWS
kbprg
The information in this article applies to:
- Microsoft Windows Software Development Kit (SDK) for Windows
versions 3.1 and 3.0
SUMMARY
This article provides guidelines for writing applications for the
Microsoft Windows versions 3.x operating system in a manner that will
produce the fewest compatibility problems when the application is run
on future versions of Windows. The discussion focuses on compatibility
issues involving Windows-based applications, Windows display drivers,
and MS-DOS-based applications.
MORE INFORMATION
Guidelines for Windows-Based Application Developers
Keep these general rules in mind when developing applications for
Microsoft Windows:
Guidelines for Display Driver Developers
Keep these points in mind when developing display drivers for Windows:
- The meaning of the WindHand field in EXTPAINTSTRUC may be changed
for enhanced-mode grabbers. WindHand is the HWND of the grabber
child window inside the WINOLDAP window. All grabber painting
should be restricted to this window. Grabbers were not supposed to
use WindHand for anything beyond calling GetClientRect, GetDC, and
so on.
- Grabbers should not use the EPStatusFlags bits other than fFocus,
fVValid, fSelect, and fGrbProb. Some bits that are private to
WINOLDAPP were accidentally included in the DDK header files
although not used in any Microsoft-distributed grabber sample
source.
Guidelines for MS-DOS-based Application Developers
If you develop applications for MS-DOS, keep these rules in mind:
- Make sure your application works properly in a Windows version 3.1
MS-DOS box. Especially, make sure your Setup program functions in a
Windows MS-DOS box. For example, writing over Program Manager group
files or altering WIN.INI or SYSTEM.INI while Windows is running
would be improper things to do. Even though the application is
MS-DOS-based, consider writing a Windows-based Setup program,
especially if your setup process needs to perform operations such
as altering WIN.INI or SYSTEM.INI.
- Do not assume the location of the system file table (SFT) or MS-DOS
buffers. These may be moved into high memory to provide extra
conventional memory. In general, all internal MS-DOS data
structures may be moved into high memory in the future.
- Do not assume sizes of internal MS-DOS data structures. For example,
do not assume that a drive parameter block (DPB) is 21h bytes long
as some applications have. The format of data structures, such as
these that are easy to find and traverse, may change in future
versions of MS-DOS. Use documented Interrupt 21h calls to obtain
information such as this. For example, DPBs can be obtained using
Interrupt 21h functions, 1Fh, and 32h.
|