Larry Osterman's WebLog

Just another Developer Network site

Converting Win32 API results to std::wstring (or std::string)

Hmm. Just realized that this is a bit out of order and should have been published before the...

Date: 11/24/2015

ExpandEnvironmentStringsA returns a different required buffer length than ExpandEnvironmentStringsW

I was writing some ANSI-only code the other day to handle the case where an environment string...

Date: 11/19/2015

PathCchCanonicalizeEx doesn’t actually canonicalize filenames (AKA: Hey Larry, it helps to RTFM).

So I was working on some file path parsing logic the other day and I ran into a problem – I was...

Date: 11/17/2015

Recursively Deleting a directory–with long filename support.

I recently was updating some test code to handle long filename (longer than MAX_PATH) support. My...

Date: 11/16/2015

What’s wrong with this code–a real world example

I was working on a new feature earlier today and I discovered that while the code worked just fine...

Date: 11/28/2012

Insecure vs. Unsecured

A high school classmate of mine recently posted on Facebook: Message just popped up up my screen...

Date: 11/06/2011

Read-Only and Write-Only computer languages

A colleague and I were chatting the other day and we were talking about STL implementations (in the...

Date: 09/27/2011

What has Larry been doing for two years (and why has the blog been dark for so long)?

As many of you may know, I tend to blog about things I encounter in my day-to-day work that I think...

Date: 09/16/2011

Getting started with test driven development

I'm at the build conference in Anaheim this week, and I was in the platform booth when a customer...

Date: 09/15/2011

Nobody ever reads the event logs…

In my last post, I mentioned that someone was complaining about the name of the bowser.sys component...

Date: 05/03/2011

Reason number 9,999,999 why you don’t ever use humorous elements in a shipping product

I just saw an email go by on one of our self hosting aliases: From: <REDACTED> Sent: Saturday,...

Date: 05/02/2011

How do people keep coming up with this stuff (mspaint as an audio track).

The imagination of people on the internet continues to astound me. Todays example: Someone took...

Date: 03/09/2011

Someone is a glutton for punishment

From Long Zheng, a video of someone who decided to upgrade every version of Windows from Windows 1.0...

Date: 03/02/2011

The case of the inconsistent right shift results…

One of our testers just filed a bug against something I’m working on.  They reported that if...

Date: 02/11/2011

Why does Windows still place so much importance on filenames?

Earlier today, Adrian Kingsley-Hughes posted a rant (his word, not mine) about the fact that Windows...

Date: 02/04/2011

Hacking Windows with Phones… I don’t get it.

Over the weekend, Engadget and CNet ran a story discussing what was described as a new and novel...

Date: 01/24/2011

It’s a bad idea to have a TEMP environment variable longer than about 130 characters

I've been working with the Win32 API for almost 20 years - literally since the very first Win32 APIs...

Date: 10/19/2010

What does “size_is” mean in an IDL file?

My boss (who has spent a really long time working on RPC) and I got into a discussion the other day...

Date: 05/26/2010

Microsoft Office team deploys botnet for security research

Even though it’s posted on April 1st, this is actually not an April Fools prank. It turns out...

Date: 04/01/2010

Not Invented Here’s take on software security

One of my favorite web comics is Not Invented Here by Bill Barnes and Paul Southworth. I started...

Date: 02/16/2010

What’s up with the Beep driver in Windows 7?

Earlier today, someone asked me why 64bit versions of windows don’t support the internal PC...

Date: 01/04/2010

Why are they called “giblets” anyway?

Five years ago, I attended one of the initial security training courses as a part of the XP SP2...

Date: 10/26/2009

Windows 7 Reflections…

Today[1] Microsoft formally launched Windows 7. I can’t say how proud I am of the work we did...

Date: 10/23/2009

Win7 Whoppers

Wow, one of my co-workers just sent this image out. It’s totally awesome (IMHO)…...

Date: 10/21/2009

Looking for new skillz (turning the blog around)…

Just for giggles, I went looking at the various job listings within Microsoft and outside Microsoft...

Date: 10/20/2009

I can make it arbitrarily fast if I don’t actually have to make it work.

Digging way back into my pre-Microsoft days, I was recently reminded of a story that I believe was...

Date: 09/29/2009

What’s the difference between GetTickCount and timeGetTime?

I’ve always believed that the most frequently used multimedia API in winmm.dll was the PlaySound...

Date: 09/02/2009

Digging into the history bin (AKA: Microsoft Developer says that Windows is useless)

As I was writing my “25 years of Larry’s history at Microsoft in 1 year chunks”...

Date: 09/01/2009

24 years ago today (1985)

Way back in 1985 I was busy working on MS-DOS 4.0. MS-DOS 4.0 was a multitasking derivative of...

Date: 08/26/2009

23 years ago today (1986)

23 years ago, I was working on finishing MS-DOS 4.0 and transitioning to work on MS-DOS 4.1. We also...

Date: 08/25/2009

20, 21 and 22 years ago (1987-1989)

Ok, at this point it should be blindingly obvious where this series is going :). In early 1987 I was...

Date: 08/24/2009

Nineteen years ago today (1990)

In 1990 I joined the WIndows NT OS/2 team after working on Lan Manager for several years. I was one...

Date: 08/21/2009

Seventeen years ago today (1992)

I was working on the NT team working on the NT browser. I was also preparing for my first major...

Date: 08/19/2009

Sixteen years ago (1993)

Sixteen years ago, we were busy finishing up Windows NT 3.1. On NT, I worked on the browser (network...

Date: 08/18/2009

Twelve, Thirteen, Fourteen and Fifteen years ago (1994-1998)

Sorry, I was off on Friday so no post. 1994 was probably the most tumultuous year of my career at...

Date: 08/17/2009

Eleven years ago today (August 1999)

Eleven years ago, I was in the Exchange group, working on Exchange 2000 (same as 10 years ago :))....

Date: 08/13/2009

Ten years ago today (August 1999)

In 1999, I was busy working on shipping Exchange 2000. Most of the work I did on E2K was related to...

Date: 08/12/2009

Elliot Omiya, Frank Yerrace and I make a video…

Charles just let me know that he’s posted a video that Elliot, Frank and I did talking about...

Date: 08/11/2009

Nine years ago today (August 2000)

The biggest event on my plate in August was that I took taken delivery of a brand spanking new...

Date: 08/11/2009

Six, Seven and Eight years ago today (August 2003, August 2002, August 2001)…

Between 2001 and 2002, I was working on the SCP project – SCP was a networking protocol that...

Date: 08/10/2009

A quick run through the new Windows 7 multimedia audio SDK samples

As I mentioned yesterday, the Windows SDK is now live.  For the Windows SDK, there are 9 new...

Date: 08/07/2009

Five years ago today (August 2004)

We were busy in the “Longhorn Reset” where we essentially threw away the work we’d...

Date: 08/07/2009

The Windows 7 SDK is live!

I just received email that the new Windows 7 SDK is now live! Apparently it’s not on the...

Date: 08/06/2009

Next>