List of Articles for Win32 Base Programming Issues

ID: Q89989

The information in this article applies to:

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:

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          : kblist kbnokeyword kbKernBase kbGrpKernBase 
Version           : 3.1 3.5 3.51 4.0
Platform          : NT WINDOWS

Last Reviewed: October 23, 1997