What is the difference in a P/Invoke signature between “byref byte” and “byte[]”?

Lately we’ve seen a spate of issues coming up on 64-bit platforms within the Developer Division around usages of P/Invoke signatures which declare a parameter as type “byref byte” where the developer really means “byte[]” (the corresponding native parameter type being something like LPBYTE). Usually when something works on 32-bit and doesn’t work on 64-bit…


Bit specific code in agnostic assemblies???

In previous blog entries I’ve spent some time talking about how to mark assemblies as bit specific and how the loader deals with those markings. What however is the preferred mode of an application? I will posit that it is to be compiled agnostic and to run equally well on both 32-bit and 64-bit platforms….


Isn’t my code going to be faster on 64-bit???

[updated 10:50am 5/2/05: It turns out that I copied and pasted an error in my code from the newsgroup posting I was answering. However a kind reader was able to spot it and I’ve fixed it, I’m getting new data and will updated graphs later today, however the points of the article remain valid] [updated…


Paint.Net is pretty cool, 20 minutes to get it running on 64-bit is even cooler!

Last night I played with Paint.Net for a while and got it running on the native 64-bit CLR with whidbey… Pretty cool stuff!!! Actually, a while might be overstating things… It took longer to install a copy of VS 2005 on my clean AMD64 machine than it did to get Paint.Net running natively, in fact there…


Good blog entries on .Net GC

I just ran across these, they are a couple of really good reads on the .Net GC… http://blogs.msdn.com/maoni/archive/2004/06/15/156626.aspx http://blogs.msdn.com/maoni/archive/2004/09/25/234273.aspx

How the OS Loader will force .Net v1.0/1.1 executables to run under WOW64 on a 64-Bit Machine

[10/15, 2:04pm, fixed a couple typos; 10/15, 4:51pm, clarified a point] Before you read this entry, you might want to read these two entries: –          http://blogs.msdn.com/joshwil/archive/2004/03/13/89163.aspx –          http://blogs.msdn.com/joshwil/archive/2004/03/11/88280.aspx   In case you skipped the link and kept on reading I’ll summarize the first post linked to (I however believe that they are really worth reading):…


ArrayList’s vs. generic List for primitive types and 64-bits

<edited post, 3:51pm, something in the formatting was messing up the whole page…> The dynamically growing ArrayList structure is an interesting one, the other day I was looking at memory usage of some performance scenarios on 64-bit machines vs. 32-bit machines and noticed that ArrayLists are double the size on 64-bit machines. After looking at…


64-bit calling convention and PInvoke bugs

Ok, so Word for the Mac is failing me right now. I’ve tried twice to start this entry there and both times Word has gone kaput on me. Back to my trusty text editor… As for the inevitable “why Mac?” question… Well, I still haven’t found a laptop I like as much as my Titanium…


Behavior of 1.0/1.1 managed apps on 64bit machines

As I alluded to in my previous post there are multiple ways that we can go in terms of supporting legacy 1.0/1.1 assemblies on a Win64 machine. The context of the 1.0/1.1 support story is made somewhat simpler by the current plan of having both a v2.0 32bit CLR and a v2.0 64bit CLR on the…