MakeCert command-line utility
creating certificate, 520
malicious code
certificate security issues, 517
Managed C++, see C++.
managed code
auto layout, advantage of using, 126
calling from unmanaged code performance issues, 264
compared to unmanaged code, 240
interoperability with unmanaged code, 240
performance, 238
comparing languages, 239
type safety, 136
version robustness, 167
managed heap
C++, direct acess using, 126
compacting heap, 213
garbage collector, 211
IL virtual machine, 20
large object managed heap, 211
small object managed heap, 211
unmanaged pointers, locating using, 126
managed keyword
.method directive, 104
Managed Object Format language, see MOF.
managed pointers, 28
& pointer type, 28
passing by reference, 47
unmanaged types, using in, 151
managed threads
compared to unmanaged threads, 338
non-thread-pool threads, 341
thread-pool threads, 340
managed type
interoperability with unmanaged type, 146
referencing unmanaged types, 147–51
unmanaged pointers, 151
ManagementClass class
System.Management, 398
ManagementEventWatcher class
monitoring display settings, use in, 411
Start() method, 410
Stop() method, 410
System.Management, 409
WMI object manager, sending notification request in, 409
ManagementObject class
comparison with Win32 _LogicalDisk, 385
Get() method, 407
Put() method, 407
System.Management, 398
ManagementObjectSearcher class
Get() method, 407
System.Management, 408
ManagementOperatlonObserver class
events table, 407
GetInstances() method, 407
System.Management, 408
manifest file, 163
loading version 6 of comctl32.dll, 435
XML configuration files, 435
manipulating vectors
.maxstack directive, 89
IL arrays, 87
ldelem instruction, 87
Idelema instruction, 87
Idlen instruction, 87
newarr instruction, 87
stelem instruction, 87
ManualResetEvent class
example, 369
Reset() method, 361
Set() method, 369
System.Threading, 361
thread synchronization, 361
WaitOne() method, 369
mark phase
garbage collector, 214
MaxGeneration property
GC class, 218
MC++, see C++.
MD5 class
System.Security.Cryptography, 499
MD5CryptoServiceProvider class
System.Security.Cryptography, 499
MeasureItem event
ListBox class, 445
memory management
automatic optimisation, 279
developer-controlled memory management, 207
Dispose() method, problems due to lack of, 281
EmptyWorkingSet() API call, 285
garbage collector, 210
lack of deterministic finalization, 206
memory access violations, 277
non-paged pool, 278
page faults, 277
page files, 277
paged pool, 278
pages, 276
reference counting, 208
swapping, 277
Task Manager, 279
unmanaged resources, 221
classes with managed and unmanaged resources, 226
UseResources example, 282–87
virtual memory, 277
committed virtual addresses, 277
disadvantage, 278
free virtual addresses, 277
reserved virtual addresses, 277
VirtualAlloc() API call, 277
VirtualFree() API call, 277
weak references, 230
Windows operating systems, memory allocations in, 275
working set memory, 278
message
Windows message, 417
message loop, 425
DispatchMessage() API call, 419
GetMessage() API call, 419
implementing in Application.Run() method, 421
programming Windows Forms, 421
abort dialog, 430
accessing message loop, 425
directly handling messages, 426
execution order, 421
Idle processing, 425
initializing application, 428
multithreading, 423
TranslateMessage() API call, 419
Windows message, processing, 417
message queue
Windows Forms, 420
Windows message, processing, 417
Message structure
directly handling messages, 426
Msg property, 428
Result property, 428
System.Windows.Forms, 426
metadata, 163
storing IL binary code in assembly, 166
metadata tables
Def type, 166
MemberRef type, 166
Ptr type, 166
Ref type, 166
metadata tokens, 165
opcodes, 165
method table
reference types, 122
methods
defining methods with arguments in IL, 40
Idarg commands, 41
not necessary to name arguments, 42
starg commands, 43
get and set accessor methods for property, 68
IL value types, 67
inlining methods, 245
virtual methods not inlined, 246
passing values by reference, 46
virtual methods IL virtual methods, 78
not inlined, 246
Microsoft Intermediate Language, see IL.
Microsoft.VisualBasic.Compiler Services namespace
ObjectType class, 268
MinimumSize property
Form class, 439
modopt keyword
.method directive, 114
ModuleBuilder class
CreateGlobalFunctions() method, 318
DefineGlobalMethod() method, 317
MOF language, 390
[Abstract] keyword, 390
[key] keyword, 390
[read] keyword, 390
[write] keyword, 390
WMI classes, use in, 390
Monitor class
callback method, 366
Enter() method, 358
example of using, 364
Exit() method, 358
System.Threading, 358
thread synchronization, 357
MonitorUseResources example, 293
mscorcfg.msc configuration tool
CLR security, managing, 464
code groups, 465
CLR, customizing probing policy of, 183
setting permissions, 488
testing certificate, 522
mscoree.dll
CLR, loading and hosting for, 163
mscorllb public key
assemblies, use in, 177
mscorllb.dll
CLR, 182
Msg property
Message structure, 428
MSIL, see IL.
mul command, 131
MultlcastDelegate class, 346
multithreading, 344
asynchronous delegate invocation, 345
built-in asynchronous support, 345
compared to idle processing, 425
Control.BeginInvoke() method, 424
explicit queueing to thread pool, 345
explicit thread creation, 344
programming Windows Forms using message loop, 423
thread synchronization, 356
timers, 344
Mutex class
ReleaseMutex() method, 359
System.Threading, 359
thread synchronization, 359
WaitOne() method, 359