Showing results for 2013 - Page 33 of 35 - The Old New Thing

Jan 30, 2013
0
0

Why doesn’t HeapValidate detect corruption in the managed heap?

Raymond Chen
Raymond Chen

A customer had a program that was corrupting the managed heap by p/invoking incorrectly. The problem didn't show up until the next garbage collection pass, at which point the CLR got all freaked-out-like. "According to Knowledge Base article 286470, the tool is supposed to catch heap corruption, but it doesn't catch squat." Depending on your po...

Code
Jan 29, 2013
0
0

Poisoning your own DNS for fun and profit

Raymond Chen
Raymond Chen

When you type a phrase into the Windows Vista Start menu's search box and click Search the Internet, then the Start menu hands the query off to your default Internet search provider. Or at least that's what the Illuminati would have you believe. A customer reported that when they typed a phrase into the Search box and clicked Search the Inter...

Tips/Support
Jan 28, 2013
0
0

Please hold your head perfectly still while you write up that memo

Raymond Chen
Raymond Chen

I dreamed that the original Volkswagen Beetle factory was so cramped that the office workers had to move their desks to the factory floor, with heavy equipment swinging around just inches from their faces. To prevent serious injuries, a template passed through every so often to make sure nothing was out of place.

Non-ComputerDream
Jan 28, 2013
0
0

Finding a printer, and then creating a shortcut to that printer

Raymond Chen
Raymond Chen

Today's "Little Program" does two things: It looks for a printer in the Printers folder, and then once it finds it, it creates a shortcut to that printer. As is common with "Little Programs", I don't bother with error checking. I'll leave you to do that. Second part first, since it is handy on its own: Creating a shortcut to an arbitrary item ...

Code
Jan 25, 2013
0
0

When you have a SAFEARRAY, you need to know what it is a SAFEARRAY *of*

Raymond Chen
Raymond Chen

A customer had a problem with SAFEARRAY, or more specifically, with CComSafeArray. CComSafeArray<VARIANT> sa; GetAwesomeArray(&sa); LONG lb = sa.GetLowerBound(); LONG ub = sa.GetUpperBound(); for (LONG i = lb; i <= ub; i++) { CComVariant item = sa.GetAt(i); ... use the item ... } The GetAt method returns a VARIANT&, and wh...

Code
Jan 24, 2013
0
0

STRICT_TYPED_ITEMIDS is the shell namespace version of the STRICT macro used by USER and GDI

Raymond Chen
Raymond Chen

Starting with the Windows Vista PlatformSDK, defining the symbol before including shell header files changes declarations that previously had simply used now use one of various types which are more clear about what type of ID list is being used. Think of it as the macro for the shell. The more precise names emphasize the form of the ID lis...

Code
Jan 22, 2013
0
0

Heads-up: Phone scammers pretending to be JPMorgan Chase MasterCard security

Raymond Chen
Raymond Chen

Recently, a round of phone scammers have been dialing through our area with a caller-ID of (000) 000-0000, which should already raise suspicions. When you answer, a synthesized voice says that they are calling from JPMorgan Chase MasterCard security. They claim that your credit card has been disabled due to suspicious activity, and in order to re...

Non-Computer
Jan 22, 2013
0
0

Microspeak: pivot

Raymond Chen
Raymond Chen

A great word to use at Microsoft to make it sound like you're one of the cool insiders is pivot. Mostly because the meaning of the word varies from place to place, so you can use it to mean whatever you like while still sounding hip and jargony. In Windows Phone, the term pivot is a technical term which refers to a type of control that lets user...

OtherMicrospeak