Jason He's WebLog

Coding Patterns to Avoid In AddIn Pipeline Development

Why we need a new lifetime management model Managed code relies on Garbage Collection (GC) to manage...

Author: ZifengH Date: 04/28/2008

From C# to CLR Jitted Code - Call Delegate

How expensive is a delegate call vs a direct function call? The delegate call is actually pretty...

Author: ZifengH Date: 01/21/2008

From C# to CLR Jitted Code - ByVal and ByRef

I am trying to understand the difference between ByVal and ByRef objects. In below C# code we pass...

Author: ZifengH Date: 11/06/2007

MSIL Verification Notes - 11

Tired of creating one sample for one unverifiable scenario. Here is a laundry list for the other...

Author: ZifengH Date: 10/17/2007

MSIL Verification Notes - 10

Another one that taking ArgIterator is deemed unverifiable. This time is for making a Type...

Author: ZifengH Date: 10/17/2007

MSIL Verification Notes - 9

Tail call verification rules require that no managed pointers to be passed from caller to callee if...

Author: ZifengH Date: 10/17/2007

MSIL Verification Notes - 8

One more verification rule for ArgIterator. We cannot put it in an array. To avoid stack corruption,...

Author: ZifengH Date: 10/17/2007

MSIL Verification Notes - 7

Box operation can operate on ValueType but not all of them. Below example is trying to box...

Author: ZifengH Date: 10/16/2007

MSIL Verification Notes - 6

Recently I am running some DynamicMethod scenario. It seems very easy to Emit incorrect IL using...

Author: ZifengH Date: 10/16/2007

MSIL Verification Notes - 5

This is a short one. The arglist operation can only work when the method's signature indicates that...

Author: ZifengH Date: 10/01/2007

MSIL Verification Notes - 4

I thought I knew what is box and unbox. After reading the ECMA spec, I know that what I believed was...

Author: ZifengH Date: 09/26/2007

MSIL Verification Notes - 3

Below code tries to return a ByRef object which points on a stack location. CLR rule considers this...

Author: ZifengH Date: 09/25/2007

MSIL Verification Notes - 2

MSIL (or CIL) uses a stack based model. To make sure that Type-safe code to be secure, it can only...

Author: ZifengH Date: 09/24/2007

MSIL Verification Notes - 1

I am recently working on some IL verification related scenario. IL verification is critical for CLR...

Author: ZifengH Date: 09/21/2007

CLR AddIn Adapters

I posted a blog about AddIn Adapters here. There is a question. Can we have AddInAdapters inside...

Author: ZifengH Date: 06/28/2007

CLR AddIn - Building Data Adapters

I have one blog posted on our team site...

Author: ZifengH Date: 03/16/2007

CLR AddIn Model in Paint.Net – 11 (AddIn side data type adapter)

From the last blog post, we understand that we need new contract at the isolation boundary to route...

Author: ZifengH Date: 01/29/2007

CLR AddIn Model in Paint.Net – 10 (Data type contract)

If the reader is familiar with Paint.Net, you will notice that we cannot really write a functional...

Author: ZifengH Date: 01/24/2007

CLR AddIn Model in Paint.Net – 9 (LifetimeToken and LifetimeTokenHandle)

AddIn can be passed to multiple Hosts, or it can have multiple references for the same Host. How to...

Author: ZifengH Date: 01/18/2007

CLR AddIn team blog

Our CLR AddIn team has a blog site available on http://blogs.msdn.com/clraddins/ That will be a...

Author: ZifengH Date: 01/17/2007

CLR AddIn Model in Paint.Net – 8 (AddInController)

Managing the lifecycle of an AddIn is not trivial. AddIn may be in-process or out-of process, AddIns...

Author: ZifengH Date: 01/16/2007

CLR AddIn Model in Paint.Net – 7 (AddIn Activation)

In the AddIn discovery blog, we already knew that we could get a collection of AddInToken from...

Author: ZifengH Date: 01/15/2007

CLR AddIn Model in Paint.Net – 6 (AddInBase, AddIn and Deployment)

AddInView is an abstract class and AddIn should inherit from it. Here is the code for AddInView and...

Author: ZifengH Date: 01/12/2007

CLR AddIn Model in Paint.Net – 5 (IContract, ContractBase and AddInAdapter)

Once we load an AddIn in an AppDomain, we need to think about its lifetime management. There are...

Author: ZifengH Date: 01/10/2007

CLR AddIn Model in Paint.Net – 4 (Contract and HostAdapter)

We did not talk about anything about versioning. Versioning is a big challenge for Host and AddIn...

Author: ZifengH Date: 01/09/2007

CLR AddIn Model in Paint.Net – 3 (Host Side View)

Host Side View (HSV) is exactly what the name indicates. It is the view of an AddIn from Host’s...

Author: ZifengH Date: 01/08/2007

CLR AddIn Model in Paint.Net – 2 (AddIn discovery)

Paint.Net can host multiple AddIns. We can let the user pick which AddIn to use. To discover all the...

Author: ZifengH Date: 01/05/2007

CLR AddIn Model in Paint.Net – 1 (Introduction)

I am recently working on the AddIn model for the .Net Framework. There are many Hosts, AddIns, and...

Author: ZifengH Date: 01/04/2007

MUI and UICulture

My parents are going to stay with us this coming summer. Besides all the preparations for their...

Author: ZifengH Date: 03/22/2004