000 11638nam a22005898a 4500
001 BDZ0005139129
003 StDuBDS
005 20180923150208.0
008 020226s2002 cau f 000 0 eng d
010 _a2005297778
020 _a9781590590119 (pbk.) :
_c£28.50
020 _a9781590590119
_q(pbk.)
029 1 _aAU@
_b000023739549
029 1 _aDEBBG
_bBV014309434
029 1 _aNZ1
_b9794118
029 1 _aYDXCP
_b1842309
035 _a(OCoLC)49931655
_z(OCoLC)50076270
040 _aStDuBDS
_cStDuBDS
_dStDuBDSZ
050 4 _aQA76.6
072 7 _aCOM
_2ukslc
072 7 _aUMP
_2thema
072 7 _aUMZ
_2thema
072 7 _aUMX
_2thema
072 7 _aUYF
_2thema
082 0 _a005.268 TRO
_221
100 1 _aTroelsen, Andrew.
245 1 0 _aCOM and .NET interoperability /
_cby Andrew Troelsen.
260 _aSan Francisco, Calif. :
_bApress,
_c2002.
300 _a378p.
336 _btxt
337 _bn
338 _bnc
490 1 _a. Net developer series
500 _aIncludes index.
505 0 0 _gChapter 1
_tUnderstanding Platform Invocation Services
_g1 --
_tThe Two Faces of Unmanaged Code
_g1 --
_tUnderstanding the C-Style DLL
_g2 --
_tBuilding a Custom C-Based DLL
_g5 --
_tViewing Your Imports and Exports Using dumpbin. exe
_g9 --
_tDeploying Traditional DLLs
_g12 --
_tA Dynamic C++ DLL Client
_g15 --
_tThe Atoms of PInvoke
_g18 --
_tA Trivial PInvoke Example
_g26 --
_tInteracting with MyCustomDLL.d11
_g33 --
_tWorking with Unmanaged Callbacks
_g42 --
_tA Simple Callback Example
_g43 --
_tA More Interesting Callback Function
_g44 --
_tBuilding a C? Callback Client
_g46 --
_gChapter 2
_tThe Anatomy of a COM Server
_g51 --
_tOf Classes and Interfaces
_g51 --
_tThe Composition of a COM DLL
_g63 --
_tThe Role of Type Libraries
_g65 --
_tThe Role of the System Registry
_g66 --
_tCreating the COM DLL Project Workspace
_g67 --
_tUnderstanding COM Interfaces
_g68 --
_tA Brief Word on COM-Centric Macros
_g79 --
_tImplementing the ComCar
_g80 --
_tUnderstanding IClassFactory
_g84 --
_tBuilding Your Class Factory
_g85 --
_tImplementing DLL Component Housing
_g88 --
_tExporting the Exports
_g90 --
_tRegistering the COM Server
_g91 --
_tDeveloping a C++ COM Client
_g97 --
_tUnderstanding COM Properties
_g105 --
_tBuilding Scriptable Objects (Using IDispatch)
_g108 --
_tThe VARIANT Data Type
_g112 --
_tA C++ IDispatch Example
_g116 --
_tA Visual Basic IDispatch Client
_g117 --
_tUnderstanding the Dual Interface
_g118 --
_tDefining a Scriptable Object
_g118 --
_tBuilding the Class Factory
_g123 --
_tUpdating DllGetClassObject
_g123 --
_tUpdating the Server's Registration File
_g124 --
_tBuilding a VBScript Late-Bound Client
_g124 --
_gChapter 3
_tA Primer on COM Programming Frameworks
_g127 --
_tThe Role of the Active Template Library
_g127 --
_tThe Role of Visual Basic 6.0
_g146 --
_gChapter 4
_tCOM Type Information
_g161 --
_tThe Format of a COM IDL File
_g162 --
_tDefining COM Types
_g163 --
_tPrimitive COM Data Types
_g164 --
_tIDL Method Parameter Attributes
_g167 --
_tDefining COM Interface Types in IDL
_g171 --
_tThe ITypeInfo Interface
_g185 --
_tGenerating COM Type Information Programmatically
_g189 --
_tBuilding the Type Library (ICreateTypeLib)
_g191 --
_tCreating the IHello Interface
_g193 --
_tBuilding the SayHello() Method
_g198 --
_tBuilding the Hello Coclass
_g200 --
_tTesting the Application
_g201 --
_tProgrammatically Reading COM Type Information
_g203 --
_tDefining Custom IDL Attributes
_g212 --
_tIntroducing the System. Runtime. InteropServices Namespace
_g218 --
_tBuilding a C? COM Type Information Viewer
_g220 --
_gChapter 5
_tThe Anatomy of a .NET Server
_g229 --
_tThe Philosophy of .NET
_g230 --
_tThe Building Blocks of .NET
_g231 --
_tWorking with Managed Languages
_g232 --
_tThe Composition of a .NET Binary
_g233 --
_tBuilding a C? Code Library
_g235 --
_tIntroducing ILDasm.exe
_g243 --
_tBuilding a Managed Client
_g250 --
_tSpecifying Arbitrary Assembly Locations
_g253 --
_tUnderstanding the Shared Assembly
_g254 --
_tUsing the Shared Assembly
_g262 --
_tVersioning Shared Assemblies
_g264 --
_tWorking with Publisher Policy Assemblies
_g267 --
_tAnd Now for Something Completely Different: System. CodeDOM
_g270 --
_tIntroducing the System. CodeDOM Namespace
_g272 --
_tCompiling the Assembly
_g284 --
_gChapter 6
_t.NET Types
_g289 --
_tThe Role of System. Object
_g289 --
_tExamining the .NET Data Type System
_g294 --
_tThe Set of Custom .NET Types
_g297 --
_tBuilding a Complex Code Library
_g302 --
_tUnderstanding Reflection
_g304 --
_tWorking with System. Type
_g304 --
_tThe System. Reflection Namespace
_g309 --
_tDynamically Loading an Assembly
_g310 --
_tBuilding a Custom .NET Type Viewer
_g312 --
_tA Brief Word Regarding System. Reflection. Emit
_g323 --
_tUnderstanding .NET Attributes
_g323 --
_tCreating and Applying Custom Attributes
_g325 --
_tReading Attributes at Runtime
_g330 --
_tBinding Late to Shared Assemblies
_g335 --
_gChapter 7
_t.NET-to-COM Interoperability -- The Basics
_g339 --
_tA High-Level Overview of .NET-to-COM Interoperability
_g339 --
_tBuilding an Interop Assembly -- The Simplest Possible Example
_g342 --
_tConverting Between COM IDL Data Types and Managed Data Types
_g346 --
_tInterfaces Consumed by the RCW
_g351 --
_tOptions to Obtain an Interop Assembly
_g353 --
_tExamining the Generated .NET Types
_g356 --
_tSelect Members of the System. Runtime. InteropServices Namespace
_g362 --
_tCOM Library Statement to .NET Assembly Statement Conversion Rules
_g367 --
_tCOM Types to .NET Types Conversion Rules
_g371 --
_tDeploying Interop Assemblies
_g392 --
_tCreating a Primary Interop Assembly
_g393 --
_tReflecting on Interop Assembly Attributes
_g396 --
_tInteracting with Well-known COM Servers
_g399 --
_gChapter 8
_t.NET-to-COM Interoperability -- Intermediate Topics
_g403 --
_tHandling the COM VARIANT
_g403 --
_tBuilding a VARIANT-Centric COM Server
_g405 --
_tHandling COM SafeArrays
_g410 --
_tHandling C-Style Arrays
_g419 --
_tHandling COM Param Arrays
_g420 --
_tHandling COM Structures
_g421 --
_tHandling COM Collections
_g426 --
_tA Brief Review of COM Connection Points (COM Events)
_g437 --
_tBuilding a Connectable COM Type
_g441 --
_tA Brief Review of .NET Delegates
_g443 --
_tA Brief Review of .NET Events
_g445 --
_tExamining the Interop Assembly
_g448 --
_tHandling COM Error Objects
_g459 --
_tThe .NET Error Handling Mechanism
_g464 --
_tDebugging COM Servers Using VS .NET
_g468 --
_gChapter 9
_t.NET-to-COM Interoperability -- Advanced Topics
_g471 --
_tRevisiting the Marshal Class
_g471 --
_tCOM Coclasses Implementing .NET Interfaces
_g475 --
_tGuidelines for Building .NET Type Compatible COM Classes
_g484 --
_tConsuming ActiveX Controls from Managed Code
_g490 --
_tOptions for Consuming ActiveX Controls from Managed Code
_g495 --
_tModifying the Code for the AxHost-Derived Type
_g504 --
_tManually Modifying Interop Assemblies
_g508 --
_tUnderstanding the Interop Editing Process
_g510 --
_tDissecting the Layout of Attribute Metadata
_g517 --
_tBuilding a "Scratch" Assembly
_g519 --
_tBuilding the Managed Client
_g526 --
_tBuilding a Custom Type Library Importer Utility
_g528 --
_tBuilding the Main Shell
_g530 --
_gChapter 10
_tCOM-to-.NET Interoperability -- The Basics
_g539 --
_tThe Role of the CCW
_g539 --
_tCore Requirements for COM-to-.NET Communications
_g544 --
_tUsing the tlbexp.exe Utility
_g546 --
_tGeneral Guidelines for Building COM-Aware .NET Types
_g547 --
_tCritical .NET-to-COM Conversion Details
_g554 --
_tUnderstanding the Class Interface
_g557 --
_tUnderstanding the Object Interface
_g562 --
_tThe Case Against Class Interfaces
_g563 --
_tExposing Custom .NET Interfaces to COM
_g564 --
_tImplementing Explicit Interfaces
_g567 --
_tControlling the Generated ProgID
_g567 --
_tControlling the COM Library Definition
_g568 --
_tHandling Overloaded Methods
_g569 --
_tImporting mscorlib.tlb
_g570 --
_tUsing the regasm.exe Utility
_g572 --
_tExamining the Updated Entries
_g574 --
_tDeploying the .NET Assembly
_g582 --
_tLeveraging the Visual Studio .NET IDE
_g584 --
_tBuilding a Visual Basic 6.0 COM Client
_g584 --
_tBuilding a C++ COM Client
_g589 --
_tBuilding a VBScript COM Client
_g590 --
_gChapter 11
_tCOM-to-.NET Interoperability -- Intermediate Topics
_g593 --
_tConverting .NET Enums to COM Enums
_g593 --
_tConverting .NET Structures to COM Structures
_g598 --
_tConverting .NET Delegates to COM Connection Points
_g604 --
_tBuilding a .NET Event Server Using VB .NET
_g608 --
_tBuilding a Visual Basic 6.0 Event Client
_g609 --
_tBuilding a C++ Event Client
_g610 --
_tExposing Custom .NET Collections
_g614 --
_tExposing .NET Exceptions
_g619 --
_tExercising Your DotNetCollection Assembly from C++
_g621 --
_tConverting .NET Interface with Multiple Base Interfaces
_g624 --
_tConverting .NET Interface Hierarchies
_g627 --
_gChapter 12
_tCOM-to-.NET Interoperability -- Advanced Topics
_g633 --
_tChanging Type Marshaling Using MarshalAsAttribute
_g633 --
_t.NET Types Implementing COM Interfaces
_g638 --
_tDefining Custom COM Interfaces
_g638 --
_tBuilding a VB 6.0 COM Client
_g644 --
_tDefining COM Interfaces Using Managed Code
_g646 --
_tManually Defining COM Atoms: An Extended Example
_g650 --
_tInteracting with Interop Assembly Registration
_g653 --
_tProgrammatically Converting Assemblies to COM Type Information
_g655 --
_tHosting the .NET Runtime from an Unmanaged Environment
_g660 --
_gChapter 13
_tBuilding Serviced Components (COM+ Interop)
_g669 --
_tThe MTS, COM+, Component Services Name Game
_g669 --
_tRecapping Component Services
_g670 --
_tReviewing the COM+ Runtime Environment
_g672 --
_tThe Role of the COM+ Catalog
_g675 --
_tThe Component Service Explorer
_g678 --
_tA Classic COM+ Example
_g682 --
_tBuilding a VB 6.0 COM+ Client
_g683 --
_tDeploying COM+ Applications
_g685 --
_tThe System. EnterpriseServices Namespace
_g687 --
_tUsing the regsvcs.exe Command Line Utility
_g694 --
_tAccessing the Configured .NET Component from VB 6.0
_g698 --
_tAccessing the Configured .NET Component from C?
_g699 --
_tEnabling Component Statistics
_g699 --
_tA Brief Word on Lazy (Automatic) Registration
_g700 --
_tWorking with the RegistrationHelper Type
_g701 --
_tConfiguring a Managed COM+ Application Using .NET Attributes
_g703 --
_tSupporting Object Construction Strings
_g704 --
_tExamining the ContextUtil Type
_g706 --
_tUnderstanding JITA
_g708 --
_tJITA, IObjectControl, and the .NET Garbage Collector
_g714 --
_tConfiguring Poolable Objects
_g715 --
_tA Recap of Transactional Programming
_g717 --
_tProgramming COM+ Transactions
_g720 --
_tA Complete Serviced Component Example
_g724
520 8 _aAndrew Troelsen explains the process of building .NET applications that are capable of interacting with existing COM code. The author provides a complete overview of COM architecture and its interaction with the Windows API.
630 0 0 _aMicrosoft .NET Framework.
_91694
650 0 _aObject-oriented programming (Computer science)
_91696
650 0 _aComputer software
_xDevelopment
_9313
650 0 _aCOM (Computer architecture)
_91695
650 0 _aCOM (Computer architecture)
650 0 _aComputer programming.
650 7 _aComputers and IT.
_2ukslc
650 7 _aMicrosoft programming
_2thema
650 7 _aSoftware Engineering
_2thema
650 7 _aProgramming & scripting languages: general
_2thema
650 7 _aComputer architecture & logic design
_2thema
776 0 8 _iOnline version:
_aTroelsen, Andrew W
_tCOM and . Net interoperability
_dBerkeley, CA : Apress ; New York, NY : Distributed to the book trade in the United States by Springer-Verlag New York Inc., 2002
_w(OCoLC)606737097
776 0 8 _iOnline version:
_aTroelsen, Andrew W
_tCOM and . Net interoperability
_dBerkeley, CA : Apress ; New York, NY : Distributed to the book trade in the United States by Springer-Verlag New York Inc., 2002
_w(OCoLC)607781845
830 0 _a.NET developer series.
_91697
942 _2ddc
_cAL_LL
999 _c175534
_d175534