Home » Source Code » Windows core programming, Fourth Edition + source code

Windows core programming, Fourth Edition + source code

tkggsss
2014-10-23 10:14:07
The author
View(s):
Download(s): 3
Point (s): 2 
Category Category:
bookbook Visual C++Visual C++

Description

Directory

Translator's Preface

Preface

The first part programmers required reading

The first chapter of the program error handling 1

1.1 define your own error code 4

1.2 the ErrorShow sample application 5

The second chapter Unicode 11

The 2.1 character set 11

2.1.1 single and double byte character set 11

2.1.2 Unicode: wide byte character set 12

2.2 why the use of Unicode 13

2.3 Windows 2000 and Unicode 13

2.4 Windows 98 and Unicode 13

Windows CE 2.5 and Unicode 14

2.6 issues needing attention 14

A simple description of 2.7 on COM 14

2.8 how to write Unicode source code 15

2.8.1 C runtime library support for Unicode 15

2.8.2 Windows Unicode defined data type 17

2.8.3 Windows in the Unicode function and ANSI

Function 17

2.8.4 Windows string functions 19

2.9 as the application conforms to ANSI and Unicode 19

2.9.1 Windows string functions 19

2.9.2 resources 22

2.9.3 determines the text is ANSI text or Unicode

Text 22

The 2.9.4 between Unicode and ANSI string conversion to 23

The third chapter kernel object 27

3.1 what is the kernel object 27

3.1.1 kernel object used to count 27

3.1.2 security 28

3.2 the process kernel object handle table 30

3.2.1 creates a kernel object 30

3.2.2 to close the kernel object 32

3.3 sharing kernel objects across process boundaries 32

The inherited 3.3.1 object handle 32

3.3.2 changes sign 35 handle

3.3.3 naming the object 36

3.3.4 terminal server name space 39

3.3.5 replication object handle 39

The specific method of the second part programming

The fourth chapter process 45

4.1 write your first Windows application 46

The 4.1.1 process instance handle 49

The 4.1.2 process of a previous instance handle 50

The process of 4.1.3 command line 50

The environment variable 4.1.4 process 51

The affinity of the 4.1.5 process 54

The 4.1.6 process error pattern 54

4.1.7 process in the current drive and directory 54

4.1.8 process in the current directory 55

4.1.9 system version 56

4.2 CreateProcess function 58

4.2.1 pszApplicationName and

PszCommandLine 59

4.2.2 PSA Process, PSA Thread and

Binherit Handles 60

4.2.3 fdwCreate 62

4.2.4 pvEnvironment 64

4.2.5 pszCurDir 64

4.2.6 psiStartInfo 64

4.2.7 ppiProcInfo 67

4.3 the termination of the process of running 69

4.3.1 main thread entry point function returns 69

The 4.3.2 ExitProcess function 69

The 4.3.3 TerminateProcess function 70

4.3.4 process terminates when running 71

4.4 Zi Jincheng 72

The process of running the 4.5 enumeration system 73

The fifth chapter 91

5.1 pairs of operation process is limited to 93

5.2 the process into the operation 99

All processes terminate running 99 homework 5.3

5.4 query operation statistics information 100

5.5 notice information 103

5.6 the JobLab sample application 104

The sixth chapter 121 basic knowledge of thread

6.1 when the creating thread 121

6.2 when cannot create thread 122

6.3 write the first thread function 123

6.4 CreateThread function 124

6.4.1 PSA 124

6.4.2 cbStack 124

6.4.3 pfnStartAddr and pvParam 125

6.4.4 fdwCreate 126

6.4.5 pdwThreadID 126

6.5 terminates the thread running 127

The 6.5.1 thread function returns 127

The 6.5.2 ExitThread function 127

The 6.5.3 TerminateThread function 127

6.5.4 in the process terminates the thread 128 undo

The occurrence of 6.5.5 thread terminates the operation 128

6.6 threads of some properties of 129

131 consider the 6.7 C/C++ runtime library

6.7.1 Oops mistakenly called Create Thread 138

6.7.2 should not be called the C/C++ run-time library functions 138

6.8 of his ID concept should understand 139

The seventh chapter thread scheduling, priority and affinity of 142

7.1 pause and resume threads running 143

7.2 suspension and resumption of the operation of the process 144

7.3 sleep mode 145

The 7.4 switch to another thread 145

Run time of 7.5 thread 146

7.6 the use of environmental structure 148

The 7.7 thread priority 152

Abstract description of the 7.8 priority 153

The 7.9 program priority 156

7.9.1 dynamic increase the thread priority level 158

7.9.2 as the foreground process to adjust the scheduling program 159

7.9.3 Scheduling Lab sample application 160

7.10 relatives of 167

The eighth chapter user mode thread synchronization in 172

8.1 atomic access: the interlocking function family 172

8.2 cache line 177

8.3 senior thread synchronization 178

8.4 key code section 180

8.4.1 key code segment accurately describe 182

8.4.2 key code segment and the cycle lock 185

8.4.3 key code and error handling 185

8.4.4 very useful tips and tricks 186

The ninth chapter threads and kernel objects to synchronize 190

9.1 wait functions 191

Side effects of 9.2 successful waiting 194

The 9.3 event kernel object 195

9.4 wait timer kernel object 204

9.4.1 lets wait timer to APC line 207

Loose 9.4.2 timer 209

9.5 beacon kernel object 210

9.6 a mutex object kernel object 211

9.6.1 release 213

Comparison of 214 9.6.2 mutex object and the key to the code segment.

9.6.3 Queue sample application 214

The 9.7 thread synchronization object lookup table 223

9.8 other 224 thread synchronization function

9.8.1 asynchronous device I/O 224

9.8.2 WaitForInputIdle 224

9.8.3 MsgWaitForMultipleObjects (Ex) 225

9.8.4 WaitForDebugEvent 225

9.8.5 SingleObjectAndWait 226

The tenth chapter thread synchronization kit 228

10.1 implementation of the key sections of code: Optex 228

10.2 create thread safe data types and anti beacon 239

10.3 a single write protection program / multiple reading program 251

10.4 to achieve a WaitForMultipleExpressions


Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
01.96 kB
001.PDF597.78 kB2004-06-28 21:33
002.PDF636.58 kB2004-06-28 21:33
003.PDF567.79 kB2004-06-28 21:33
004.PDF2.30 MB2004-06-28 21:33
005.PDF1.74 MB2004-06-28 21:33
006.PDF973.88 kB2004-06-28 21:33
007.PDF1.65 MB2004-06-28 21:33
008.PDF717.74 kB2004-06-28 21:33
009.PDF1.75 MB2004-06-28 21:33
010.PDF2.12 MB2004-06-28 21:33
011.PDF484.40 kB2004-06-28 21:33
012.PDF452.38 kB2004-06-28 21:33
013.PDF1.01 MB2004-06-28 21:33
014.PDF1.87 MB2004-06-28 21:33
015.PDF1.48 MB2004-06-28 21:33
016.PDF1.16 MB2004-06-28 21:33
017.PDF2.83 MB2004-06-28 21:33
018.PDF462.00 kB2004-06-28 21:33
019.PDF701.07 kB2004-06-28 21:33
020.PDF2.30 MB2004-06-28 21:34
021.PDF301.43 kB2004-06-28 21:34
022.PDF2.85 MB2004-06-28 21:34
023.PDF631.03 kB2004-06-28 21:34
024.PDF1.02 MB2004-06-28 21:34
025.PDF1.75 MB2004-06-28 21:34
026.PDF1.22 MB2004-06-28 21:34
027.PDF1.72 MB2004-06-28 21:34
028.PDF490.55 kB2004-06-28 21:34
029.PDF187.05 kB2004-06-28 21:34
01.96 kB
01.97 kB
ErrorShow.cpp3.88 kB1999-09-03 12:00
ErrorShow.ico766.00 B1999-09-03 12:00
ErrorShow.rc2.78 kB1999-09-03 12:00
makefile355.00 B2010-08-09 10:31
Resource.h641.00 B1999-09-03 12:00
01.97 kB
makefile392.00 B2010-08-10 10:25
ProcessInfo.cpp12.51 kB1999-09-03 12:00
ProcessInfo.ico1.05 kB1999-09-03 12:00
ProcessInfo.rc3.23 kB1999-09-03 12:00
Resource.h829.00 B1999-09-03 12:00
Toolhelp.h8.23 kB2010-08-09 10:24
01.97 kB
Job.h9.09 kB1999-09-03 12:00
JobLab.cpp16.70 kB1999-09-03 12:00
JobLab.exe20.50 kB2010-08-09 10:32
JobLab.exe.manifest621.00 B2010-08-09 10:32
JobLab.ico2.19 kB1999-09-03 12:00
JobLab.obj52.89 kB2010-08-09 10:32
JobLab.pdb307.00 kB2010-08-09 10:32
JobLab.rc6.83 kB1999-09-03 12:00
JobLab.RES4.84 kB2010-08-09 10:32
makefile319.00 B2010-08-09 10:32
Resource.h1.86 kB1999-09-03 12:00
vc90.pdb100.00 kB2010-08-09 10:32
01.97 kB
Resource.h732.00 B1999-09-03 12:00
SchedLab.cpp6.91 kB1999-09-03 12:00
SchedLab.ico2.19 kB1999-09-03 12:00
SchedLab.rc3.01 kB1999-09-03 12:00
01.97 kB
Handshake.cpp4.85 kB1999-09-03 12:00
Handshake.ico2.19 kB1999-09-03 12:00
Handshake.rc2.65 kB1999-09-03 12:00
Resource.h641.00 B1999-09-03 12:00
01.97 kB
Queue.cpp7.89 kB1999-09-03 12:00
Queue.ico2.19 kB1999-09-03 12:00
Queue.rc2.61 kB1999-09-03 12:00
Resource.h589.00 B1999-09-03 12:00
01.97 kB
Interlocked.h7.16 kB1999-09-03 12:00
InterLockedType.ico2.19 kB1999-09-03 12:00
InterlockedType.rc1.68 kB1999-09-03 12:00
IntLockTest.cpp2.83 kB1999-09-03 12:00
Resource.h464.00 B1999-09-03 12:00
01.97 kB
Optex.cpp6.30 kB1999-09-03 12:00
Optex.h1.96 kB1999-09-03 12:00
Optex.ico2.19 kB1999-09-03 12:00
Optex.rc1.67 kB1999-09-03 12:00
OptexTest.cpp3.57 kB1999-09-03 12:00
Resource.h454.00 B1999-09-03 12:00
01.97 kB
Resource.h454.00 B1999-09-03 12:00
SWMRG.cpp4.58 kB1999-09-03 12:00
SWMRG.h1.26 kB1999-09-03 12:00
SWMRG.ico2.19 kB1999-09-03 12:00
SWMRG.rc1.67 kB1999-09-03 12:00
SWMRGTest.cpp1.91 kB1999-09-03 12:00
01.97 kB
Resource.h777.00 B1999-09-03 12:00
WaitForMultExp.cpp6.36 kB1999-09-03 12:00
WaitForMultExp.h542.00 B1999-09-03 12:00
WaitForMultExp.ico2.19 kB1999-09-03 12:00
WfMETest.cpp6.95 kB1999-09-03 12:00
WfMETest.rc3.00 kB1999-09-03 12:00
01.97 kB
Resource.h460.00 B1999-09-03 12:00
TimedMsgBox.cpp2.44 kB1999-09-03 12:00
TimedMsgBox.ico2.19 kB1999-09-03 12:00
TimedMsgBox.rc1.68 kB1999-09-03 12:00
01.97 kB
Counter.cpp7.16 kB1999-09-03 12:00
Counter.ico766.00 B1999-09-03 12:00
Counter.rc2.64 kB1999-09-03 12:00
Resource.h639.00 B1999-09-03 12:00
01.97 kB
Resource.h949.00 B1999-09-03 12:00
SysInfo.cpp5.88 kB1999-09-03 12:00
SysInfo.ico766.00 B1999-09-03 12:00
SysInfo.rc3.66 kB1999-09-03 12:00
01.97 kB
Resource.h728.00 B1999-09-03 12:00
VMMap.cpp10.76 kB1999-09-03 12:00
VMMap.ico766.00 B1999-09-03 12:00
VMMap.rc2.49 kB1999-09-03 12:00
VMQuery.cpp8.61 kB1999-09-03 12:00
VMQuery.h1.02 kB1999-09-03 12:00
01.97 kB
Resource.h544.00 B1999-09-03 12:00
VMStat.cpp2.56 kB1999-09-03 12:00
VMStat.ico766.00 B1999-09-03 12:00
VMStat.rc2.57 kB1999-09-03 12:00
01.97 kB
AddrWindow.h4.86 kB1999-09-03 12:00
AWE.cpp4.78 kB1999-09-03 12:00
AWE.ico2.19 kB1999-09-03 12:00
AWE.rc2.77 kB1999-09-03 12:00
resource.h681.00 B1999-09-03 12:00
01.97 kB
MemReset.cpp2.82 kB1999-09-03 12:00
MemReset.ico2.19 kB1999-09-03 12:00
MemReset.rc1.67 kB1999-09-03 12:00
Resource.h457.00 B1999-09-03 12:00
01.97 kB
Resource.h859.00 B1999-09-03 12:00
VMAlloc.cpp9.27 kB1999-09-03 12:00
VMAlloc.ico766.00 B1999-09-03 12:00
VMAlloc.rc2.82 kB1999-09-03 12:00
01.97 kB
Resource.h683.00 B1999-09-03 12:00
Summation.cpp4.75 kB1999-09-03 12:00
Summation.ico766.00 B1999-09-03 12:00
Summation.rc2.41 kB1999-09-03 12:00
01.97 kB
AppInst.cpp2.94 kB1999-09-03 12:00
AppInst.ico766.00 B1999-09-03 12:00
AppInst.rc2.41 kB1999-09-03 12:00
Resource.h544.00 B1999-09-03 12:00
01.97 kB
FileRev.cpp7.26 kB1999-09-03 12:00
FileRev.ico766.00 B1999-09-03 12:00
FileRev.rc2.63 kB1999-09-03 12:00
Resource.h682.00 B1999-09-03 12:00
01.97 kB
MMFShare.cpp4.66 kB1999-09-03 12:00
MMFShare.ico766.00 B1999-09-03 12:00
MMFShare.rc2.33 kB1999-09-03 12:00
Resource.h680.00 B1999-09-03 12:00
01.97 kB
MMFSparse.cpp8.41 kB1999-09-03 12:00
MMFSparse.ico2.19 kB1999-09-03 12:00
MMFSparse.rc2.75 kB1999-09-03 12:00
Resource.h818.00 B1999-09-03 12:00
SparseStream.h4.41 kB1999-09-03 12:00
01.97 kB
DelayLoadApp.cpp7.08 kB1999-09-03 12:00
DelayLoadApp.ico2.19 kB1999-09-03 12:00
DelayLoadApp.rc1.68 kB1999-09-03 12:00
Resource.h461.00 B1999-09-03 12:00
01.96 kB
DelayLoadLib.cpp843.00 B1999-09-03 12:00
DelayLoadLib.h563.00 B1999-09-03 12:00
01.97 kB
01.96 kB
DIPSLib.cpp8.04 kB1999-09-03 12:00
DIPSLib.h569.00 B1999-09-03 12:00
DIPSLib.rc1.63 kB1999-09-03 12:00
Resource.h456.00 B1999-09-03 12:00
DIPS.cpp3.66 kB1999-09-03 12:00
DIPS.ico766.00 B1999-09-03 12:00
DIPS.rc2.89 kB1999-09-03 12:00
Resource.h587.00 B1999-09-03 12:00
01.96 kB
ImgWalk.cpp1.71 kB1999-09-03 12:00
01.97 kB
InjLib.cpp8.01 kB1999-09-03 12:00
InjLib.ico766.00 B1999-09-03 12:00
InjLib.rc2.46 kB1999-09-03 12:00
Resource.h588.00 B1999-09-03 12:00
01.97 kB
01.96 kB
APIHook.cpp10.22 kB1999-09-03 12:00
APIHook.h2.71 kB1999-09-03 12:00
LastMsgBoxInfoLib.cpp5.71 kB1999-09-03 12:00
LastMsgBoxInfoLib.h617.00 B1999-09-03 12:00
LastMsgBoxInfo.cpp2.55 kB1999-09-03 12:00
LastMsgBoxInfo.ico2.19 kB1999-09-03 12:00
LastMsgBoxInfo.rc2.51 kB1999-09-03 12:00
Resource.h554.00 B1999-09-03 12:00
01.97 kB
Resource.h456.00 B1999-09-03 12:00
SEHTerm.cpp1.12 kB1999-09-03 12:00
SEHTerm.ico766.00 B1999-09-03 12:00
SEHTerm.rc1.67 kB1999-09-03 12:00
01.97 kB
Resource.h824.00 B1999-09-03 12:00
Spreadsheet.cpp5.69 kB1999-09-03 12:00
Spreadsheet.ico2.19 kB1999-09-03 12:00
Spreadsheet.rc2.84 kB1999-09-03 12:00
VMArray.h7.45 kB1999-09-03 12:00
01.97 kB
CopyData.cpp3.57 kB1999-09-03 12:00
CopyData.ico766.00 B1999-09-03 12:00
CopyData.rc2.35 kB1999-09-03 12:00
Resource.h680.00 B1999-09-03 12:00
01.97 kB
LISLab.cpp12.30 kB1999-09-03 12:00
LISLab.ico766.00 B1999-09-03 12:00
LISLab.rc4.42 kB1999-09-03 12:00
Resource.h1.32 kB1999-09-03 12:00
01.97 kB
Eyes.cur326.00 B1999-09-03 12:00
LISWatch.cpp6.35 kB1999-09-03 12:00
LISWatch.ico2.19 kB1999-09-03 12:00
LISWatch.rc3.04 kB1999-09-03 12:00
Resource.h777.00 B1999-09-03 12:00
CmnHdr.h7.99 kB1999-09-03 12:00
-+-+.TXT11.02 kB2000-10-27 00:51
...
Sponsored links

Comments

(Add your comment, get 0.1 Point)
Minimum:15 words, Maximum:160 words
  • 1
  • Page 1
  • Total 1

Windows core programming, Fourth Edition + source code (31.97 MB)

Need 2 Point(s)
Your Point (s)

Your Point isn't enough.

Get 22 Point immediately by PayPal

Point will be added to your account automatically after the transaction.

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more Points

LOGIN

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com

切换到中文版?

CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
OK

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D