COM Programming with Microsoft .NET

I

IAccessible interface, 480

IAltMemMgr interface, 245

IAsyncResult variable, 380

IAtlStringMgr interface, 245-246

ICatalogCollection object, 346, 363, 366

ICatalogObject object, 347

ICheckString interface, 310

IComponent interface, 160, 473, 476, 483

IComputerName interface, 303

icons, Component Services, 31-32

id attribute, 214

IDataObject interface, 474, 484

IDE, component access with, 19-25

identifying

assemblies, 9

components , 8

controls, 144

identity options, 37

IDispatch interface, 106, 113, 140

IDispatch method, 85

IDispatchImpl attribute, 113

IDisposable interface, 160, 162, 300, 305, 408

IDL (Interface Definition Language). See also attributed programming

described, 13

generating, 231

suppressing generation, 231

type conversions, 75-77, 136-137

value types and, 137

/idlout compiler option, 23

idl_quote attribute, 219

IEnum interfaces, 242

IErrorInfo, 93

/ignoreidl compiler option, 231

IIDs (interface IDs), 128, 488

IJW (It Just Works mechanism), 431-432

IL (Microsoft Intermediate Language), 10

IL Disassembler, 88

ILDasm.exe, 88

Image Dump Directory values, 381

IManagedObject interface, 162

Implemented Categories subkey , 144

implements attribute, 217

implements_category attribute, 217

implicit conversions, 258

import attribute, 219

importer. See type library importer

importidl attribute, 219

importing

ActiveX controls, 100

arrays, 81-83

attributes, 74

coclasses , 83-85

constants, 90

data types, 75-83

enumerations, 90

interfaces, 85-88

methods , 87

modules, 91

properties, 87

structures, 88

type libraries, 74-75

typedefs , 90

unions, 89

importlib attribute, 219

IMyInterface interface, 106

in attribute, 132, 214, 447, 486

In parameter, 132, 447

include tag, 262, 264

independent MSMQ clients , 317

indexes, Web application, 388

inequality operators, 79

inheritance

class exportation and, 127

exceptions, 13

hierarchy, 129-131, 481

visibility, 14

inherited roles, 45

Initialize method, 484

initializing objects, 10

in-memory interop assemblies, 61

in-memory type libraries, 61

in-place activation, 483

inserted code, viewing, 192, 195

instances

lifetime management, 9

releasing, 476

instantiating components, 84

Int32 values, 486, 488

integrating COM in .NET. See also converting; Runtime Callable Wrappers

COM interop, 53-55

component integration

accessing, 19-25

ActiveX controls, 99-102

design considerations, 91-94

event handling, 94-99

overview, 53

differences

component identification, 8

component locations, 7-8

data handling, 15-18

error handling, 13

event handling, 19

garbage collection, 10-13

object-oriented principles, 10

objects, 9

type information, 13

visibility, 14-15

future of, 3-5

overview, 5-7

integrating COM+ in .NET. See also Component Services snap-in

benefits of, 28-29

improvements, 29

.NET Framework Configuration snap-in, 47-50

overview, 27

problems, 29-30

integrating .NET in COM. See also COM Callable Wrappers; exporting

attributes, 108-114, 141

from COM client code, 120-125

default constructors, 139

design considerations, 139-143

event handling, 141, 148-152

HRESULTs, 142

interfaces, 105-108, 140

naming problems, 139-140

objects, 104

registry entries, 119-120

static methods, 139

type libraries, 114-119

version numbers , 142

Windows Forms controls, 143-148

integrating .NET in COM+. See also COM+ examples

application types, 179-181

COM vs. COM+, 156

COM+ background information, 163

COM+ services, 169-171

connections, 173-178

data flow optimization, 178

DCOM, 172-178

distributed architecture, 163

error handling, 182

interoperability, 156-162

messaging, 166-169

overview, 155

security, 183-184

transactions, 164-165

Interactive User option, 37

interceptors , 29

Interface Definition Language (IDL). See IDL

interface IDs (IIDs), 128, 488

__interface keyword, 198, 206, 211

interface pointers, 94, 104

InterfaceID property, 367

interfaces. See also COM interfaces; .NET interfaces

analyzing, 481-483

attributed programming, 211-216

CCW implemented, 105-108

changes to, 107

changing, 140

class, 106-108

comparing, 481

converting, 85-88, 106

custom, 106-108

described, 474

design considerations, 92

dispatch, 215

explicit source, 149-151

exporting, 128-136

multiple implemented, 84

re-creating with managed code, 483-487

researching , 475-476

type produced, 128

verifying, 482

viewing, 477-479

visibility, 112

InterfaceType attribute, 111, 118, 128, 292, 330, 483

internal types, 14

InternalDispose method, 409

international considerations, 384

Internet

COM+ and, 29, 169

DCOM and, 172

Internet Explorer, 143, 145-148

interop assemblies. See also Runtime Callable Wrappers

ActiveX controls, 101

component referencing, 60

delayed signing, 72

generating

overview, 55

TlbImp.exe, 57-61

TypeLibConverter class, 61-67

Visual Studio .NET, 56

Global Assembly Cache, 67-73

library conversions, 74

namespaces, 59

overview, 54

signing, 71

strong names , 70-71

interop marshaling, 16

interoperability. See integrating COM in .NET; integrating COM+ in .NET; Platform Invoke; unmanaged code

IntPtrs, 77-81, 420, 439

invalid progIDs, 112

Invoke method, 140

IObjectSafety interface, 483, 487

IOleWindow interface, 483

IProvideClassInfo, 94

IRemoteDispatch interface, 162

ISAPI extensions, 260, 272

ISAPI filters, 261

ISecurityCallContext interface, 183-184

IString interface, 121, 123

ISupportErrorInfo interface, 93, 478

It Just Works (IJW) mechanism, 431-432

iteration classes, 238

IUnknown interface, 104, 106, 140, 474, 481

IUnknown method, 85

IViewObject interface, 482

IViewObject2 interface, 482

 

Категории