page coordinates
coordinate transforms, 1122
overview of, 1094–1095
Page Setup, 1126
Page_PreInit( ) event handler, applying themes with, 1285, 1288
PageCatalogPart control, 1291
PageRequestManager, 1328–1331
PaintEventArgs
painting shapes using OnPaint( ), 1080
using clipping region, 1081–1082
painting.
See also OnPaint( ) method
calling Invalidate( ) method for, 1116–1117
shapes using OnPaint( ), 1079–1080
working around debugging problem, 1087–1088
palette, safety, 1097, 1098
Panel controls
FlowLayoutPanel, 1010–1011
overview of, 1010
SplitContainer, 1011
TabPages, 1012
ParallelActivity, 1545–1547, 1561
ParallelActivityDesigner, 1560
parameters
binding to activities, 1570–1571
constructor, 95, 122–124
custom, 353–354
method, 1628
methods in C#, Visual Basic and C++/CLI, 1628
modifiers in C#, Visual Basic and C++/CLI, 1628–1630
output, 91
passing by reference, 90
passing by value, 89–90
passing to workflow, 1568–1569
Parent property, object collections, 1601
Parse( ) method, IPAddress, 1359
partial classes, 104–105
partial keyword, 104–105
partial-page postbacks
detecting with ScriptManager control, 1317–1318
enabling with AJAX Extensions, 1305
Pascal casing, 77
PasswordBox control, WPF, 1148
PasswordRecovery control, ASP.NET, 1281, 1282–1283
passwords, rules for, 1278
Path class
defined, 790
overview of, 794
WFP shapes, 1147
PATH index, XML, 980
path name, queues, 1492–1493
patterns, string searches, 235
payload encoding, 1401
PCSDemoSite Web site
event-booking client example, 1388–1392
master pages in, 1271–1272
navigation in, 1274–1275
security in, 1282–1284
themes in, 1286–1289
user controls in, 1263–1264
PCSExtenderDemo site, 1322–1324
PCSLibrary Demo application
adding event handler, 1330–1331
Web method call, 1332–1334
PCSWebClient application, 1381–1383
PCSWebService application
event-booking client example, 1388–1392
event-booking Web service, 1383–1388
exchanging data using SOAP headers, 1392–1397
exposing Web services, 1377–1380
PeekMessages( ) method, 1504
pens
drawing scrollable windows, 1089
drawing shapes, 1077–1079
in GDI+, 1099–1100
perfmon.exe, 545–546
performance
calling Invalidate( ) method for painting, 1116–1117
CLR and, 5
collections, 317–318
DynamicResource requirements, 1167
generic class benefits, 244–245
optimizing in Visual Studio 2005, 423–424
pointers and, 331, 344–345
Performance Counter Builder, 542–543
performance monitoring
adding PerformanceCounter components, 543–545
classes, 542
overview of, 542
perfmon.exe, 545–546
Performance Counter Builder, 542–543
summary, 546
PerformanceCounter components, 543–545
permacalc.exe, 608
permission sets
code access security and, 597–599
creating/applying, 620
defaults, 598–599
permissions
asserting, 610–612
changing code group, 619–620
code access security and, 591, 597–599
creating, 612
demanding, 604–605
denying, 610
implicit, 609
managing, 617
requesting, 605–609
viewing assembly permissions, 599–601
persistence service, 1574–1575
phantom reads, transaction isolation and, 695–696
phases, transaction, 676–677
physical memory, application domains and, 15–16
piccyBounds array, 1104
PictureBox, 1008
pictures. See resources
platform independence, 4–5
platform invoke
defined, 1651
transactions and, 704
unmanaged functions and, 783–785
pluggability
channels, 1414
defined, 1401
formatters, 1415
proxies, 1419
Point struct
controls, 995
drawing scrollable windows, 1089–1094
drawing text in GDI+, 1107
overview of, 1083–1084
Size struct vs., 1084–1085
pointers, 330–348
arithmetic operators and, 336–337
casting between pointer types, 335
casting to integer types, 334–335
to class members, 338–340
direct access to memory with, 330
marking unsafe code, 331–332
performance optimization with, 344–345
PointerPlayaround example, 340–344
QuickArray example, 347–348
reasons for using, 330–331
sizeof operator, 337
stack-based arrays created with, 345–347
to structs, 337–338
summary, 348
syntax, 332–334
void, 335
PointF struct, 1083–1084
policies, security. See security policies
polling delegates, 549–550
Polygon class, WFP shapes, 1147
pooling
Component Services Explorer and, 1464
Enterprise Services and, 1457
pooling, thread
background threads and, 556
function of, 558–560
restrictions on, 560
pop-up menus, 1063–1066
port numbers
Active Directory binding and, 1596
HTTP channel and, 1410
TCP classes and, 1362
postfix, operator placement, 158
power events
OnPowerEvent( ) method, 725
Windows Services for managing, 745
#pragma, preprocessor directive, 74
precedence, operator, 162–163
predefined data types
Boolean types, 43–44
built-in reference types, 45
built-in value types, 41
character types, 44–45
CTS types, 41
decimal types, 43–44
floating-point types, 42–43
integer types, 41–42
object type, 45–46
string type, 46–47
value types vs. reference types, 39–41
prefix, operator placement, 158
Prepare( ) method, transactional resources, 702
preparing phase, transaction phases, 677
preprocessor directives, 71–74
#define and #undef, 71–72
#if, #elif, #else, and #endif, 72–73
#line, 74
#pragma, 74
#region and #endregion, 73–74
#warning and #error, 73
primary indexes, XML, 980
primary interop assemblies, 764
primary keys
generating with SQL Server, 895–898
setting constraints, 878–879
primary operator, precedence, 162
principal
in role-based security, 632–633
Windows principal, 633–634
defined, 1126
implementing, 1127–1131
overview of, 1127
Print( ) method, 1127
Print Preview
defined, 1126
implementing, 1127–1131
overview of, 1127
printing
implementing Print and PrintPreview, 1127–1131
overview of, 1126–1127
printable characters, 815
WebBrowser control and, 1355
PrintPreviewDialog, 1127–1131
priority
messages, 1502–1503
threads, 557–558
private access modifier, in C#, Visual Basic and C++/CLI, 1640
private assemblies
compared with shared assemblies, 472–473
defined, 478
overview of, 18–19
versioning, 510
private keys. See public key cryptography
private queues
finding, 1491–1492
message queuing, 1488
opening by format name, 1493
opening by path name, 1492–1493
probing assemblies, 510, 520–521
<probing> directory, configuring, 520–521
Professional ASP.NET 1.1 (Wiley Publishing, Inc.), 1300
Professional ASP.NET 2.0 (Wiley Publishing, Inc.), 1251
Professional WPF Programming: NET Development with the Windows Presentation Foundation (Andrade et al.), 1212
Program.cs file, Visual Studio, 405–406
programming guidelines
fields, 81
identifiers, 74–76
naming conventions, 77–80
properties and methods, 80–81
usage conventions, 76–77
ProgressBar control
overview of, 1008
WPF, 1148
projects, Visual Studio 2005
adding to solutions, 408–410
build terminology, 423
building, 422
configuring, 425–427
Console Application project option, 405–406
creating, 400–402
debugging, 427
files created during project creation, 405–407
.NET Framework 3.0 and, 434–436
optimizing, 423–424
projects vs. solutions, 407–408
reading/upgrading Visual Studio 6
projects, 411
selecting type, 402–405
setting startup project, 410
properties, 92–94
access modifiers for, 94
accessing by name in directory services, 1601
Application class, 989
Array class, 139–140
attached, 1562–1563
in C#, Visual Basic and C++/CLI, 1631–1632
channel, 1412–1414
class function definitions, 85
collection, 270–271
context, 1405, 1406
data contracts, 1525
data table and data column, 870–872
defining, 92–93
defining in Visual Basic and C++/CLI, 1631
event trigger, 1189
event-booking client example, 1389–1390
exception, 381–382
file system, 792
HTTP header information, 1344
IChannel interface, 1412
IMessageSink, 1421
IPC channels, 1413–1414
linked lists, 290
MDI (Multiple Document Interface), 1022–1023
MenuStrip control, 1015
message queue, 1489–1490
ObjectDataProvider, 1198
read-only and write-only, 93–94
Rectangle struct, 1086
reflection, 359–360
RegistryKey class, 833
searching Active Directory for, 1607–1610
service contracts, 1522–1524
ServiceController class, 735–736
sorted lists, 298
SqlUserDefinedTypeAttribute, 960–961
struct, 1082
TaskDialog, 1662–1663
Timeline, 1185
Uri and UriBuilder classes, 1358
usage conventions, 80–81
viewing file, 794–799
Windows Services, 721
WPF programming and, 1136–1138
XmlWriter class, 913
XPathNodeIterator, 922
properties, Web server controls
data control, 1228–1229
standard control, 1224–1227
validation, 1229–1330
Properties window, Visual Studio 2005, 418–419
PropertiesToLoad, searching in Active Directory, 1606–1607
PROPERTY index, XML, 980
property keyword, 1631
property triggers, 1167–1169
PropertyGridEditorPart control, 1292
PropertyManager, creating by binding objects, 1056–1058
protected methods, ServicedComponent class, 1458
protected private access modifer, in C++/CLI, 1640
protectionLevel attribute, 1443
protocol stack, 1362
protocols, 1361–1371
Active Directory binding, 1596
overview of, 1361–1362
Socket class, 1367–1371
TCP vs. UDP, 1365–1366
TcpSend and TcpReceive examples, 1363–1365
UDP class, 1366–1367
using TCP classes, 1362–1363
proxies
activating, 1419
for client access to service, 1536–1537
consuming Web services with, 1381
.NET Remoting and, 1402–1404
pluggability of, 1419
for sending messages to channel, 1420
Web services vs. .NET Remoting, 1409
ProxyWebPartManager control, 1291
public key cryptography
delayed signing of private keys, 507
overview of, 501–502
strong names and, 500–503
public queues
finding, 1491–1492
in message queuing, 1487
opening by path name, 1492–1493
publisher policies
adding policy assembly to GAC, 516–517
as configuration file, 510
creating/associating with shared assemblies, 516
overriding, 517–518
overview of, 515–516
publishing applications
ClickOnce for, 460
Web sites, 442, 446
pull model, XmlReader, 907
push model, SAX, 907