Microsoft KB Archive/108186

= Article List for Windows Kernel Programming Issues =

ID: Q108186

The information in this article applies to:


 * FastTips for the Microsoft Windows Software Development Kit (SDK) version 3.1

INSTRUCTIONS
Microsoft FastTips is available 24 hours a day, 7 days a week, from a touch- tone telephone. To order items from this catalog, first select the items you want to receive, noting the five- to six-digit number of the Item ID shown below for each item, and then:

- Dial the toll-free FastTips number (800) 936-4300. - When prompted, select the Windows Software Development Kit. - Press one (1) on your phone keypad to select Express Order Service. - When prompted, select the delivery method, fax. - When prompted, enter your three-digit area code and seven-digit fax

number on your phone keypad. - When prompted, enter the number of the Item ID and press #, for up

to five items. When finished, simply hang up. If you have problems receiving a fax, please call (425) 635-3199.

ARTICLE LISTING
ITEM ID ARTICLE TITLE                                               PAGES Q 10220 Locking Discardable Objects                                     1 Q 10641 Heap and Stack Usage Within Windows                             1 Q 11248 Windows: Nonpreemptive vs. Preemptive Scheduling                1 Q 11467 Reference Counts for Windows Dynamic Libraries                  1 Q 11509 Definition of Different Types of Libraries in Windows           1

Q 11591 The Purpose of WINSTUB in Windows SDK                           1 Q 11623 How to Transparently Intercept Procedure Calls in Windows       2 Q 11941 How to Get a Pointer to the Stack                               1 Q 11979 How Windows Resolves Far Calls When Movable Flag Is Used        1 Q 11988 Windows File I/O vs. C Run-time File I/O                        2

Q 12244 Fatal Error Messages 0x0140 and 0x0240                          1 Q 21581 Shrinking Heap Space                                            1 Q 22374 How a DLL Can Display a Message Using MessageBox              1 Q 22384 Windows Does Not Implement INT 15H to Handle Multitasking       1 Q 22523 Windows Does Not Support Real-Time Programming                  1

Q 30296 When Can a Call to GlobalLock Fail? 1 Q 32680 ValidateFreeSpaces, GlobalCompact, and Wild Pointers        2 Q 41451 PRB: Windows FatalExit 0x0280 Error Caused by FAR WinMain       1 Q 43041 Calculating Memory Requirements for MS-DOS-Based Apps           2 Q 43276 Applications and the Math Coprocessor Under Windows             1

Q 43397 Using OpenFile with Sharing and Inheritance Bits              1 Q 45704 Using GlobalFlags to Test for GMEM_DISCARDABLE                1 Q 45877 How Windows Updates the LRU (Least Recently Used) List          1 Q 46524 PRB: File Handles Cannot Be Shared Between Programs or DLLs     1 Q 47125 Demand Paging MS-DOS-Based Applications                         2

Q 49838 PRB: GlobalUnlock Can Cause Fatal Exit 0x02F0                 1 Q 50741 Failure to Load Resources When All File Handles Are Used        1 Q 51503 Requested Contents for Windows Problem Reports                  2 Q 57954 EMS Support in Windows Versions 3.0 and 3.1                     3 Q 58412 Do Not Use the MS-DOS APPEND Utility in Windows                 1

Q 61285 Global Lock Count Changes in Windows 3.x                        2 Q 61777 Why GlobalAlloc Returns a Handle to a 0-Byte Segment          1 Q 62065 DPMI Specification Available from Intel                         1 Q 64126 Overview of How to Share Memory Between Applications            2 Q 65128 Windows Int 21h and NetBIOS Support for DPMI                    4

Q 66462 C Run-time Functions Can Use Far Pointers in Medium Model       2 Q 66945 PRB: Fatal Exit Code 0x0019 Definition and Causes               1 Q 67673 How to Determine When Another Application Has Finished          3 Q 67675 Access to the Windows Clipboard by MS-DOS-Based App             3 Q 67725 File Manager's Mechanism for Sensing File System Changes        1

Q 68081 Creating a Single Import Library for Multiple DLLs              2 Q 68552 PRB: Cannot Exit Windows with DLL-Instanced Windows Open        1 Q 68565 Creating Dynamic-Linked Libraries Without Data Segments         2 Q 68624 Profiling Time Between OutputDebugString and FatalExit          2 Q 68827 Updating Cached Private Profiles (.INI Files)                   2

Q 69027 Handling Critical Errors in Windows-Based Application           1 Q 69756 Avoid Low-Level Operations in Windows Programs: Use DLLs        1 Q 69895 PRB: Activating Full-Screen DOS App from Icon in Enhanced Mode 1

Q 69897 Using Variable Argument Lists in DLL Functions                  2 Q 71148 PRB: GetModuleHandle and Long Path Causes UAE                 1

Q 71760 Drive and Directory Manipulation in Windows                     1 Q 72236 Maximizing the Use of Available Memory in Windows               2 Q 72385 Retrieving the Filename of an Application or DLL                1 Q 72459 Shorthand Notation for Memory Allocation Flags                  1 Q 72744 Determining That SHARE Is Loaded Under Microsoft Windows        1

Q 73666 WINMEM32 Not Version Dependent                                  1 Q 73668 MS-DOS-Based Application Characteristics Under Windows          1 Q 73677 Allocation Limit on WINMEM32 Global32Alloc Function           1 Q 73679 Appropriate Uses of WINMEM32                                    1 Q 74040 Ownership of Global Memory Allocated by a DLL                   1

Q 74197 Minimizing Lock and Unlock Calls in Protected Mode              1 Q 74288 Some Windows Functions Cannot Be Called from LibMain            1 Q 74360 Three Methods to Import Functions from a DLL                    1 Q 74363 PRB: Fatal Exit 0x00FF or 0xD000: MakeProcInstance Fails        1 Q 74412 Steady Timer Messages in a Dynamic-Link Library (DLL)           2

Q 74445 Opening Files, Compatibility Mode and Windows                   1 Q 74696 Using Memory Below 1 Megabyte                                   2 Q 74809 Using a TSR to Share XMS Memory Between Virtual Machines        1 Q 74887 How to Start a Windows-Based App Directly from MS-DOS           1 Q 74890 Sharing Windows-Based Applications Across Networks              1

Q 74940 Keeping MS-DOS-Based App Active Under Windows 3.1               2 Q 74941 Determining Free Memory in Windows Enhanced Mode                2 Q 75257 Passing File Handles from TSR to Windows-Based App              2 Q 75338 Determining Windows Version, Mode from MS-DOS App               2 Q 75359 PRB: One Cause of Fatal Exit 0x0140 "Local Heap Is Busy"        1

Q 75682 Techniques to Find Extended Memory in a Windows DLL             2 Q 75737 PRB: One Cause of Fatal Exit 0x001A                             1 Q 76247 Using TOOLHELP to Determine Free System Resources               1 Q 76280 Determining Which COM Ports Are Present in Enhanced Mode        2

Q 76390 Full-Screen MS-DOS Apps Slow Timer Msgs in Enhanced Mode        2 Q 76452 PRB: Global TSR Pop-ups Incompatible with Windows               1 Q 76476 General Information Regarding Dynamic-Link Libraries            3 Q 76581 PRB: LoadLibrary Returns Error 6                              1 Q 76582 PRB: Reset A20 Bit Set During DPMI Simulate Interrupt Crash     1

Q 76676 Differences Between Task Handles and Instance Handles           1 Q 76682 Properly Using Dynamic-Link Libraries                           1 Q 77226 Memory Access Methods for Protected Mode Applications           2 Q 77365 Considerations for Programming DATA NONE DLLs                   2 Q 77473 Rules for Using Far Pointers to Memory Objects                  2

Q 77986 Using _export Keyword or DEF File EXPORTS Statement             2 Q 78326 Real Mode Not Supported by Windows 3.1                          2 Q 78542 Retrieving MS-DOS Environment Vars from a Windows DLL           2 Q 79194 Using Huge Pointers with Blocks of Memory Larger Than 64K       1 Q 80124 Retrieving the Names of Simultaneous Tasks Under Windows        2

Q 80783 Determining the Version of MS-DOS from a Windows App            3 Q 81496 Modules, Instances, and Tasks                                   5 Q 81546 PRB: Segment Was Discardable Under 3.0 Notification             1 Q 81577 Limits on the Number of Open Files                              1 Q 81813 Hooking Interrupt 21h Before Windows                            1

Q 82298 Windows 3.1 Standard Mode and the VCPI                          2 Q 83008 XMS Calls Under Windows 3.1                                     1 Q 83301 Retrieving Application Exit Code in MS-DOS Window               1 Q 83455 PRB: XMS Version Information in MS-DOS Window Incorrect         1 Q 84778 Memory Use Limitations in Microsoft Windows                     2

Q 86081 PRB: DLL Function Returns Float or Double Value Incorrectly     2 Q 86230 PRB: Avoiding "Insufficient Memory to Run" Errors               2 Q 86263 Redirecting Debugging Information Under Windows 3.0, 3.1        3 Q 86648 No MS-DOS Extended Error Info for Windows File Functions        1 Q 86723 PRB: Creating File with Exclusive Access Allows Concurrent Use 1

Q 88278 Creating Import Libraries with the __export Modifier            2 Q 89331 Stack Traces Under Windows 3.1 SDK Debugging Kernel             3 Q 89560 Creating Dynamic Code Segments Using PrestoChangoSelector       2 Q 89568 Additional Documentation for GetDOSEnvironment                1 Q 90294 Using Large Memory Model, Microsoft C/C++, & Windows 3.1        2

Q 90562 Using OpenDriver to Communicate Data to Installable Drv       1 Q 92528 Terminating Windows-Based Application from Another App          3 Q 92942 GlobalReAlloc and GMEM_ZEROINIT Clarified                     2 Q 93343 Calling Int86?, Intdos?, and DOS3Call from Windows            2 Q 93470 Virtual DMA Services (VDS) Application Note Available           1

Q 95545 Using GlobalDosAlloc and GlobalDosFree                      3 Q 96422 Detecting Idle Time in Windows                                  1 Q 97758 Registering a Class in a DLL                                    2 Q 99335 PRB: Error in the THSAMPLE Sample Application                   1 Q 99671 Chaining NotifyRegister Callbacks Issuing Notifications         2

Q 99861 PRB: Using SetCommState to Toggle DTR/RTS for Flow Control    1 Q 101417 Accessing the Modem Status Register (MSR) in Windows           2 Q 101419 The DCB Structure in Windows 3.1                               5 Q 101421 Sharing Files with Windows for Workgroups Clients              2 Q 102640 The "Segment Load Failure" Error Message                       1

Q 102644 WEP and Link Error L2023 Export Imported                       1 Q 102871 Callback Functions in Multiple Instance Applications           1 Q 102958 PRB: Passing Modified Environments to Child Processes          2 Q 103637 Use EV_RINGTE for Modem Ring Detection                         1 Q 103950 SetSelectorLimit Crossing 1 Megabyte Boundary                2

Q 104498 How OF_SHARE Modes Affect Opening Files                        1 Q 104790 Using Int 21h Get/Set Media ID in the Windows Environment      3 Q 105137 Explanation of Exporting Functions in Windows                  2 Q 105207 PRB: KRNL386: Unable to Enter Protected Mode                   1 Q 105274 Solving the "Insufficient Memory to Run" Situation             1

Q 105922 How to Determine Drive Types in Windows                        4 Q 107172 Determining the Stack Size of an Application                   2 Q 107174 PRB: Not Enough Space for Environment                          2 Q 107691 Using DebugOutput to Debug a Windows-Based Application         2 Q 107692 "Backward Compatibility Hack Enabled" Warning                  1

Q 107694 PRB: Share Buffer Exceeded                                     1 Q 108314 Using More Than Four Communications Ports in Windows           2 Q 108928 Setting Baud Rates in Windows 3.1                              2 Q 111610 Suppressing "Cannot Find MYDLL.DLL" Error Box                  2 Q 112388 GETBASEIRQ EscapeCommFunction                                1

Q 112638 WEPs, Windows, and Microsoft Visual C/C++ Compilers            4 Q 114473 Intel Privileged and Sensitive Instructions                    2 Q 117743 How to Move Data Between Large Overlapping Buffers             2 Q 119206 Using WM_COMMNOTIFY in an MFC Application                      1 Q 119506 Transmitting a BREAK Signal                                    2

Q 119853 PC Hangs While Running a Communications Application            2 Q 131371 Determining System Version from a Windows-Based Application    2 Q 131426 How to Access Physical Memory in 16-bit Windows-Based Apps     6 End of listing.

Keywords         : kbprg kb16bitonly KrMisc Version          : 3.10 Platform         : WINDOWS Issue type       : kbinfo Last Reviewed: October 23, 1997