Skip to Content
Learning DCOM
book

Learning DCOM

by Thuan L. Thai
April 1999
Intermediate to advanced
502 pages
15h 5m
English
O'Reilly Media, Inc.
Content preview from Learning DCOM

Memory

Recall that COM must know the exact size of all data that is sent back and forth between a client and its objects. For simple data types (e.g., short, long, or our Zone structure), COM knows their sizes. However, you can modify these data types with pointers (e.g., Zone *, and so forth). When you’re calling a function on a different system (or even a different address space on the same system), COM can’t get away passing the four-byte address in the pointer; COM has to pass all the data being pointed to.

We know the importance of dynamic memory management in C and C++. Good programming requires allocated memory to be correctly destroyed. If your code lies in one single process, you know when to deallocate heap-based memory, which you have previously allocated. However, in a distributed architecture, which likely contains multiple execution contexts, you have a client and an object, including the object’s associated proxy and stub. Remember that after you’ve deployed your components, ten thousand clients may use your objects. How should the clients, objects, and proxies/stubs deal with dynamic memory management?

COM, which relies on RPC, provides a number of rules that you must follow to correctly manage dynamic memory. When you specify a COM interface, you designate memory management assumptions by using the [in], [out], and [in, out] MIDL attributes. These attributes are hints that allow COM to correctly manage memory at the proxies and stubs level in standard marshaling. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Windows 7 Device Driver

Windows 7 Device Driver

Ph.D. Ronald D. Reeves

Publisher Resources

ISBN: 9781449307011Errata Page