P
parameters
application roots, 405
attributed programming, 193, 201, 207, 214215
DllImport attribute, 413
parsing functions, 270, 275277
replacement tags, 269
Web service implementation, 280
parse_func parameter, 270
ParseSquareData function, 275276
parsing COM+ catalogs, 363, 371
parsing functions, 270, 275277
partial pattern matches, 257
partially signed assemblies, 72
PassArrayRef function, 448
passing arrays
COM, 451
references, 448, 450
values, 447, 449
passing managed pointers to unmanaged code,
452458
path to DLLs at run time, 458460
permanent catalog changes, 347
permanent subscriptions
creating, 363368
overview, 349
subscriber applications, 360
testing, 368369
Permission Sets folder, 50
PIAs (primary interop assemblies)
installing, 73
locations, 73
namespaces, 59
overview, 54
referencing components , 60
Platform Invoke. See also marshaling
described, 5
DLLs, 458460
It Just Works mechanism, 431432
managed C++, 421422, 428432
mangled names , 430
overview, 410
performance considerations, 469470
pointers, 452
type conversions, 416417, 428
unsafe keyword, 424
Visual Basic .NET, 410415
Visual C#, 417420, 422427
players, message
described, 28, 318
listener/player, 327335
recorder/player, 320327
pnElements parameter, 448
pointer_default attribute, 212
pointers
application roots, 405
callbacks and, 461466
converting, 7779
function, 461
interface usage, 474
managed code interoperability, 429
passing to unmanaged code, 452458
rules, 104
smart, 457
unmanaged code interoperability, 401404, 420, 422
Policy Assemblies folder, 50
Populate() method, 347, 366
populating collections, 366
positional parameters, 193
pre-built applications, 36
predefined interfaces
analyzing, 481483
COM, 471474, 483487
comparisons, 481
examples, 487489
overview, 471
researching , 475476
unmanaged controls, 480481
verifying, 482
viewing, 477479
preinstalled applications, 181
premature garbage collection, 467
PreserveSig attribute, 132, 484, 488
PreserveSig parameter, 415
preventing garbage collection, 467
primary interop assemblies (PIAs)
component referencing, 60
installing, 73
locations, 73
namespaces, 59
overview, 54
PrimaryInteropAssembly attribute, 55, 73
priority information, message, 324, 326327, 335
Priority property, 326327, 335
private assemblies, 8, 67, 70
Private Queues folder, 168, 320
ProcessMessage() method, 330
product registration numbers , 309
progid attribute, 111, 207, 217
properties
COM+ settings, 33
exporting, 134136
importing, 87
propget attribute, 87, 134136, 214
propput attribute, 87, 134136, 214
propputref attribute, 87, 134136, 214
protocols
DCOM, 172178
HTTP, 278
SOAP, 278279, 283
proxy applications
COM+, 4546, 156, 295296
DCOM connections, 175, 178
overview, 180
public
default constructors, 10
fields, 136
key tokens, 48
keys, 7073, 125, 142
members, 14, 141
queues, 320
types, 14
Public Queues folder, 168, 320, 324
publish/subscribe model
COM+ catalogs, 345347
component subscribers, 355360
described, 171
errors, 350
event objects, 350353, 356
overview, 347349
publishers, 353355
vs. request/reply, 345
subscriptions, 347349
testing, 360