COM Programming with Microsoft .NET

M

Machine level security, 50

machine names , 300

mailboxes. See message queues

managed arrays

marshaling, 447452

pinning, 426

managed C++

delayed assembly signing, 73

destructors, 409

garbage collection, 11

IntPtrs, 77, 78

managed and unmanaged, 456458

pinning, 455

Platform Invoke, 421422, 428432

Runtime Callable Wrappers, 56

signed assemblies, 71

versioning, 142

managed clients , 341

managed code. See also marshaling; Platform Invoke; predefined interfaces

COM integration, 5

interfaces, re-creating, 483487

overview, 402

unmanaged code interaction, 403404, 456458

Visual C++, 428432

Visual C#, 422427

managed components , 169

managed heaps, 15, 104, 404406

managed memory, 16

managed pointers to unmanaged code, 452458

managed strings, 437440

managed structures, 440447

ManagedType destructor, 12

managed/unmanaged transitions, 94

mandatory attribute parameters, 193

mangled names, 430

manual memory management, 403

manual object lifetime management, 4

manual subscriptions, 368

manually redefining COM interfaces, 92

manually writing COM event code, 227228

mapping exceptions and HRESULTs, 132133, 142

mapping COM arrays to .NET, 8183

Marshal class, 18, 77

MarshalAs attribute, 420, 435437, 449

Marshal.GetLastWin32Error() method, 304

marshaling

arrays

COM interop, 451452

Platform Invoke, 447450

structures, 449450

data, 1518, 82, 112

data types, 7577, 136137, 403, 428

interface requirements, 484

name mapping, 415

overriding defaults, 435437

performance considerations, 469470

strings, 437440

structures, 1718, 440447

master interop assemblies, 55

Match function, 256257

MathFunctions class, 378

Maximum Number Of Dump Images setting, 381

member visibility, 14, 112

memory

allocator classes, 245

array data, 82

garbage collection, 404409

instance releasing, 476

leaks, 403

managed code, 402

manager classes, 245246

managing, 403

pinning, 425, 429, 455

pointers, 78

reclaiming, 1011

stack allocation, 427

structure layout, 89

unmanaged code, 402

merge inserted code option, 192, 195

message listeners, 318, 327335

Message object, 324

message players

described, 318

listener/player, 327335

recorder/player, 320327

message processing, COM+, 28, 166169

message queues

accessing, 322323

adding, 169

application, 319

client applications, 337340

client types, 317

COM+, 28

creating, 320322

displaying, 324325

overview, 166169

retrieving from, 325327

rules, 331334

sending to, 323324

setup options, 317

system, 319

testing, 324325

transactions, 319

triggers, 331334

types, 319

Message Queuing (MSMQ). See MSMQ

Message Queuing folder, 168

Message Queuing snap-in, 320

message recorders , 318, 320327

message-based applications, COM+, 28

MessageQueue object, 323, 326

MessageQueueException exception, 327

metadata. See also .NET entity conversions

attributed programming, 190, 210

COM types, 53

component location, 8

object capabilities, 9

type information, 14

MethodName property, 367

methods

attributed programming, 214215

calling, 86

COM+ security, 29, 33, 41

described, 33

design considerations, 92

exporting, 132134

handler, 269270, 274

importing, 87

names, 140

overloaded, 133, 139

static, 139

viewing information, 481

MFC (Microsoft Foundation Classes), 233, 243

Microsoft C++ libraries, 233

Microsoft distributed architecture, 163

Microsoft Distributed Component Object Model (DCOM). See DCOM

Microsoft Intermediate Language (IL). See IL

Microsoft Message Queuing (MSMQ). See MSMQ

Microsoft SQL Server. See SQL Server

Microsoft Transaction Server. See Transaction Server

MIDL compiler, 13

/midl compiler option, 231

MiscStatus subkey , 144

MMC snap-ins (Microsoft Management Console snap-ins)

COM+ services, 171

Component Services

application development, 3437

component installation, 3840

exporting, 4546

overview, 30

security, 4145

user interface, 3034

described, 27

interfaces and, 472

Microsoft Transaction Server, 164

.NET Framework Configuration, 4750

MMC_NOTIFY_TYPE enumeration, 485

module attribute, 195, 205, 207211, 219

modules, importing, 91

moving COM+ applications, 32

.mrg files, 195

MSIL (Microsoft Intermediate Language), 10

MSMQ (Message Queuing)

client applications

data encapsulation, 336337

managed clients, 341

overview, 335336

queue design, 337339

queue setup, 339340

testing, 341342

client types, 317

COM+, 28

event handling, 349

formats, 318, 325

listener/player

component creation, 328331

overview, 327

rules, 331334

testing, 334335

triggers, 331334

overview, 166169, 316320

performance costs, 317

recorder/player

overview, 320

queue access, 322323

queue setup, 320322

retrieving messages, 325327

sending messages, 323324

testing messages, 324325

MTAs (multi-threaded apartments), 15

MTAThreadAttribute, 15

MTS (Microsoft Transaction Server), 164165

multicast events, 170

multiple interfaces implemented, 84

multiple languages, 384

multi-threaded apartments (MTAs), 15

MyCallback() method, 380

MyMath sample component, 34

 

Категории