learn.microsoft.com

cbrumme's WebLog

  • ️kexugit
  • ️Wed Sep 25 2024
Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

cbrumme's WebLog

  • Article
  • 9/25/2024

In this article

A quick update on me.

It’s been over two years since I blogged.  Although I remain happily (perhaps even ecstatically)...

Date: 09/15/2006

Updated Finalization and Hosting

My original posts on Finalization and Hosting had some hokey XXXXX markers in place of content,...

Date: 04/26/2004

Apartments and Pumping in the CLR

I’ve already written the much-delayed blog on Hosting, but I can’t post it yet because...

Date: 02/02/2004

Access to old blogs

By default, old blogs are truncated from this web site. If you want to read old entries that have...

Date: 11/10/2003

The Exception Model

I had hoped this article would be on changes to the next version of the CLR which allow it to be...

Date: 10/01/2003

Reliability

I’ve been putting off writing this blog, not just because I’m on vacation in Maui and have far more...

Date: 06/23/2003

Infrequent blogging

Just a quick explanation for why there hasn't been a new blog lately.  I'm partway through a 3.5...

Date: 06/16/2003

Access to old blogs

By default, old blogs are truncated from this web site. If you want to read old entries that have...

Date: 05/18/2003

Memory Model

One of the suggestions for a blog entry was the managed memory model. This is timely, because we’ve...

Date: 05/17/2003

Value Types

The CLR’s type system includes primitive types like signed and unsigned integers of various sizes,...

Date: 05/10/2003

Request a topic

If there's a topic related to the CLR, feel free to drop me a line asking me to talk about it.  I...

Date: 05/08/2003

Security and Asynchrony

In a comment to my last ramble, about asynchronous execution and pinning, someone asked for advice...

Date: 05/08/2003

Asynchronous operations, pinning

One thing we tried to do with the CLR and FX is provide a consistent asynchronous programming model....

Date: 05/06/2003

Interface layout

The CLR has two different techniques for implementing interfaces. These two techniques are exposed...

Date: 05/03/2003

Virtual and non-virtual

The CLR type system supports both virtual and non-virtual instance methods.  And IL can contain both...

Date: 04/25/2003

Interning Strings and immutability

Managed strings are subject to ‘interning’. This is the process where the system notices that the...

Date: 04/22/2003

Lifetime, GC.KeepAlive, handle recycling

It’s not possible to state exactly when a managed object will be collected. The garbage collector...

Date: 04/19/2003

Managed blocking

What’s the difference between WaitHandle.WaitOne/WaitAny/WaitAll and just PInvoke’ing to...

Date: 04/17/2003

ReleaseComObject

Developers who are accustomed to the IDisposable pattern or to C#’s ‘using’ syntax sometimes ask why...

Date: 04/16/2003

Threads, fibers, stacks and address space

Every so often, someone tries to navigate from a managed System.Threading.Thread object to the...

Date: 04/15/2003

Initializing code

A common question is how to initialize code before it is called. In the unmanaged world, this is...

Date: 04/15/2003

Unhandled exceptions

There are two kinds of threads executing inside managed code:  the ones we start in managed code and...

Date: 04/15/2003

Inheriting from MarshalByRefObject

Developers often wonder why they are forced to derive from MarshalByRefObject or...

Date: 04/15/2003

Managed objects and COM

All managed objects other than those derived from ServicedComponent, when exposed to COM, behave as...

Date: 04/15/2003

Why don't metaobjects marshal by reference?

Objects that derive from MarshalByRefObject will marshal by reference rather than value. Metaobjects...

Date: 04/15/2003

Surprising 'protected' behavior

There’s a subtle but important difference between protected access in unmanaged C++ and protected...

Date: 04/15/2003

What is SEHException?

One way you get this exception is if unmanaged code does an OS RaiseException() or causes a fault....

Date: 04/15/2003

Size of a managed object

We don't expose the managed size of objects because we want to reserve the ability to change the way...

Date: 04/15/2003

DLL exports

People often ask how they can expose traditional DLL exports from managed assemblies. Managed C++...

Date: 04/15/2003

Hyper threading

If the operating system schedules multiple threads against a hyper-threaded CPU, the CLR...

Date: 04/15/2003

Turning off the garbage collector

It is not generally possible to turn off garbage collection. However, the garbage collector won’t...

Date: 04/15/2003

Error C0020001

#define BOOTUP_EXCEPTION_COMPLUS 0xC0020001 You may see an exception with this code, or an HRESULT...

Date: 04/15/2003

Static Fields

By default, static fields are scoped to AppDomains. In other words, each AppDomain gets its own copy...

Date: 04/15/2003

Additional resources

In this article