What is component object model (COM)?

This is a recommends products dialog
Top Suggestions
Starting at
View All >
Sign In / Create Account
language Selector,${0} is Selected
Register & Shop at Lenovo Pro
Register at Education Store

Pro Tier Benefits

• Save up to an extra 5% on Think everyday pricing
• Spend RM$25,000, advance to Plus Tier with increased benefits

Plus Tier Benefits

• Save up to an extra 8% on Think everyday pricing
• Spend RM$75,000, advance for free to Elite Tier with increased benefits
• Take advantage of flexible payment options with TruScale Device as a Service.

Elite Tier Benefits

• Save up to an extra 12% on Think everyday pricing
• Take advantage of flexible payment options with
TruScale Device as a Service.
Reseller Benefits
• Access to Lenovo's full product portfolio
• Configure and Purchase at prices better than Lenovo.com
View All Details >
more to reach
PRO Plus
PRO Elite
Congratulations, you have reached Elite Status!
Pro for Business
Delete icon Remove icon Add icon Reload icon
Temporary Unavailable
Cooming Soon!
. Additional units will be charged at the non-eCoupon price. Purchase additional now
We're sorry, the maximum quantity you are able to buy at this amazing eCoupon price is
Sign in or Create an Account to Save Your Cart!
Sign in or Create an Account to Join Rewards
View Cart
Wow, your cart is empty!
Fill it in with great deals
Some items in your cart are no longer available. Please visit cart for more details.
has been deleted
Please review your cart as items have changed.
Contains Add-ons
Proceed to checkout
Popular Searches
What are you looking for today ?
Quick Links
Recent Searches
Hamburger Menu
skip to main content

What is component object model (COM)?

COM is a technology used in software development to enable communication between different software components or objects in a system.

How does COM work?

COM provides a standardized way for software components to interact with each other. It defines a set of rules and interfaces that components must adhere to communicate. Components can be written in different programming languages and run in different processes, yet still communicate seamlessly through COM.

Why is COM used?

COM allows developers to build modular and reusable software components that can be easily integrated into different applications. It promotes code reusability, simplifies software development, and facilitates interoperability between components written in different languages.

What is an example of how COM is used in programming?

Let's say you're developing a word processing application, and you want to add spell-checking functionality to it. Instead of writing your own spell-checking code from scratch, you can leverage an existing COM component that provides spell-checking capabilities. You can then integrate this component into your application using COM interfaces, allowing your application to use the spell-checking functionality without having to worry about the details of its implementation.

How does COM enable communication between components?

COM uses a mechanism called "interfaces" to facilitate communication between components. An interface defines a set of methods that a component exposes to other components. By implementing and exposing interfaces, components can interact with each other by calling each other's methods.

What are the benefits of using COM in software development?

COM provides several benefits in software development. It promotes code reusability by allowing components to be easily integrated into different applications. It simplifies software development by providing a standard way of communication between components. It also facilitates interoperability between components written in different programming languages.

Can I use COM to communicate between different operating systems?

COM is primarily designed for communication between components running on the Windows operating system. While there are ways to use COM in cross-platform scenarios, such as using bridges or compatibility layers, it is generally more straightforward to use platform-neutral technologies like .NET for cross-platform component communication.

What programming languages can be used to develop COM components?

COM components can be developed using various programming languages, including C++, Visual Basic, and scripting languages like JavaScript or VBScript. COM provides language-independent interfaces, allowing components written in different languages to communicate with each other seamlessly.

Is COM limited to desktop applications, or can it be used in web development as well?

While COM was initially designed for desktop applications, it can also be used in web development. For example, ActiveX controls, which are COM components, can be embedded in web pages to provide interactive functionality. However, the usage of ActiveX controls has declined in favor of more modern web technologies.

What are some other technologies related to COM?

There are several technologies and concepts related to COM, including distributed COM (DCOM), which extends COM to enable communication between components on different machines over a network. There's also COM+, which provides additional features like transaction support and object pooling. Additionally, the concept of "COM aggregation" allows one COM object to include and extend the functionality of another COM object.

Can COM be used in modern software development?

Yes, COM can still be used in modern software development, especially when working with legacy systems or integrating with existing COM components. However, newer technologies like .NET or web application programming interfaces (API’s) are more commonly used in modern application development due to their broader platform support and improved development models.

Can I use COM to develop mobile applications?

While COM is primarily used in desktop and server environments, it is not commonly used in mobile application development. Mobile platforms like Android have their own programming models and frameworks that are better suited for mobile app development.

Can I provide a summary of COM in a few sentences?

COM is a technology that enables communication between software components or objects. It allows components to interact with each other through standardized interfaces, promoting code reusability and simplifying software development. While primarily used in Windows desktop applications, COM can also be used in web development and cross-platform scenarios with the help of bridges or compatibility layers.

What is an interface in COM?

In COM, an interface is a collection of related methods and properties that define the behavior of a component. It serves as a contract between the component and other components, specifying the operations that can be performed on the component and the data that can be accessed. Components implement interfaces by providing the code for the methods defined in the interface. Other components can then interact with the component by calling the methods exposed through the interface.

How does COM ensure compatibility between components written in different programming languages?

COM uses a binary standard for defining interfaces called the interface definition language (IDL). IDL provides a language-independent way to describe the interfaces and data types used by components. Each programming language then has a corresponding compiler or tool that can generate the necessary code to implement and consume COM interfaces based on the IDL definitions. This allows components written in different languages to communicate with each other seamlessly.

What is object identity in COM?

In COM, each component is identified by a unique identifier called a class identifier (CLSID). The CLSID is a globally unique identifier (GUID) assigned to the component during registration. It serves as a reference to the component and allows other components to create instances of it. When a component is instantiated, it is referred to as an object, and each object has a unique identifier called an instance identifier (IID). The combination of the CLSID and IID uniquely identifies each instance of a component.

What is marshaling in COM?

Marshaling is the process of transferring data and method calls between components that are running in different processes or even on different machines. When a method call is made from one component to another, the parameters and return values need to be serialized (marshaled) into a format that can be understood by the receiving component. Similarly, when data is passed between components, it needs to be marshaled to ensure compatibility. COM provides built-in mechanisms for marshaling data, allowing components to communicate seamlessly even if they are running in different execution contexts.

coming coming
Starting at
List Price
Est Value
Web Price:
List Price
Est Value (Estimated Value)
List Price is Lenovo’s estimate of product value based on the industry data, including the prices at which first and third-party retailers and etailers have offered or valued the same or comparable products. Third-party reseller data may not be based on actual sales.
Estimated value is Lenovo’s estimate of product value based on industry data, including the prices at which Lenovo and/or third-party retailers and e-tailers have offered or valued the same or comparable products. Third-party data may not be based on actual sales.
Learn More
See More
See Less
View {0} Model
View {0} Models
Shipping options for {0}
Part Number:
See More
See Less
Great choice!
You may compare up to 4 products per product category (laptops, desktops, etc). Please de-select one to add another.
View Your Comparisons
Add To Cart
Add To Cart
We're sorry,
Products are temporarily unavailable.
Continue Shopping
Learn More
Coming Soon
Featured Product
Featured Products
Oops! No results found. Visit the categories above to find your product.
open in new tab
© 2024 Lenovo. All rights reserved.
© {year} Lenovo. All rights reserved.
Compare  ()