Welcome to MSDN Blogs Sign in | Join | Help

August 2004 - Posts

Reading a contract from the other side: Application publishers

This time we'll look at the IAppPublisher interface.
Posted by oldnewthing | 7 Comments
Filed under:

Importance of alignment even on x86 machines, part 2

The interlocked functions require aligned data.
Posted by oldnewthing | 7 Comments
Filed under:

The sociology of the mobile phone

The mobile phone has changed the way people interact.
Posted by oldnewthing | 9 Comments
Filed under:

Importance of alignment even on x86 machines

Sometimes unaligned memory access will hang the machine.
Posted by oldnewthing | 17 Comments
Filed under:

Why do some structures end with an array of size 1?

It's all about alignment.
Posted by oldnewthing | 41 Comments
Filed under:

Why can't you treat a FILETIME as an __int64?

The two types have different alignment rules.
Posted by oldnewthing | 27 Comments
Filed under: ,

Beware of non-null-terminated registry strings

An edge case that can result in a buffer overrun.
Posted by oldnewthing | 25 Comments
Filed under:

The kooky STRRET structure

It was designed when computers were a lot slower.
Posted by oldnewthing | 10 Comments
Filed under:

Finished competing in your event? Let the games begin!

Ten thousand human beings in peak physical condition. All in one dormitory complex. With 130,000 free condoms.
Posted by oldnewthing | 10 Comments
Filed under:

Summary of the recent spate of /3GB articles

A table of contents now that the whole thing is over. I hope. The oft-misunderstood /3GB switch . It's simple to explain what it does, but people often misunderstand. Kernel address space consequences of the /3GB switch . An adverse consequence of the
Posted by oldnewthing | 36 Comments
Filed under:

The curious interaction between PAE and NX

Carmen Crincoli covered the interaction between PAE and NX on his own blog , so I'll merely incorporate his remarks by reference. (And notice again the concession to backwards compatibility. Without the backwards compatibility work, XP SP2 would have
Posted by oldnewthing | 5 Comments
Filed under:

Writing your own menu-like window

Hereby incorporating by reference the "FakeMenu" sample in the Platform SDK. It's in the winui\shell\fakemenu directory. For those who don't have the Platform SDK, what are you doing writing Win32 programs without the Platform SDK? Download it if it didn't
Posted by oldnewthing | 32 Comments
Filed under:

Myth: In order to use AWE, you must enable PAE

Address Windowing Extensions (AWE) does not require PAE. I don't know why some people claim that it does, since it is so easy to demonstrate otherwise. Take a program that uses AWE. If you don't have one handy, you can use the one that comes in MSDN as
Posted by oldnewthing | 15 Comments
Filed under:

Myth: PAE increases the virtual address space beyond 4GB

This is another non sequitur. PAE increases the amount of physical memory that can be addressed by the processor, but that is unrelated to virtual address space. (Remember that PAE stands for Physical Address Extensions .) PAE increases the physical address
Posted by oldnewthing | 13 Comments
Filed under:

Why all these articles about PAE and /3GB?

Apparently there is some unrest in comment-land with people who are sick of this whole /3GB series . Why have I been spending over two weeks exploring the consequences of the /3GB switch and exploding various common myths about it? Because too many people
Posted by oldnewthing | 22 Comments
Filed under:

Why is the virtual address space 4GB anyway?

The size of the address space is capped by the number of unique pointer values. For a 32-bit processor, a 32-bit value can represent 2 32 distinct values. If you allow each such value to address a different byte of memory, you get 2 32 bytes, which equals
Posted by oldnewthing | 58 Comments
Filed under:

Myth: The /3GB switch lets me map one giant 3GB block of memory

Just because the virtual address space is 3GB doesn't mean that you can map one giant 3GB block of memory. The standard holes in the virtual address space are still there: 64K at the bottom, and 64K near the 2GB boundary . Moreover, the system DLLs continue
Posted by oldnewthing | 20 Comments
Filed under:

Why does Exchange recommend /3GB if you have more than 1GB of physical memory?

If you look through the Knowledge Base , you'll see an article that say that Exchange 2000 requires the /3GB switch with more than 1 gigabyte of physical RAM . Yet I've been writing all this time that /3GB has nothing to do with physical RAM. What's the
Posted by oldnewthing | 17 Comments
Filed under:

Myth: The /3GB switch expands the user-mode address space of all programs

Only programs marked as /LARGEADDRESSAWARE are affected. For compatibility reasons, only programs that explicitly indicate that they are prepared to handle a virtual address space larger than 2GB will get the larger virtual address space. Unmarked programs
Posted by oldnewthing | 46 Comments
Filed under:

Myth: You need /3GB if you have more than 2GB of physical memory

Physical memory is not virtual address space. In my opinion, this is another non sequitur . I'm not sure what logical process led to this myth. It can't be a misapprehension of a 1-1 mapping between physical memory and virtual memory, because that mapping
Posted by oldnewthing | 38 Comments
Filed under:

Myth: Without /3GB a single program can't allocate more than 2GB of virtual memory

Virtual memory is not virtual address space (part 2).
Posted by oldnewthing | 40 Comments
Filed under:

Myth: Without /3GB the total amount of memory that can be allocated across all programs is 2GB

Virtual memory is not virtual address space (part 1).
Posted by oldnewthing | 10 Comments
Filed under:

Kernel address space consequences of the /3GB switch

An adverse consequence of the /3GB switch.
Posted by oldnewthing | 22 Comments
Filed under:

The oft-misunderstood /3GB switch

It's simple to explain what it does, but people often misunderstand.
Posted by oldnewthing | 32 Comments
Filed under:

Why .shared sections are a security hole

They allow information to cross security boundaries.
Posted by oldnewthing | 30 Comments
Filed under:

Spammers look stupid when they don't read the blog they spam on

Nigerian 419 spam via the contact form.
Posted by oldnewthing | 8 Comments
Filed under:

Never leave focus on a disabled control

You trap the mouseless user.
Posted by oldnewthing | 16 Comments
Filed under:

How to set focus in a dialog box

It's more than just SetFocus.
Posted by oldnewthing | 22 Comments
Filed under:

The company picnic, sponsored by Microsoft

Not run by Microsoft; just paid for by Microsoft.
Posted by oldnewthing | 11 Comments
Filed under:
 
Page view tracker