com

Tag

Cards List
#com

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 4

The Old New Thing (Raymond Chen) ↗ · 2026-08-06 Cached

Raymond Chen continues his series on creating a fake agile wrapper in COM, explaining how to move non-marshalable objects by forwarding references into the force_marshal wrapper and discussing C++/WinRT deduction guides.

0 favorites 0 likes
#com

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 3

The Old New Thing (Raymond Chen) ↗ · 2026-08-05 Cached

Raymond Chen continues his series on creating a fake agile wrapper for non-marshalable COM objects by wrapping them in a marshalable object, enabling registration in the global interface table while preserving undefined-behavior-free failures in other apartments.

0 favorites 0 likes
#com

Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 1

The Old New Thing (Raymond Chen) ↗ · 2026-08-03 Cached

Raymond Chen describes a technique for creating a fake agile wrapper in COM that uses the Global Interface Table to automatically release an object when its source apartment shuts down, addressing a problem with context callback failures.

0 favorites 0 likes
#com

Making an agile version of a Windows Runtime delegate in C++/WinRT, part 4

The Old New Thing (Raymond Chen) ↗ · 2026-07-23 Cached

This article discusses implementing an agile Windows Runtime delegate in C++/WinRT, focusing on using CoGetContextToken to compare context tokens for efficiency instead of comparing COM objects.

0 favorites 0 likes
#com

Making an agile version of a Windows Runtime delegate in C++/WinRT, part 3

The Old New Thing (Raymond Chen) ↗ · 2026-07-22 Cached

This blog post discusses handling Windows Runtime delegates that implement the INoMarshal interface in C++/WinRT, providing an agile delegate wrapper that checks the calling context to avoid marshaling errors.

0 favorites 0 likes
#com

Why do you say that a COM STA thread must pump messages if I see sample code creating STA threads and not pumping messages?

The Old New Thing (Raymond Chen) ↗ · 2026-05-22 Cached

Raymond Chen explains that COM STA threads are required to pump messages only when idle; code that is always busy doesn't need an explicit message loop, but COM still creates a hidden window that requires pumping when the thread becomes idle to avoid jamming window broadcasts.

0 favorites 0 likes
← Back to home

Submit Feedback