Raymond Chen

In Windows 3.1, there were undocumented functions named USER­SEE­USER­DO and GDI­SEE­GDI­DO. Surely there’s a story behind these funny names.

Of course.

These functions were used for internal testing purposes. They allowed stress tests to do things like allocate extra memory in the desktop heap in order to trigger low-memory conditions in the window manager. They also were used by the 16-bit tool helper library to do things like enumerate all the window classes that have been registered.

The name of the USER­SEE­USER­DO function is evidently a play on the idiom monkey see, monkey do. In this case, USER is the thing being told to do various strange things, and it dutifully does them. But it’s also a joke, because the word user here could be interpreted as referring to the end user.

The GDI­SEE­GDI­DO function arrived later, and its name was patterned after USER­SEE­USER­DO. Nevermind that it’s really not much of a joke.

Bonus chatter: Some of the random things that USER­SEE­USER­DO and GDI­SEE­GDI­DO did have been formalized in the Get­Gui­Resources function.



Discussion is closed.

Feedback usabilla icon