Label: COM

The Microsoft Component Object Model (COM) is a binary-interface technology developed by Microsoft for creating reusable software components. COM allows applications and libraries written in different programming languages to communicate through a common interface standard. It became one of the core technologies behind many Windows APIs, desktop applications, automation systems, and enterprise software products.

A COM object exposes functionality through interfaces identified by globally unique identifiers (GUIDs). Clients interact with these interfaces without needing to know the internal implementation details of the component. This design enables language interoperability between C++, Delphi, Visual Basic, C#, scripting environments, and many other technologies.

COM is widely used in Windows development for technologies such as OLE, ActiveX, DirectX, Windows Shell extensions, and Office automation. The architecture also introduced concepts later reused in distributed technologies such as DCOM and COM+.

Although modern Windows development increasingly relies on .NET and WinRT, COM remains deeply integrated into the Windows operating system and continues to be important for low-level system programming, legacy application support, automation, and interoperability.

Fixing asynchronous COM bug at application startup

My article “Asynchronous COM for Windows Vista and Win7 — memory overwrite bug” is describing an error that appeared in these operation systems. Reliable work of the asynchronous COM was extremely important for the software that was under development (and for sale as well by this time). Multiple appeals to Microsoft with a request to fix

Asynchronous COM for Windows Vista and Win7 – memory overwrite bug

COM technology (Component Object Model) has been developing for almost twenty years and work of the vast majority of system components is still based on it. I think that this will continue in the nearest future. Asynchronous COM is an option of using this technology. Some applications of the early 2000s used it to build

API DLL or COM object? Creating a COM object without registration

One of the major questions that an architector might face creating a multi-component project is how the components will interact. The mechanism of interaction could consist of COM interfaces usage and traditional import / export of functions and classes if we are talking about components that export a set of functions (in fact libraries). The way