Showing results for September 2011 - The Old New Thing

Sep 30, 2011
0
0

There's also a large object heap for unmanaged code, but it's inside the regular heap

Raymond Chen
Raymond Chen

Occasionally, a customer will ask for assistance explaining some strange heap behavior, or at least heap behavior that appears to be strange if you assume that the heap behaves purely classically. I need to understand the heap behavior we're seeing. I have a sample program which allocates five blocks of memory from the process heap, each of size ...

Other
Sep 29, 2011
0
0

Appearing to succeed is a valid form of undefined behavior, but it's still undefined

Raymond Chen
Raymond Chen

A customer requested a clarification on the MSDN documentation for the function. The MSDN documentation says that if the parameter is , then the behavior is undefined. Is this true? As explicitly stated in MSDN, the behavior is undefined. Observe that the annotation on the parameter is , which means that the parameter must be a non- value...

Code
Sep 27, 2011
0
0

Ah, the exciting world of cross-forest dogfood

Raymond Chen
Raymond Chen

The Windows group has its own domain (known as for historical reasons) which operates separately from the domain forest operated by the Microsoft IT department. Various trust relationships need to be set up between them so that people on the Windows team can connect to resources managed by the Microsoft IT department and vice versa, but it g...

Other
Sep 26, 2011
0
0

Sending a window a WM_DESTROY message is like prank calling somebody pretending to be the police

Raymond Chen
Raymond Chen

A customer was trying to track down a memory leak in their program. Their leak tracking tool produced the stacks which allocated memory that was never freed, and they all seemed to come from , which is a DLL that comes with Windows. The customer naturally contacted Microsoft to report what appeared to be a memory leak in Windows. I was one of th...

Code
Sep 23, 2011
0
0

Why does my asynchronous I/O complete synchronously?

Raymond Chen
Raymond Chen

A customer was creating a large file and found that, even though the file was opened with and the call was being made with an structure, the I/O was nevertheless completing synchronously. Knowledge Base article 156932 covers some cases in which asynchronous I/O will be converted to synchronous I/O. And in this case, it was scenario number thre...

Code
Sep 22, 2011
0
0

Why does my single-byte write take forever?

Raymond Chen
Raymond Chen

A customer found that a single-byte write was taking several seconds, even though the write was to a file on the local hard drive that was fully spun-up. Here's the pseudocode: The customer experimented with using asynchronous I/O, but it didn't help. The write still took a long time. Even using (and writing full sectors, naturally) didn't he...

Code
Sep 20, 2011
0
0

Random notes from //build/ 2011

Raymond Chen
Raymond Chen

Here are some random notes from //build/ 2011, information of no consequence whatesoever. A game we played while walking to and from the convention center was spot the geek. "Hey, there's a guy walking down the street. He's wearing a collared shirt and khakis, with a black bag over his shoulder, staring into his phone. I ...

Other