Buy Used
Used - Good See details
$5.97 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Have one to sell? Sell yours here
Essential IDL: Interface Design for COM (The DevelopMentor Series)
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Essential IDL: Interface Design for COM (The DevelopMentor Series) [Paperback]

Martin Gudgin (Author)
4.7 out of 5 stars  See all reviews (3 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more


Book Description

0201615959 978-0201615951 December 15, 2000 1st
Virtually all COM projects should begin with IDL, because defining interfaces is the key to successfully designing any COM project. Essential IDL is the first book that focuses entirely on IDL, providing in-depth explanations of both the language and its applications. Essential IDL starts by explaining why IDL exists, what it is for, and what can be done with it. All aspects of IDL syntax are covered: basic interface definition, complex data types, array handling, marshalling issues, and more. From start to finish, the focus is pragmatic. Expert COM developer Martin Gudgin presents extensive IDL code samples and resulting C++, Java, and VB language mappings, demonstrating exactly how to use IDL constructs sensibly and efficiently in both client-side and server-side projects. Gudgin takes a top-down approach, starting with interfaces, then drilling down into simple data types, complex types, pointers and arrays; and finishing with aliasing and other esoteric IDL constructs. The second half of the book is a complete reference guide to all of IDL's data types, modifiers, keywords and attributes.


Editorial Reviews

From the Inside Flap

All developers targeting the Compound Object Model (COM) need a working knowledge of the COM Interface Definition Language (IDL

All developers targeting the Compound Object Model (COM) need a working knowledge of the COM Interface Definition Language (IDL). IDL is a reasonably complex language and can be quite arcane, and acquiring a knowledge of it has been an uphill struggle. This book provides a comprehensive description of IDL and how to use it, making it accessible and understandable. It takes an example-based, top-down approach, laying out the various IDL constructs, why they exist, what they are for, and how and when to use them in interface definitions. In each case, example IDL is provided and, where applicable, source code is provided for client and object in C++ and Visual Basic. The source code examples are not intended to be cut and pasted into existing applications; rather, they illustrate particular points about IDL and its relationship to client and object implementations.

This is a book about COM IDL and hence does not cover IDL keywords, attributes, or other constructs that are usable only from standard Remote Procedure Call (RPC). In addition, the most important parts of IDL are concerned with efficient marshaling of data as performed by the COM interception layer, and the majority of the discussion is based on the IDL constructs that affect the behavior of that interception layer. IDL attributes that have no effect on the interception layer will for the most part be ignored.

This book represents a significant amount of research on and testing of the various facilities that IDL provides. In some cases, the information presented may be at variance with the official documentation. The author encourages readers to test the assertions in this book for themselves and confirm that they are correct. All testing performed by the author was done using Microsoft IDL (MIDL) compiler Version 5.03.0280. Earlier versions may not support some of the features detailed in this book.

New versions of the MIDL compiler will emerge, and IDL itself will evolve.

One day, IDL per se may disappear completely, but developers will still need to deal with the things that IDL allows them to describe. Given its popularity and general applicability, eXtensible Markup Language (XML) seems to be an obvious choice as a basis for a description language. To get a head start on the future of IDL (or the IDL of the future), the reader is encouraged to read the W3C Working Draft on XML Schema and the W3C note describing the Simple Object Access Protocol:

w3/TR/xmlschema-0

w3/TR/xmlschema-1

w3/TR/xmlschema-2

w3/TR/soap.html

The author welcomes feedback; any and all questions, observations, and corrections should be sent by e-mail to marting@develop.A Web site for this book is maintained by the author at develop/marting/essen-tialidland includes an errata page and samples.

Intended Audience

This book is aimed at developers and interface designers using COM, Micro-soft Transaction Server (MTS), or COM+ from C++ or Visual Basic. It assumes that the reader has a working knowledge of COM, such as can be found in Essential COM by Don Box or in Programming Distributed Applications with COM+ and Microsoft Visual Basic 6.0by Ted Pattison.

What to Expect

This book is divided into two parts. The first six chapters describe the various constructs available in IDL using fully formed sentences with subjects, verbs, and adjectives. The IDL constructs are shown along with the client-side call sequences and method implementations. Each chapter other than the first con-cludes with a list of guidelines for using the IDL constructs discussed. The last four chapters provide a tabular reference for IDL types, modifiers, keywords, and attributes.

Chapter 1: Hello, IDL

Many COM developers are either unaware of the existence of IDL or unsure as to why it exists. Chapter 1 describes the fundamentals of IDL and the reasons for its existence along with the basics of defining interfaces.

Chapter 2: Structure of an IDL file

The MIDL compiler can output two forms of type information. Which one is generated often depends on the position of a given IDL construct within the IDL file. Chapter 2 covers the details of generating type information and building proxy-stub DLLs, local and remote interfaces, and the various file management constructs.

Chapter 3: Data types and interface issues

Using the proper data types is critical to interface design and component integration. Chapter 3 deals with the details of the primitive IDL types and also covers object references; user-defined types; and enums, structures, and unions. Information about how to ensure that the correct information is present in any generated type library is also presented. This chapter also provides a discussion of interface inheritance.

Chapter 4: Pointers and arrays

Many interfaces need to support output parameters, while others need support for arrays of data. Chapter 4 deals with the details of pointers in IDL, including the different ways that IDL and the COM interception layer treat top-level and embedded pointers. It also covers various array types, including fixed arrays, conformant arrays, and SAFEARRAYs.

Chapter 5: Aliasing

IDL provides support for method and type aliasing, both of which allow inter-face designers to inject arbitrary code into the COM interception layer. Chapter 5 details how to use both types of aliasing, including two approaches to type aliasing: transmit_as and wire_marshal.

 

Chapter 6: Asynchronous COM

Windows 2000 provides support for asynchronous COM calls from both client and server perspectives. Chapter 6 describes the IDL attribute that makes this possible, along with the details of writing the client-side and server-side code.

Chapter 7: IDL Types

IDL provides certain built-in, primitive types, and the system IDL files provide several constructed types. Chapter 7 is a reference for all the primitive IDL types plus the constructed types BSTR,SAFEARRAY,VARIANT,and VARIANT _BOOL. It provides information such as the size of each type, the type library and Oicf mappings for each type, and the C++ and Visual Basic mappings.

Chapter 8: IDL Type Modifiers

IDL allows types to be qualified with certain type modifiers including, const, signed, and unsigned. Chapter 8 is a reference to all the modifiers supported by IDL and includes information such as whether or not a given modifier is rep-resented in a type library and the data types to which the modifier can be applied.

Chapter 9: IDL Keywords

IDL provides a large number of keywords with various uses from defining inter-faces and structures to importing other IDL files. Chapter 9 is a reference for all the IDL keywords from coclass to union. The information presented includes the forms of type information that represent the keyword, which attributes are mandatory, and which are optional.

Chapter 10: IDL Attributes

The keywords and other constructs in IDL can be annotated with various attributes. Chapter 10 is a reference for all the IDL attributes related to marshaling, plus some others, and includes information about whether a given attribute is present in the type library along with the keywords and constructs to which the attribute is applicable.

 

0201615959P04062001

From the Back Cover

Definition Language (IDL), is an essential topic for all programmers working with COM. Essential IDL offers these programmers a detailed yet accessible description of IDL and its application to COM development projects. The book presents all of the various IDL constructs and offers insight into their purpose and function in interface definitions. In particular, Essential IDL focuses on IDL constructs that support the efficient marshalling of data as performed by the COM interception layer. Taking a top-down approach, this book opens with the basics of defining interfaces and then details data types, pointers and arrays, aliasing, and IDL support for asynchronous COM. Numerous examples of both server-side and client-side programming illustrate concepts and techniques throughout the book. Readers will learn about such key topics as:
* Generating type information
* Building proxy-stub DLLs
* Local and remote interfaces
* Primitive, enumerated, and user-defined data types
* Interface inheritance
* Top-level versus embedded pointers
* Object references and pointers
* Fixed arrays, conformant arrays, and SAFEARRAYS
* Multi-dimensional conformant pointers
* Method and type aliasing
* Asynchronous calls
* Client-side and server-side asynchrony

Also included is a comprehensive and concise reference to IDL built-in data types, modifiers, keywords, and attributes. This combination of comprehensive description, understandable explanation, convenient reference, and practical working guide makes Essential IDL an important resource for all COM programmers. 0201615959B04062001

Product Details

  • Paperback: 353 pages
  • Publisher: Addison-Wesley Professional; 1st edition (December 15, 2000)
  • Language: English
  • ISBN-10: 0201615959
  • ISBN-13: 978-0201615951
  • Product Dimensions: 9.1 x 7.3 x 1 inches
  • Shipping Weight: 1.7 pounds
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Best Sellers Rank: #824,703 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

3 Reviews
5 star:
 (2)
4 star:
 (1)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.7 out of 5 stars (3 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

4 of 4 people found the following review helpful:
5.0 out of 5 stars Required Reading for COM Programmers, April 28, 2001
By A Customer
This review is from: Essential IDL: Interface Design for COM (The DevelopMentor Series) (Paperback)
COM programmers have waited a long time for a definitive book on IDL, and Mr. Gudgin has written it. A superb summary of the language that is central to real-world COM programming, and a one-stop resource for developers struggling with IDL. Chock full of juicy details, with coverage of topics ranging from the structure of IDL files to method aliasing and asynchronous COM. If you're a COM programmer, this book will pay for itself many times over.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful:
4.0 out of 5 stars IDL in bits and pieces, October 13, 2002
By 
Elijah D "dev1zero" (Bothell, WA United States) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Essential IDL: Interface Design for COM (The DevelopMentor Series) (Paperback)
This book goes into more detail about IDL than most people care about. However if you start wondering why your interface is not being properly marshalled, knowing your IDL will save you from scratching your head in biwilderment.

If you dont want any surprises from COM marshalling this is the book to get. Even in the .NET world, this book will be useful. All the COM components out there today are not just going to go away.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Become a COM expert, September 13, 2002
By 
This review is from: Essential IDL: Interface Design for COM (The DevelopMentor Series) (Paperback)
Forget about class factories and such...
The real issue in COM is type libraries and proxy/stubs and how these are created using IDL. Also of great importance is designing COM interfaces so that they may be utilized by VB and C++. This is a one stop reference for all that good information.
If you program COM, buy this book. It will pay for itself in minutes.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Only search this product's reviews



Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject