safe points
control of threads by garbage collector, 212
satellite assemblies, 189
culture, 189
Save() method
Image class, 451
sealed keyword
.class directive, 110
security
CAS, 456
Windows security, compared to, 457
certificates, 517
CLR security policy, 458
code groups, 465
custom permissions, 478
cryptography, 495
key size, 506
role based security, 455
Windows operating system
architecture, 457
CAS security, compared to, 457
WMI security, 388
Security permission
Allow Calls to Unmanaged Code permission, 462
Assert any permission which has been granted permission, 463
Enable Code Execution permission, 462
SecurityAction enumeration
Assert, 474
declarative security, 473
Demand, 474
Deny, 474
InheritanceDemand, 474
LinkDemand, 474
PermitOnly, 474
RequestMinimum, 474
RequestOptional, 474
RequestRefuse, 474
SecurityAttribute class
CreatePermission() method, 478
declarative security, 478
SecurityElement class
System.Security, 483
SecurityPermission class
imperative security, 471
SecUtil command-line utility
testing certificate, 522
SelectObject() function
GDI, 450
semaphores
thread synchronization, 361
sequential keyword
.class directive, 34
sequential layout
compared to auto layout, 265
field alignment, 125
session key
encryption, 507
using symmetric and asymmetric encryption together, 507
Set() method
AutoResetEvent class, 361
ManualResetEvent class, 369
SHA-1
hashing, 508
shared key encryption, see symmetric encryption.
shfusion.dll
assembly cache, use in exploring, 177
SignCode.exe
creating certificate, 521
signed data types, 27
compared to unsigned data types, 27
signing files, see digital signatures.
SiteldentityPermission class
imperative security, 472
SkipVerification permission, 467
calling unmanaged code, 94
executing unverifiable code, 60
verification of code, JIT compiler, 130
Sleep() method
Thread class, 431
small object managed heap
garbage collector, 211
smart pointer reference counting
ATL, 209
compared to auto-reference counting, 209
sn.exe
al.exe, use with, 186
delay-signing an assembly, 509
generating digital signatures, 190
source
assemblies, generating from, 185
native code operands, 256
space
storing IL binary code in assembly, 165
specialname keyword
.method directive, 68
stack, see evaluation stack.
stack delta
evaluation stack, 22
stack walk
permission sets
assert, 459
demand, 459
deny, 460
PermitOnly, 460
stack walk modifier, 472
stack walk modifier, 472
PermissionSet class, 472
stack-transition diagram
evaluation stack, 22
Standard value
FlatStyle enumeration, 435
starg commands
defining methods with arguments in IL, 43
Start() method
ManagementEventWatcher class, 410
Thread class, 341
State property
DrawItemEventArgs class, 446
static keyword
.method directive, 151
static members
IL virtual machine, 20
stelem instruction
manipulating vectors, 87
stfld command
IL value type fields, 66
stind commands
passing values by reference, 52
stloc commands
using local variables in IL, 44
Stop() method
ManagementEventWatcher class, 410
String class, 260
compared to StringBuilder class, 260
Concat() method, 260
Format() method, 78
string types
optimizing performance, 263
StringBuilder class
Append() method, 262
compared to String class, 260
optimizing performance, 260
System.Text, 260
ToString() method, 350
strong references
compared to weak references, 231
StructLayoutAttribute class
alignment of fields, 125
Value property, 126
SubSystem flag
PE header, 160
suffixes
families of IL instructions, 31
SuppressFinalize() method
GC class, 224
SuppressUnmanagedCodeSecurityAttribute attribute
System.Security, 143
sweep phase
garbage collector, 214
symmetric encryption, 498
compared to asymmetric encryption, 504
DES, 499
RijnDael algorithm, 501
System.Security.Cryptography, 499
using with asymmetric encryption
session key, 507
synchronization
thread synchronization, 356
synchronous delegate invocation, 351
SyncLock statement
thread synchronization, 357
Visual Basic .NET, 359
syntax errors
compile-time IL errors, 57
System namespace
Activator class, 321
AppDomain class, 343
Array class, 86
AsyncCallback delegate, 346
Byte structure, 79
DateTime structure, 251
Delegate class, 346
Enum class, 124
Environment class, 298
Exception class, 98
GC class, 218
GCHandle class, 152
IAsyncResult interface, 346
Int32 structure, 82
IntPtr structure, 152
MulticastDelegate class, 346
String class, 260
ValueType class, 124
WeakReference class, 231
System value
drawing Windows Form controls as XP controls, 435
FlatStyle enumeration, 435
System.CodeDom namespace
CodeAssignStatement class, 324
CodeBinaryOperator Expression class, 329
CodeCompileUnit class, 323
CodeEntryPointMethod class, 328
CodeGeneratorOptions class, 331
CodeMethodlnvokeExpression class, 323
CodeMethodReturnStatement class, 330
CodePrimitiveExpression class, 329
CodeTypeReference class, 328
CodeTypeReference Expression class, 328
CodeVariableDeclaration class, 329
System.CodeDom.Compiler namespace, 312
CodeDomProvider class, 324
ICodeGenerator interface, 312
System.Diagnostics namespace
DebuggableAttribute class, 249
PerformanceCounter class, 291
PerformanceCounterCategory class, 287
Process class, 343
ProcessThread class, 343
ThreadPriorityLevel enumeration, 344
ThreadState enumeration, 344
System.Drawing namespace
GDI+, 447
Graphics class, 451
Image class, 451
Point structure, 123
System. Drawing.Drawing2 D namespace
GraphicsPath class, 440
System.IO namespace
FileStream class, 502
System.Management namespace
EventArrlvedEventHandler delegate, 410
ManagementClass class, 407
ManagementEventWatcher class, 409
ManagementObject class, 398
ManagementObjectSearcher class, 408
ManagementOperationObserver class, 408
performing queries using, 398
System.Management.dll, 384
WMI classes, compared to, 387
WMI events, effective mapping to .NET events, 394
WMI, use in writing code for, 382
System.Management. Instrumen tation namespace
WMI object managers, use with, 387
System.Reflection namespace
Assembly class, 317
unmanaged reflection API, compared to, 176
System.Reflection.Emit namespace
AssemblyBuilder class, 316
AssemblyBuilderAccess enumeration, 314
ILGenerator class, 314
MethodBuilder class, 314
ModuleBuilder class, 317
peverify.exe, use of, 322
TypeBuilder class, 317
System.Resources namespace
ResourceManager class, 189
support for managed resources, 170
System.Runtime.Remoting.Messaging namespace
AsyncResult class, 346
System.Security namespace
CodeAccessPermission class, 461
IPermission interface, 477
ISecurityEncodable interface, 477
IStackWalk Interface, 477
NamedPermissionSet class XE, 477
SecurityElement class, 483
SuppressUnmanagedCodeSecurityAttribute attribute, 141
System.Security.Cryptography namespace, 499
DES class, 499
DESCryptoServiceProvider class, 499
ICryptoTransform interface, 501
MD5 class, 499
MD5CryptoServiceProvider class, 499
RSA class, 499
RSACryptoServiceProvider class, 499
symmetric encryption, 499
Windows cryptography model, 518
System.Security.Cryptography. X509Certificates namespace
X509Certificate class, 523
System.Security.Permissions namespace
FilelOPermission class, 461
FileIOPermissionAttribute class, 473
PermissionState enumeration, 481
SecurityAction enumeration, 473
SecurityAttribute class, 478
System.Text namespace
StringBuilder class, 260
System.Threading namespace
AutoResetEvent class, 361
Interlocked class, 361
ManualResetEvent class, 361
Monitor class, 358
Mutex class, 359
ReaderWriterLock class, 360
Thread class, 338
ThreadAbortException, 373
ThreadPool class, 340
ThreadPriority enumeration, 344
ThreadStart delegate, 341
ThreadState enumeration, 344
Timer class, 368
WaitCallback delegate, 341
WaitHandle class, 360
WaitOrTimerCallback delegate, 372
System.Timers namespace
Timer class, 369
System.Windows.Forms namespace
Application class, 421
ButtonBase class, 435
ComboBox class, 443
Control class, 420
DrawltemEventArgs class, 443
DrawMode enumeration, 443
FlatStyle enumeration, 435
Form class, 426
ListBox class, 443
Message structure, 426
NativeWindow class, 420
Timer class, 369