abort dialog
programming using message loop, 430
using delegates, 431
Abort() method
example of using, 374
Thread class, 431
abstract keyword
.method directive, 79
abstract stack machines
IL virtual machine, 24
AcquireReaderLock() method
ReaderWriterLock class, 360
AcquireWriterLock() method
ReaderWriterLock class, 360
Activator class
Createlnstance() method, 321
add instruction
families of IL instructions, 30
AddArc() method
GraphicsPath class, 440
AddLine() method
GraphicsPath class, 440
AddObject() method
ObjectType class, 268
AddRange() method
ListltemCollection class, 235
al.exe
/keyfile parameter, 190
delay-signing an assembly, 512
linking files in an assembly, 186
linking resource files, 186
satellite assemblies, using with, 190
sn.exe, use with, 186
algorithm, encryption, 498
Alloc() method
GCHandle class, 154
allocation profiler, 304
commercial profilers, compared to, 304
AllowPartiallyTrustedCallersAttribute attribute
permisssion set, CLR security, 469
anakrino
dissassembling IL, 106
ansi keyword
.class directive, 93
AppDomain class, 343
GetCurrentThreadld() method, 343
Append() method
StringBuilder class, 262
Application class
Idle event, 425
Run() method, 421
implementing message loop, 421
System.Windows.Forms, 421
application domains, calling across
crossing boundaries performance issues, 264
argument table
IL virtual machine, 19
arguments
defining methods with arguments in IL, 40
Idarg commands, 41
not necessary to name arguments, 42
starg commands, 43
Array class, 86
array type, 27
arrays, IL, 86
looping, 89
manipulating vectors, 87
assemblies, 158
.assembly extern directive, 173
__Assemblylnfo__.ini, 179
assembler linker utility, 186
assembly cache
command prompt, viewing using, 178
Custom Explorer, viewing using, 178
GAC, 178
gacutil.exe, placing assemblies in cache using, 179
Global Assembly Cache shell extension, 178
locating assemblies, 180
ngen.exe, 176
shfusion.dll, exploring using, 178
Windows Explorer, viewing using, 178
assembly identity, 172
assembly reading tools
DumpBin.exe, 174
ildasm.exe, 173
Reflection, 175
unmanaged reflection API, 176
assembly utilities, 186
AssemblyRef token, 173
CAS, 457
code groups, 465
Command line GreetMe example, 192-200
delay-signing an assembly, 509
file structure
prime module, compared to other modules, 162
generating assemblies, 185
linking resource files, 168
locating assemblies, 180
compilers, in, 180
VS.NET, in, 181
PE files, 158
referencing other assemblies, 173
resource file, 167
managed resources, 167
resources, 167
localization, 167
managed resources, 169
unmanaged resources, 169
satellite assemblies, 188
storing IL binary code in assembly, 164
metadata, 166
performance, 165
space, 165
verifying file integrity, 164
version robustness, 167
VS.NET GreetMe example, 200-203
Assembly class
GetExecutingAssembly() method, 175
Load() method, 175
LoadFrom() method, 175
System.Reflection, 317
assembly linker utility, see al.exe.
AssemblyBuilder class
System.Reflection.Emit, 316
AssemblyBuilderAccess enumeration
System.Reflection.Emit, 314
AssemblyRef token
assemblies, 183
Assert() method
CodeAccessPermission class, 471
IStackWalk interface, 477
asymmetric encryption, 504
authentication, 505
compared to symmetric encryption, 504
confidentiality, 505
data integrity, 505
non-repudiation, 505
private key, 504
public key, 504
reasons for using, 504
trapdoor functions, 504
using with symmetric encryption
session key, 507
AsyncCallback delegate, 346
callback method, 353
AsyncDelegate property
AsyncResult class, 346
asynchronous delegate Invocation, 349
Beginlnvoke() method, 352
callback method, 352
classes implementing, 345
Endlnvoke() method, 352
multithreading, 344
AsyncResult class
AsyncDelegate property, 346
implements IAsyncResult interface, 346
System.Runtime.Remoting.Messaging, 346
AsyncState property
IAsyncResult interface, 346
AsyncWaitHandle property
IAsyncResult interface, 346
ATL, smart pointer reference counting, 209
attributes
CLS attributes, 101
custom attributes, 101
distinguished attributes, 101
IL attributes, 101
pseudo-custom attributes, 101
table of attributes, 101
AuditingLightDetector sample, 491-92
authentication
asymmetric encryption, 505
goals of cryptography, 497
Authenticode
digital signatures, 513
verifying certificates, 517
auto keyword
.class directive, 34
auto layout
compared to sequential layout, 265
field alignment, 126
autochar keyword
.class directive, 34
auto-reference counting
compared to smart pointer reference counting, 209
Visual Basic 209
AutoResetEvent class
Reset() method, 361
Set() method, 361
System.Threading, 361
thread synchronization, 361
WaitOne() method, 361