Paperback: 1579 pages
Publisher: Sams Publishing; 1 edition (February 10, 2002)
Language: English
ISBN-10: 067232170X
ISBN-13: 978-0672321702
Product Dimensions: 7.4 x 3.2 x 9.3 inches
Shipping Weight: 5.4 pounds (View shipping rates and policies)
Average Customer Review: 4.2 out of 5 stars See all reviews (26 customer reviews)
Best Sellers Rank: #786,534 in Books (See Top 100 in Books) #10 in Books > Computers & Technology > Programming > APIs & Operating Environments > COM, DCOM & ATL #119 in Books > Computers & Technology > Internet & Social Media > Web Browsers #259 in Books > Computers & Technology > Programming > Microsoft Programming > .NET
Moving to .NET doesn't mean throwing away your COM code. Integrating the 2 worlds (managed and unmanaged) is achieved via COM Interoperability and there are 2 main scenarios: 1. Writing .NET clients that use COM servers 2. Writing .NET servers to be used by COM clientsThis 1500 pager is split into 9 parts containing 24 chapters and 6 appendices. In my opinion, the heart of this work lies in parts 2-5 (650 pages, 14 chapters) that thoroughly detail how to write perfect .NET components for COM clients, COM components for .NET clients, .NET clients for COM components and COM clients for .NET components. Trust me (and anyone that has read this book), there is absolutely nothing else left to be said about the topic.The remaining 3 parts cover PInvoke (talking to Win32 dlls), advanced topics such as custom marshaling and two comprehensive examples. The quality throughout is of the highest level. It is a joy to read and full of technical information, a lot of it not found anywhere else. Own this book and forget the online help or any internet sites when it comes to interoperability.The examples used throughout the book are not overly complex or academic or basic; they are just right. Such a balance is hard to strike. What is also hard to find is a book that treats both VB & C++ developers equally. Many authors will benefit by reading Nathan's writings to learn how to achieve that. Whether you plan to write C# or VB.NET code and whether your COM components were written in C++ or VB6 you will not feel left out or bored going through the chapters.Although large, it can be read linearly and it will definitely serve as a reference text on your shelf. I particularly enjoyed the sidebars (categorised as FAQ, Digging Deeper, Tip, and Caution) which are full of golden information. I could go on praising it but suffice to say that it could easily be sold with money-back guarantee and not a single book would be returned.
This is an amazing reference book for COM and P/Invoke interop (i.e. Win32 interop), an essential topic that most .NET books don't cover well enough. It's essential if you're migrating to .NET, or even if you're writing a non-trivial .NET application from scratch since the .NET Framework has many holes in functionality that must be filled by using interop.I was skeptical because I've had bad luck with Sams books in the past, but this book is wonderful! It's incredibly thorough, complete, and has lots of useful examples and great sidebars. The author's expertise really shines through... It covers things I couldn't find anywhere else (and I've looked at other Interop books) such as an in-depth treatment of custom marshaling, and I really enjoyed the last chapter with Windows Media Player that demonstrated how to expose existing COM APIs as brand new .NET-looking APIs with very little code.The chapters are self-contained, clearly organized, and jam-packed with information. I swear, each page I learned something new, and that's a lot of pages! It answered all of my questions and doubts about .NET interop. I can't imagine doing .NET programming without this book.
I spend most of my professional life right now deep in COM Interop of .NET. Although the concepts are rather straightforward, the actual "little things" and using it for real non-trivial COM components have proven to be quite difficult for many. We have run into many difficult issues at the place I work with using it for non-trivial COM components. There are many parts of the System::Runtime::InteropServices namespace that are hard to understand. I have found Adam Nathan to be an invaluable resource here on mailing lists and in private email. So, it was with great anticipation, that I looked forward to his "COM Interop" book shipping. Since we (the place I work) were having so many struggles with COM Interop, we were counting the days. I made sure I had 24 hour ship.This afternoon, Adam's book gets rushed to my house. Much to my surprise, it is not only everything I expected on COM Interop but a 1579 page complete definitive work on *all* interop including PInvoke. Everything is here in exhaustive detail. Adam, great job. The cover has Don Box saying " This is the last book that should be written about COM programming. There is nothing left to say." I agree.It's all here. The basics of using COM in .NET and vise versa, iindepth look at the wrapper assemblies, responding to COM events, all aspects of marshaling, modifying interopp assemblies, and much much more.Highly recommended!
Never one to skimp on books, I ordered three with almost exactly the same title on COM/.NET Interop when I needed some information on the subject. Adam Nathan's book is by far my favorite. I've never found an answer in another book that wasn't in Nathan's (and have found many in his that I didn't find anywhere else).It seems like this book isn't as easy to get on as it once was--a pity, because it's the first (and maybe only) Interop book you'll need. Maybe he'll come out with another edition as .NET changes...
Currently, this is *the* reference book for the subject area of .NET interop with COM and other unmanaged code via P/Invoke. At almost 1600 pages, it can seem daunting but just treat it like a reference. Open up to the chapter that covers what you are interested in, such as "The Essentials of using COM in Managed Code" (chapter 3) or "The Essential of PInvoke" (chapter 18) or "Customizing COM's View of .NET components" (chapter 12). This last one is one of my favorites because it shows how you have more flexibility in writing COM components in .NET than you have with VB 6.Another thing I really like about this book is that it has lots of sidebars with tons of useful information that I haven't found anywhere (at least not easily) in the current .NET docs.Heck, even the appendix is chock full of good stuff like mappings between COM HResults and .NET exceptions and PInvoke definitions for the Win32 API.
ASP.NET: Programming success in a day: Beginners guide to fast, easy and efficient learning of ASP.NET programming (ASP.NET, ASP.NET Programming, ASP.NET ... ADA, Web Programming, Programming) .NET and COM: The Complete Interoperability Guide Pro ASP.NET Web API Security: Securing ASP.NET Web API (Expert's Voice in .NET) COM and .NET Interoperability COM and .NET Interoperability (Expert's Voice) IIOP Complete: Understanding CORBA and Middleware Interoperability VBScript: Programming Success in a Day: Beginner's Guide to Fast, Easy and Efficient Learning of VBScript Programming (VBScript, ADA, ASP.NET, C#, ADA ... ASP.NET Programming, Programming, C++, C) ASP.NET: Programming Success in a Day: Beginners Guide to Fast, Easy and Efficient Learning of ASP.NET Programming Power Over Ethernet Interoperability Guide Tor and The Dark Net: Remain Anonymous Online and Evade NSA Spying (Tor, Dark Net, Anonymous Online, NSA Spying) Beginning Web Development, Silverlight, and ASP.NET AJAX: From Novice to Professional (Expert's Voice in .NET) Pro Visual C++/CLI and the .NET 2.0 Platform (Expert's Voice in .NET) Pro C# 5.0 and the .NET 4.5 Framework (Expert's Voice in .NET) ASP.NET MVC 5: Learn ASP.net MTV 5 Programming FAST and EASY! (From Zero to Professional Book 1) Learn ASP.NET MVC: Be ready for coding away next week using ASP.NET MVC 5 and Visual Studio 2015 Programming ASP.NET AJAX: Build rich, Web 2.0-style UI with ASP.NET AJAX Advanced ASP.NET AJAX Server Controls For .NET Framework 3.5 Foundations of C++/CLI: The Visual C++ Language for .NET 3.5 (Expert's Voice in .NET) Expert Visual C++/CLI: .NET for Visual C++ Programmers (Expert's Voice in .NET) Pro ASP.NET MVC 5 (Expert's Voice in ASP.Net)