List of Articles for Win32 Base Programming Issues

Last reviewed: October 21, 1997
Article ID: Q89989
The information in this article applies to:
  • Microsoft Win32 Application Programming Interface (API) included with:

        - Microsoft Windows NT versions 3.1, 3.5, and 3.51
        - Microsoft Windows 95 version 4.0
    

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 Win32 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-3105.

ARTICLE LISTING

ITEM ID  ARTICLE TITLE                                               PAGES
Q 83298  Objects Inherited Through a CreateProcess Call                  1
Q 83670  Correct Use of Try/Finally                                      2
Q 83706  Exporting Callback Functions                                    1
Q 84240  Consoles Do Not Support ANSI Escape Sequences                   1
Q 84244  Processes Maintain Only One Current Directory                   1

Q 89296  How HEAPSIZE/STACKSIZE Commit > Reserve Affects Execution       1
Q 89373  Replacing the Windows NT Task Manager                           1
Q 89750  AllocConsole() Necessary to Get Valid Handles                   1
Q 89817  How to Specify Shared and Nonshared Data in a DLL               1
Q 90083  Windows NT Servers in Locked Closets                            2

Q 90088  CreateFile() Using CONOUT$ or CONIN$                            1
Q 90368  Canceling Overlapped I/O                                        1
Q 90470  Getting Real Handle to Thread/Process Requires Two Calls        1
Q 90493  Determining Whether an Application is Console or GUI            4
Q 90530  Exporting Data from a DLL or an Application                     2

Q 90745  Dynamic Loading of Win32 DLLs                                   2
Q 90749  Implementing a "Kill" Operation in Windows NT                   2
Q 90837  Default Attributes for Console Windows                          1
Q 90910  Win32 Priority Class Mechanism and the START Command            1
Q 91146  PRB: SEH with Abort() in the try Body                           1

Q 91147  PRB: SEH with return in the finally Body Preempts Unwind        2
Q 91149  Using volatile to Prevent Optimization of try/except            1
Q 91150  Icons for Console Applications                                  1
Q 91194  Memory Handle Allocation                                        1
Q 91698  Sharing Win32 Services                                          1

Q 92395  Determining System Version from a Win32-based Application       3
Q 92761  Process Will Not Terminate Unless System Is In User-mode        1
Q 92764  Non-Addressable Range in Address Space                          1
Q 92862  Alternatives to Using GetProcAddress() With LoadLibrary()       1
Q 94239  Secure Erasure Under Windows NT                                 1

Q 94561  WM_COMMNOTIFY is Obsolete for Win32-Based Applications          1
Q 94804  Thread Local Storage Overview                                   2
Q 94839  Precautions When Passing Security Attributes                    1
Q 94840  Physical Memory Limits Number of Processes/Threads              1
Q 94920  Calculating String Length in Registry                           1

Q 94947  PAGE_READONLY May Be Used as Discardable Memory                 1
Q 94950  Clarification of COMMPROP dwMax?xQueue Members                  1
Q 94990  OpenComm() and Related Flags Obsolete Under Win32               1
Q 94993  Global Quota for Registry Data                                  2
Q 94996  VirtualLock() Only Locks Pages into Working Set                 1

Q 94997  Reducing the Count on a Semaphore Object                        1
Q 94998  Trapping Floating-Point Exceptions in a Win32-based App         1
Q 94999  FormatMessage() Converts GetLastError() Codes                   1
Q 95043  FlushViewOfFile() on Remote Files                               1
Q 95900 Interprocess Communication on Windows NT, Windows 95, & Win32s 2

Q 96005  Validating User Accounts (Impersonation)                        2
Q 96209  Chaining Parent PSP Environment Variables                       1
Q 96242  Distinguishing Between Keyboard ENTER and Keypad ENTER          1
Q 96418  Priority Inversion and Windows NT Scheduler                     2
Q 96780  Security and Screen Savers                                      1

Q 97786  Default Stack in Win32-Based Applications                       2
Q 97926  The Use of the SetLastErrorEx() API                             1
Q 98216  Windows NT Virtual Memory Manager Uses FIFO                     1
Q 98575  File Manager Passes Short Filename as Parameter                 1
Q 98722  Getting the Net Time on a Domain                                1

Q 98756  Increased Performance Using FILE_FLAG_SEQUENTIAL_SCAN           1
Q 98840  Noncontinuable Exceptions                                       1
Q 98892  PRB: Unexpected Result of SetFilePointer() with Devices         2
Q 98893  Limit on the Number of Bytes Written Asynchronously             2
Q 98952  Setting File Permissions                                        1

Q 99026  Possible Serial Baud Rates on Various Machines                  1
Q 99114  Using GMEM_DDESHARE in Win32 Programming                        1
Q 99115  Preventing the Console from Disappearing                        1
Q 99173  Types of File I/O Under Win32                                   2
Q 99261  Performing a Clear Screen (CLS) in a Console Application        1

Q 99456  Win32 Equivalents for C Run-Time Functions                      6
Q 99794  FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING              2
Q 99795  PRB: SetConsoleOutputCP() Not Functional                        1
Q 100027 Direct Drive Access Under Win32                                 1
Q 100291 Restriction on Named-Pipe Names                                 1

Q 100329 CPU Quota Limits Not Enforced                                   1
Q 101186 Time Stamps Under the FAT File System                           1
Q 101190 Examining the dwOemId Value                                     1
Q 101193 Interrupting Threads in Critical Sections                       1
Q 101378 Impersonation Provided by ImpersonateNamedPipeClient()          1

Q 102098 Gaining Access to ACLs                                          1
Q 102099 Administrator Access to Files                                   1
Q 102100 Passing Security Information to SetFileSecurity()               1
Q 102101 Extracting the SID from an ACE                                  1
Q 102102 How to Add an Access-Allowed ACE to a File                      5

Q 102103 Computing the Size of a New ACL                                 1
Q 102104 FILE_READ_EA and FILE_WRITE_EA Specific Types                   1
Q 102105 System GENERIC_MAPPING Structures                               1
Q 102128 Why LoadLibraryEx() Returns an HINSTANCE                        1
Q 102352 Passing a Pointer to a Member Function to the Win32 API         2

Q 102429 Detecting Closure of Command Window from a Console App          1
Q 102447 Definition of a Protected Server                                1
Q 102555 How Windows NT Handles Floating-Point Calculations              2
Q 102798 Security Attributes on Named Pipes                              2
Q 103237 Using Temporary File Can Improve Application Performance        1

Q 103858 Copy on Write Page Protection for Windows NT                    2
Q 104136 Mapping .INI File Entries to the Registry                       1
Q 105302 Canceling WaitCommEvent() with SetCommMask()                    1
Q 105304 SetErrorMode() Is Inherited                                     1
Q 105305 Calling CRT Output Routines from a GUI Application              2

Q 105306 Getting and Using a Handle to a Directory                       1
Q 105531 Named Pipe Buffer Size                                          1
Q 105532 The Use of PAGE_WRITECOPY                                       1
Q 105674 Setting the Console Configuration                               1
Q 105675 First and Second Chance Exception Handling                      1

Q 105678 Critical Sections Versus Mutexes                                1
Q 105763 Using NTFS Alternate Data Streams                               2
Q 106383 RegSaveKey() Requires SeBackupPrivilege                         1
Q 106387 Sharing Objects with a Service                                  1
Q 106663 Accessing the Macintosh Resource Fork                           1

Q 107728 Retrieving Counter Data From the Registry                       3
Q 108228 Replace IsTask() with GetExitCodeProcess()                      1
Q 108230 Accessing the Event Logs                                        2
Q 108231 CreateFileMapping() SEC_* Flags                                 2
Q 108448 Use LoadLibrary() on .EXE Files Only for Resources              1

Q 108449 Working Set Size, Nonpaged Pool, and VirtualLock()              3
Q 109619 Sharing All Data in a DLL                                       2
Q 110148 PRB: ERROR_INVALID_PARAMETER from WriteFile() or ReadFile()     1
Q 110853 PRB: Can't Increase Process Priority                            1
Q 111541 New Owner in Take-Ownership Operation                           1

Q 111543 Creating a World SID                                            1
Q 111544 Looking Up the Current User and Domain                          1
Q 111545 Security Context of Child Processes                             1
Q 111546 Taking Ownership of Registry Keys                               1
Q 111559 PRB: GetExitCodeProcess() Always Returns 0 for 16-Bit Processes 1

Q 111837 ERROR_BUS_RESET May Be Benign                                   1
Q 111838 Possible Cause for ERROR_INVALID_FUNCTION                       1
Q 115231 Retrieving Time-Zone Information                                1
Q 115232 Timer Resolution in Windows NT                                  1
Q 115236 Long Filenames on Windows NT FAT Partitions                     2

Q 115522 Limits on Overlapped Pipe Operations                            1
Q 115825 Accessing the Application Desktop from a Service                2
Q 115826 Clarification of SearchPath() Return Value                      1
Q 115827 Filenames Ending with Space or Period Not Supported             1
Q 115828 Getting Floppy Drive Information                                3

Q 115829 How to Gracefully Fail at Service Start                         1
Q 115831 Specifying Serial Ports Larger than COM9                        1
Q 115848 Services and Redirected Drives                                  1
Q 115945 Determining the Maximum Allowed Access for an Object            1
Q 115946 PRB: AccessCheck() Returns ERROR_INVALID_SECURITY_DESCR         1

Q 115947 Adding Categories for Events                                    2
Q 115948 Creating Access Control Lists for Directories                   2
Q 117223 PRB: Byte-Range File Locking Deadlock Condition                 2
Q 117261 PRB: RegCreateKeyEx() Gives Error 161 Under Windows NT 3.5      2
Q 117330 PRB: Error Message Box Returned When DLL Load Fails             2

Q 117892 Memory Requirements for a Win32 App vs. the Win16 Version       1
Q 118605 How to Create Inheritable Win32 Handles in Windows 95           2
Q 118625 Detecting Data on the Communications Port                       1
Q 118626 Determining Whether the User is an Administrator                2
Q 118816 PRB: LoadLibrary() Fails with _declspec(thread)                 1

Q 119163 Getting the Filename Given a Window Handle                      5
Q 119218 PRB: Named Pipe Write() Limited to 64K                          1
Q 119669 Listing Account Privileges                                      2
Q 120556 PRB: Starting a Service Returns "Logon Failure" Error           1
Q 120557 Dealing w/ Lengthy Processing in Service Control Handler        1

Q 120697 Additional Information for WIN32_FIND_DATA                      1
Q 124103 Obtaining a Console Window Handle (HWND)                        2
Q 124207 Detecting x86 Floating Point Coprocessor in Win32               2
Q 124305 Which Windows NT (Server or Workstation) Is Running?            2
Q 125657 Mutex Wait Is FIFO But Can Be Interrupted                       1

Q 125660 How to Set Foreground/Background Responsiveness in Code         1
Q 125661 How to Support Language Independent Strings in Event Logging    2
Q 125677 How to Share Data Between Different Mappings of a DLL           2
Q 125688 How to Port a 16-bit DLL to a Win32 DLL                         5
Q 125689 How to Detect All Program Terminations                          3

Q 125691 Overview of the Windows 95 Virtual Address Space Layout         3
Q 125710 Types of Thunking Available in Win32 Platforms                  3
Q 125712 How To Open Volumes Under Windows 95                            1
Q 125713 Common File Mapping Problems and Platform Differences           4
Q 125714 How to Start an Application at Boot Time Under Windows 95       1

Q 125717 Limitations of Overlapped I/O in Windows 95                     2
Q 125867 Understanding Win16Mutex                                        2
Q 125868 How to Display Debugging Messages in Windows 95                 1
Q 126628 How to Spawn a Console App and Redirect Standard Handles        1
Q 126629 How CREATOR_OWNER and CREATOR_GROUP Affect Security             2

Q 126645 PRB: Access Denied When Opening a Named Pipe from a Service     2
Q 126766 Determining the Network Protocol Used By Named Pipes            1
Q 126767 Improve System Performance by Using Proper Working Set Size     1
Q 126768 How to Design Multithreaded Applications to Avoid Deadlock      2
Q 127860 PRB: CreateProcess() of Windows-Based Application Fails         1

Q 127862 PRB: After CreateService() with UNC Name, Service Start Fails   1
Q 127904 How to Modify Executable Code in Memory                         1
Q 127905 PRB: Messages Sent to Mailslot Are Duplicated                   1
Q 127990 How to Delete Keys from the Windows NT Registry                 1
Q 127991 GetLastError() May Differ Between Windows 95 and Windows NT     1

Q 127992 Thread Handles and Thread IDs                                   1
Q 128126 FileTimeToLocalFileTime() Adjusts for Daylight Saving Time      3
Q 128404 PRB: Corruption of the Perflib Registry Values                  2
Q 128642 How to Change Hard Error Popup Handling in Windows NT           3
Q 128731 How to Back Up the Windows NT Registry                          5

Q 128787 PRB: COMM (TTY) Sample Does Not Work on Windows 95              1
Q 129003 PRB: Description for Event ID Could Not Be Found                1
Q 130331 Copying Compressed Files                                        1
Q 131065 How to Obtain a Handle to Any Process with SeDebugPrivilege     4
Q 131144 How to Assign Privileges to Accounts for API Calls              1

Q 131320 How to Convert a Binary SID to Textual Form                     4
Q 140570 How to Move Files That Are Currently in Use                     2
Q 154093 How to Call 32-bit Code from 16-bit Code in Windows 95          4

End of listing.
Keywords          : BseMisc kblist kbref kbtlc
Version           : 3.1 3.5 3.51 4.0
Platform          : NT WINDOWS
Issue type        : kbref
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.