Article List for Windows Kernel Programming Issues

Last reviewed: October 21, 1997
Article 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          : kb16bitonly KrMisc kbprg kbtlc
Version           : 3.10
Platform          : WINDOWS
Issue type        : kbinfo
Solution Type     : Info_Provided


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 21, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.