文件名称:windows核心编程(第五版)英文版.chm
文件大小:3.82MB
文件格式:CHM
更新时间:2011-12-24 03:25:49
windows核心编程
List of Figures Chapter 1: Error Handling Figure 1-1: Using $err,hr in Visual Studio's Watch window to view the current thread's last error code Chapter 2: Working with Characters and Strings Figure 2-1: Assertion dialog box displayed when an error occurs Figure 2-2: Variable state before the _tcscpy_s call Figure 2-3: Variable state after the _tcscpy_s call Figure 2-4: Content of szBuffer memory after a failed call Figure 2-5: The Windows Vista Notepad File Save As dialog box Chapter 3: Kernel Objects Figure 3-1: Selecting the Handles column in the Select Process Page Columns dialog box Figure 3-2: Counting handles in Windows Task Manager Figure 3-3: Selecting details for the Handle view in Process Explorer Figure 3-4: Detecting new kernel objects in Process Explorer Figure 3-5: First instance of Singleton running Figure 3-6: Second instance of Singleton when started while the first one is still running Chapter 4: Processes Figure 4-1: The operating system offers quantums to individual threads in a round-robin fashion on a single-CPU machine Figure 4-2: Selecting a CUI subsystem for a project in the properties dialog box Figure 4-3: The property page for a shortcut that runs Notepad Figure 4-4: ProcessInfo in action Figure 4-5: ProcessInfo showing all processes that have Psapi.dll loaded in their address space Chapter 5: Jobs Figure 5-1: Microsoft Spy++ running in a job that restricts access to UI handles Figure 5-2: Details of the restrictions on the Job tab of Process Explorer Figure 5-3: Job Lab sample application Chapter 6: Thread Basics Figure 6-1: How a thread is created and initialized Chapter 9: Thread Synchronization with Kernel Objects Figure 9-1: LockCop in action Chapter 10: Synchronous and Asynchronous Device I/O Figure 10-1: The internal workings of an I/O completion port Figure 10-2: The dialog box for the FileCopy sample application Chapter 11: The Windows Thread Pool Figure 11-1: Output generated by the Batch application. Chapter 12: Fibers Figure 12-1: The Counter application's dialog box Chapter 13: Windows Memory Architecture Figure 13-1: Example process address spaces for different CPUs Figure 13-2: Translating a virtual address to a physical storage address Chapter 14: Exploring Virtual Memory Figure 14-1: These dialog boxes show a 32-bit application running on 32-bit Windows (upper left); a 32-bit application running on 32-bit Windows with a dual-core processor (upper right); a 32-bit application running on 64-bit Windows (lower left); and a 64-bit application running on 64-bit Windows (lower right). Chapter 16: A Thread's Stack Figure 16-1: What a thread's stack region looks like when it is first created Figure 16-2: A nearly full thread's stack region Figure 16-3: A full thread stack region Chapter 18: Heaps Figure 18-1: A single heap that stores NODEs and BRANCHes together Figure 18-2: A single fragmented heap that contains several NODE and BRANCH objects Chapter 19: DLL Basics Figure 19-1: How a DLL is created and implicitly linked by an application Chapter 20: DLL Advanced Techniques Figure 20-1: How a DLL is created and explicitly linked by an application Figure 20-2: The steps performed by the system when a thread calls LoadLibrary Figure 20-3: The steps performed by the system when a thread calls FreeLibrary Figure 20-4: DelayLoadApp indicating that the 20-DelayLoadLib module is not loaded Figure 20-5: DelayLoadApp indicating that the 20-DelayLoadLib module is loaded Chapter 21: Thread-Local Storage Figure 21-1: Internal data structures that manage TLS Chapter 22: DLL Injection and API Hooking Figure 22-1: A thread in Process B attempting to subclass a window created by a thread in Process A Chapter 23: Termination Handlers Figure 23-1: Message shown when an unhandled exception occurs in Windows XP Figure 23-2: First message shown when an unhandled exception occurs in Windows Vista Figure 23-3: Second message shown when an unhandled exception occurs in Windows Vista Chapter 24: Exception Handlers and Software Exceptions Figure 24-1: How the system processes an exception Figure 24-2: How the system performs a global unwind Chapter 25: Unhandled Exceptions, Vectored Exception Handling, and C++ Exceptions Figure 25-1: Message shown when an unhandled exception occurs in Windows XP Figure 25-2: First message shown when an unhandled exception occurs in Windows Vista Figure 25-3: Second message shown when an unhandled exception occurs in Windows Vista Figure 25-4: How Windows processes an unhandled exception using the Windows Error Reporting infrastructure Figure 25-5: Allow the user to choose whether or not the problem report should be sent to Microsoft. Figure 25-6: The user can choose not to automatically send a problem report to Microsoft. Chapter 26: Error Reporting and Application Recovery Figure 26-1: The WER console application available from Control Panel Figure 26-2: The WER console showing each application crash (grouped by Product) Figure 26-3: The WER console viewing a problem report Figure 26-4: The remaining two choices for an excluded application Figure 26-5: The custom entry is sorted by product name in the WER console Figure 26-6: The customized report description in the WER console Figure 26-7: The user is notified that the application is restarting Figure 26-8: The user is notified while the application is preparing for recovery