Essential Idl: Interface Design for Com

Overview

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 ...
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (12) from $1.99   
  • New (2) from $131.75   
  • Used (10) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$131.75
Seller since 2014

Feedback rating:

(323)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$149.50
Seller since 2008

Feedback rating:

(196)

Condition: New

Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

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.

Read More Show Less

Editorial Reviews

Booknews
Introduces the interface definition language (IDL), the core language of Microsoft's component object model (COM). The author lays out the various IDL constructs, why they exist, what they are for, and how and when to use them in interface definitions. Topics include data types, local and remote interfaces, interface inheritance, object references and pointers, fixed and conformant arrays, method and type aliasing, and asynchronous calls. Examples of both server-side and client-side programming illustrate the concepts and techniques. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201615951
  • Publisher: Addison Wesley Professional
  • Publication date: 12/28/2000
  • Series: Developmentor Series
  • Pages: 384
  • Product dimensions: 7.28 (w) x 9.17 (h) x 0.91 (d)

Read an Excerpt

PREFACE:

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 theinterception 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:

...

Read More Show Less

Table of Contents

1. Hello, IDL.
What Is IDL?
Defining Interfaces.
Adding Parameters.
More on Directionality.
Conclusions.

2. Structure of an IDL File.
Interfaces and Type Information.
Inside the Library Block.
Versioning Type Libraries.
Producing C++ Type Information.
Outside the Library Block.
Building a Proxy-Stub DLL.
Interface Definitions, Type Libraries and the Oleautomation Attribute.
The Local Attribute.
Importing Other Files.
Importing Files in the Library Block.
Coclasses.
Conclusions.

3. Data Types and Interface Issues.
Primitive Data Types.
Signed and Unsigned Data Types.
Char vs Byte.
Char vs Wchar_t.
LPOLESTR vs BSTR.
Enumerated Types.
Object References.
Structures.
Unions.
The VARIANT.
Typedefs.
Properties.
Interface Inheritance.
Dispatch Interfaces.
Conclusions.

4. Pointers and Arrays.
Pointer Basics.
Pointers and Const.
Pointer Semantics.
Top-level vs Embedded Pointers.
Pointers and Language Mappings.
Object References and Pointers.
Arrays.
Fixed Size Arrays.
Conformant Arrays.
Conformant Pointers.
Conformant Pointers as Output Parameters.
Simulating Fixed Size Arrays Using Conformance.
Multi-dimensional Conformant Pointers.
Arrays as Structure Members.
Jagged Arrays.
SAFEARRAYs.
Conclusions.

5. Aliasing.
Method Aliasing.
Type Aliasing.
More Type Aliasing.
Conclusions.

6. Asynchronous COM.
Asynchronous Calls.
Client-side Asynchrony.
Server-side Asynchrony.
Conclusions.

7. IDL Types.
8. IDL Type Modifiers.
9. IDL Keywords.
10. IDL Attributes.
Bibliography.
Index.
Read More Show Less

Preface

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 theinterception 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:

http://www.w3.org/TR/xmlschema-0

http://www.w3.org/TR/xmlschema-1

http://www.w3.org/TR/xmlschema-2

http://www.w3.org/TR/soap.html

The author welcomes feedback; any and all questions, observations, and corrections should be sent by e-mail to marting@develop.com.A Web site for this book is maintained by the author at http://www.develop.com/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.

 



Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)