LLMpediaThe first transparent, open encyclopedia generated by LLMs

COM/DCOM

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Centura Technologies Hop 5
Expansion Funnel Raw 60 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted60
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
COM/DCOM
NameComponent Object Model / Distributed Component Object Model
DeveloperMicrosoft
Released1993
Latest releaseWindows NT era onwards
Written inC++
Operating systemMicrosoft Windows
LicenseProprietary

COM/DCOM

COM and DCOM are binary-interface standards developed by Microsoft to enable inter-process and networked component interaction on Microsoft Windows and allied platforms. They provide language-neutral object composition and remote procedure invocation mechanisms used by Internet Explorer, Microsoft Office, Windows Shell, Active Directory, and many enterprise SAP SE-integrated systems. COM/DCOM underpins technologies such as OLE, ActiveX, Component Object Model+ (COM+), and influenced later frameworks including .NET Framework and Windows Communication Foundation.

Overview

COM/DCOM define binary conventions for object identity, lifetime, and interface discovery to allow components authored in C++, Visual Basic, Delphi (software), Java (programming language), and other languages to interoperate within or across process boundaries. The model separates interface from implementation using Interface Definition Language-style contracts and reference counting semantics derived from earlier efforts like Sun Microsystems's CORBA concepts and research into distributed objects at Xerox PARC. DCOM extends COM with remote activation and marshaling to support communication between machines over TCP/IP and RPC transports commonly used in Windows NT-based networks.

Architecture and Components

COM/DCOM architecture centers on interface-based programming with core concepts such as IUnknown, interfaces, class objects, and globally unique identifiers (GUIDs) like CLSID and IID. Key components include in-process servers (DLLs), local servers (EXEs), the COM runtime (runtime libraries and marshaler), and the Service Control Manager interplay for activation. DCOM introduces network-layer elements: the DCOM protocol stack, the Distributed Transaction Coordinator used in Microsoft Distributed Transaction Coordinator, and the object resolver mechanisms that interact with Domain Name System and Active Directory for object location in enterprise deployments.

Programming and Interfaces

Developers use language-specific bindings and tools such as Microsoft Visual C++, Visual Basic, MIDL, and IDL to declare interfaces and generate stubs and proxies. Important interfaces include IUnknown (for reference counting and QueryInterface), IDispatch (for late binding and automation used by Microsoft Office macros and VBScript), and custom interfaces implementing application logic found in Internet Explorer extensions and Exchange Server components. COM registration via the Windows Registry maps CLSIDs to server locations; programmers interact with COM through APIs like CoCreateInstance, CoRegisterClassObject, and CoMarshalInterface provided by the Windows API.

Security and Authentication

DCOM security relies on Windows Security primitives, including Access Control Lists and Security Support Provider Interface for authentication mechanisms like Kerberos and NTLM. DCOM permissions specify Launch and Activation permissions, and COM uses impersonation levels and authentication services configurable through Component Services (COM+ catalog) and Group Policy in Active Directory. Vulnerabilities in DCOM were targeted in high-profile incidents prompting patches by Microsoft Security Response Center and advisories coordinated with vendors such as CERT Coordination Center and US-CERT.

Deployment, Configuration, and Performance

Deployment involves registering components, configuring marshaling and proxy/stub binaries, and tuning DCOM protocol parameters for network performance across LAN and WAN environments often governed by Windows Server editions and Internet Information Services. Administrators use tools like Component Services, regsvr32, and Service Control Manager while monitoring with Performance Monitor counters and tracing via Event Viewer. Performance considerations include apartment threading models (single-threaded apartment and multi-threaded apartment), surrogate processes (dllhost.exe), and marshaler optimization; enterprise systems such as Microsoft Exchange Server and SQL Server integrate COM components where latency and concurrency must be managed.

History and Evolution

COM originated in the early 1990s as part of Windows 95 and Windows NT era component strategies, evolving through OLE and ActiveX extensions to support document embedding and scripting in Internet Explorer. DCOM emerged to meet distributed computing needs across Microsoft Corporation's enterprise stack, later influencing and being superseded in many scenarios by .NET Framework and Windows Communication Foundation paradigms. The technology pathway includes COM+, integration with Microsoft Transaction Server, and legacy reliance in applications maintained by organizations like Oracle Corporation and IBM for interoperability with Windows-based components.

Category:Microsoft Windows