COM Programming with Microsoft .NET

P

Pack parameter, 441442

packing, 441

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 function, 257

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 property, 323, 330

path to DLLs at run time, 458460

pattern matching, 256257

permanent catalog changes, 347

permanent subscriptions

creating, 363368

overview, 349

subscriber applications, 360

testing, 368369

Permission Sets folder, 50

permissions, setting, 50

PIAs (primary interop assemblies)

installing, 73

locations, 73

namespaces, 59

overview, 54

referencing components , 60

__pin keyword, 429, 455

pinned handles, 453

pinning, 425, 429, 455

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

Point instances, 443

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

pragma attribute, 219

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

prefixes, namespace, 126

preinstalled applications, 181

Prelink method, 470

PrelinkAll method, 470

preloading DLLs, 470

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 keys, 7172

private members , 141

private queues, 320

Private Queues folder, 168, 320

ProcessMessage() method, 330

product registration numbers , 309

progid attribute, 111, 207, 217

progIDs, 7, 111

properties

COM+ settings, 33

exporting, 134136

importing, 87

propget attribute, 87, 134136, 214

propput attribute, 87, 134136, 214

propputref attribute, 87, 134136, 214

protected members, 141

protected types, 14

protocol stacks, 176

protocols

DCOM, 172178

HTTP, 278

SOAP, 278279, 283

prototypes , event, 351

proxy applications

COM+, 4546, 156, 295296

DCOM connections, 175, 178

overview, 180

proxy/stub DLLs, 112

ptr attribute, 214

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

publishers, 350355

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

 

Категории