=============================================================================

****
**** The DR_GUI3 technical article can be downloaded from the
**** file 10-67.zip in library section number 10
****

Ask Dr. GUI #3

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group


=============================================================================

=============================================================================

****
**** The DR_GUI2 technical article can be downloaded from the
**** file 10-66.zip in library section number 10
****

Ask Dr. GUI #2

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group


=============================================================================

=============================================================================

****
**** The DR_GUI4 technical article can be downloaded from the
**** file 10-68.zip in library section number 10
****

Ask Dr. GUI #4

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group


=============================================================================

=============================================================================

****
**** The DR_GUI1 technical article can be downloaded from the
**** file 10-65.zip in library section number 10
****

Ask Dr. GUI #1

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group


=============================================================================

=============================================================================

****
**** The DR_GUI5 technical article can be downloaded from the
**** file 10-69.zip in library section number 10
****

Ask Dr. GUI #5

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group

Created: August 26, 1992


=============================================================================

=============================================================================

****
**** The DR_GUI6 technical article can be downloaded from the
**** file 10-70.zip in library section number 10
****

Ask Dr. GUI #6

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group


=============================================================================

=============================================================================

****
**** The DR_GUI7 technical article can be downloaded from the
**** file 10-77.zip in library section number 10
****

Ask Dr. GUI #7

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group

Created: November 23, 1992


=============================================================================

=============================================================================

****
**** The DR_GUI8 technical article can be downloaded from the
**** file 10-78.zip in library section number 10
****

Ask Dr. GUI #8

(Remember, he's not a real doctor.)

Bob Gunderson
Microsoft Developer Network Technology Group

Created: January 12, 1993


=============================================================================

=============================================================================

****
**** The CTL3D technical article can be downloaded from the
**** file 10-4.zip in library section number 10
****

Adding 3-D Effects to Controls

Wes Cherry, Microsoft Excel Development Group
Kyle Marsh, Microsoft Developer Network Technology Group

Created: September 23, 1992

Revised: February 2, 1993
Added the Ctl3dDlgFramePaint function for 3-D dialog frames.
Added WM_DLGBORDER and WM_DLGSUBCLASS messages.
Added section on using CTL3D with Pascal.
Added section on using CTL3D with Visual Basic.
Color table is now correctly cleared during Ctl3dUnRegister.
CTL3D.DLL now allows up to 512 characters (used to be 256) in MessageBox.
Group box text updates now work correctly when the new text is shorter than
the old text.
CTL3D.DLL's WEP function is now in a fixed preloaded code segment.

Abstract

Microsoft Windows version 3.x adds three-dimensional (3-D) support for
pushbuttons, but all other controls appear two-dimensional (2-D) by default.
This article describes how an application can add 3-D effects to all controls
by using the CTL3D dynamic-link library (CTL3D.DLL).


=============================================================================

=============================================================================

****
**** The COMPAT technical article can be downloaded from the
**** file 10-71.zip in library section number 10
****

Application Compatibility in Future Versions of Windows

Created: {3 {5 \*TIME \@ "MMMM d, yyyy"}5 {5 February 12, 1993}5 }3 

Abstract

This article provides guidelines for writing applications for the Microsoft
Windows version 3.x operating system in a manner that will produce the fewest
compatibility problems when the application is run on future versions of
Windows. The discussion focuses on compatibility issues involving
Windows-based applications, Windows display drivers, and MS-DOS--based
applications.


=============================================================================

=============================================================================

****
**** The LISTHRZ2 technical article can be downloaded from the
**** file 10-23.zip in library section number 10
****

Considerations for Horizontal Scroll Bars in List Boxes

Kraig Brockschmidt and Kyle Marsh
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

Applications can add horizontal and vertical scroll bars to list boxes that
contain items exceeding the length and width of the list box. The Microsoft
Windows graphical environment currently supports both types of scroll bars,
but vertical scroll bars are managed by the system whereas the management of
horizontal scroll bars is left to the application. This article explains how
applications can implement and control the display of horizontal scroll bars
in list boxes. It also describes functions that facilitate the management of
horizontal scroll bars and provides a sample application that illustrates
their use.


=============================================================================

=============================================================================

****
**** The TOOLBAR technical article can be downloaded from the
**** file 10-72.zip in library section number 10
****

Creating a Toolbar

Kyle Marsh
Microsoft Developer Network Technology Group

Created: December 31, 1992

Abstract

A toolbar consists of a row of graphical buttons, usually displayed across
the top of the application window, that give the user quick access to
frequently selected operations. A menu allows the user to choose operations
through easily understood textual commands, and also provides the keyboard
interface that Microsoft Windows-based applications require. A toolbar, on
the other hand, gives experienced users a shortcut to operations and thus
improves the usability of an application.

The toolbar is quickly becoming a standard for Windows-based applications.
The File Manager in Windows for Workgroups version 3.1 has a toolbar that is
implemented in a dynamic-link library (DLL) called COMMCTRL.DLL. The TOOLBAR
sample application included with this article shows how you can build a
toolbar that looks and works like the toolbar in the Windows for Workgroups
File Manager.


=============================================================================

=============================================================================

****
**** The CTLDLGED technical article can be downloaded from the
**** file 10-5.zip in library section number 10
****

Developing Custom Controls for the Dialog Editor

Kyle Marsh
Microsoft Developer Network Technology Group

Created: October 13, 1992

Abstract

Custom controls provide a powerful mechanism for extending the functionality
of the Microsoft Windows operating system. To design applications that use
custom controls efficiently, you must ensure that the custom controls
interface with the Dialog Editor. Unfortunately, documentation on this
subject is hard to find. The information is spread over multiple books and is
unclear. This article explains how to develop custom controls that work with
the Dialog Editor, and shows that this process is actually very easy.

The article assumes that the developer already has a custom control in a
dynamic-link library (DLL), which needs an interface to the Dialog Editor.


=============================================================================

=============================================================================

****
**** The HIERLIST technical article can be downloaded from the
**** file 10-73.zip in library section number 10
****

Displaying a Hierarchy in a List Box

Kyle Marsh
Microsoft Developer Network Technology Group

Created: December 22, 1992

Abstract

This article explains how to create a hierarchical list box that includes
icon bitmaps and connecting lines. It describes what an application must do
to display the hierarchy and discusses some helper functions I developed
specifically to make the process easier for the application developer.
HierList, the sample application included with this article, implements a
hierarchical list box with these helper functions.


=============================================================================

=============================================================================

****
**** The EDITCTLS technical article can be downloaded from the
**** file 10-14.zip in library section number 10
****

Edit Controls

Kyle Marsh
Microsoft Developer Network Technology Group

Created: January 31, 1992

Revised: October 16, 1992. Added GMEM_ZEROINIT to code in step 3 in "Edit
Controls and Memory" section.

Abstract

This article is a complete reference for edit controls. It describes all
edit control styles, messages, and notifications in more detail than those in
the Microsoft Windows versions 3.0 and 3.1 Software Development Kit (SDK)
documentation. Techniques for solving common problems with edit controls are
also described in this article.


=============================================================================

=============================================================================

****
**** The FONTUTIL technical article can be downloaded from the
**** file 10-74.zip in library section number 10
****

Font Utilities---Some Handy-Dandy Font-Handling Functions

Charlie Kindel, Microsoft Premier Support Services
Kyle Marsh, Microsoft Developer Network Technology Group

Created: January 10, 1993

Abstract

Handling fonts in Microsoft Windows-based applications can involve a lot of
grunt work. For example, essential tasks such as creating fonts, retrieving
point sizes, and calculating text metrics can take up a lot of the
developer's time and effort. This article describes some useful font-handling
functions that take care of most of this tedious work, thus making it easier
to create and manipulate fonts in Windows.

The FONTUTIL sample application demonstrates most of the font-handling
functions discussed in this technical article.


=============================================================================

=============================================================================

****
**** The GETPEEK technical article can be downloaded from the
**** file 10-75.zip in library section number 10
****

GetMessage and PeekMessage Internals

Bob Gunderson
Microsoft Developer Network Technology Group

Created: December 11, 1992

Abstract

This article explains the inner workings of GetMessage and PeekMessage and
is the foundation for a set of articles that deal with messaging and its
effect on tasking in the 16-bit MS-DOS/Microsoft Windows environment. The
following topics are discussed:

o  System and application queues

o  GetMessage and PeekMessage functions

o  PeekMessage options

o  Message filtering

o  WM_QUIT message

o  Yielding and sleeping

o  Problems with Yield

o  WaitMessage

There are significant differences between the 16-bit MS-DOS/Windows
environment and the 32-bit Win32/Windows NT environment. These differences
are not covered here, but are left as topics for future articles.


=============================================================================

=============================================================================

****
**** The STATBAR technical article can be downloaded from the
**** file 10-36.zip in library section number 10
****

Implementing a Status Bar 

Kyle Marsh
Microsoft Developer Network Technology Group

Created: April 2, 1992

Abstract

A status bar is an area in a window that displays information about the
current state of the window or application. The status bar can provide a
variety of information, including descriptions of menu items, current
keyboard-initiated modes such as num lock and caps lock, and brief messages.
This article explains how to implement a 3-D status bar in the Microsoft
Windows graphical environment and how to track information placed on the
status bar.


=============================================================================

=============================================================================

****
**** The LISTBOX technical article can be downloaded from the
**** file 10-22.zip in library section number 10
****

List Box Controls

Kyle Marsh
Microsoft Developer Network Technology Group

Created: March 23, 1992

Abstract

This article is a complete reference for list box controls. It describes all
list box control styles, messages, and notifications in more detail than
found in the Microsoft Windows version 3.x Software Development Kit (SDK)
documentation.

List box controls display a list of items from which the user can choose one
or more items. List box controls can be either single column (one column of
choices) or multiple column (one or more columns of choices), single
selection (allowing only one item to be selected at a time) or multiple
selection (allowing one or more items to be selected at a time).


=============================================================================

=============================================================================

****
**** The HOOKS technical article can be downloaded from the
**** file 10-19.zip in library section number 10
****

Microsoft Windows Hooks

Kyle Marsh
Microsoft Developer Network Technology Group

Created: March 20, 1992
Revised: July 16, 1992

Abstract

This article explains the Microsoft Windows graphical environment hooks and
how to use them. Topics include Windows hook functions, filter functions, and
types of hooks:

o  WH_CALLWNDPROC

o  WH_CBT

o  WH_DEBUG

o  WH_GETMESSAGE

o  WH_HARDWARE

o  WH_JOURNALRECORD

o  WH_JOURNALPLAYBACK

o  WH_KEYBOARD

o  WH_MOUSE

o  WH_MSGFILTER

o  WH_SYSMSGFILTER


=============================================================================

=============================================================================

****
**** The DDLIST technical article can be downloaded from the
**** file 10-76.zip in library section number 10
****

Rescue of the COMMDLG Bitmaps

Kraig Brockschmidt
Software Design Engineer, Microsoft Windows Developer Relations

Created: January 13, 1993

Abstract

This article discusses the implementation of an owner-drawn combo box and
list box that use the drive and folder icons from the Microsoft Windows
version 3.1 Software Development Kit (SDK).


=============================================================================

=============================================================================

****
**** The SUBCLASS technical article can be downloaded from the
**** file 10-40.zip in library section number 10
****

Safe Subclassing

Kyle Marsh
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article describes subclassing, how it is done, and the rules that
should be followed to make subclassing safe. Both instance and global
subclassing are covered. Superclassing is described as an alternative to
global subclassing.


=============================================================================

=============================================================================

****
**** The STATICTL technical article can be downloaded from the
**** file 10-37.zip in library section number 10
****

Static Controls

Kyle Marsh
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

Static controls are child windows used in Microsoft Windows-based
applications to display text, to draw frames or lines separating other
controls, or to display icons. Static controls do not accept user input and
do not send notification messages to their parent windows. This article
describes how developers can define different types of static controls and
can use text styles, frame styles, and rectangle styles to modify the
appearance of these controls.


=============================================================================

=============================================================================

****
**** The USE-CUST technical article can be downloaded from the
**** file 10-48.zip in library section number 10
****

Using and Customizing Common Dialogs

Kraig Brockschmidt
Systems Developer Relations

Created : June 1992


=============================================================================

=============================================================================

****
**** The VLB technical article can be downloaded from the
**** file 10-49.zip in library section number 10
****

A Virtual List Box Implementation with VLIST

Kyle Marsh
Microsoft Developer Network Technology Group

Created: September 2, 1992

Revised: January 26, 1993 (see the "Revisions" section below for a list of
changes)

Abstract

The standard list box control in Microsoft Windows can contain a limited
number of items. Applications may need to implement list boxes that exceed
this limitation. This article introduces a custom control called VLIST, which
is a virtual list box capable of displaying millions of items. Part 1 of the
article provides instructions for using the VLIST virtual list box, and
documents the styles and messages that VLIST supports. Part 2 describes how
VLIST was implemented, and discusses the problems encountered and decisions
made during the implementation; readers who would like to modify VLIST or
implement their own virtual list box may find this section interesting. For a
working example of VLIST, see the Microsoft Developer Network CD---the topic
listing in the Index window was implemented with VLIST.


=============================================================================

=============================================================================

****
**** The STYLES technical article can be downloaded from the
**** file 10-39.zip in library section number 10
****

Window Hierarchy and Styles 

Kyle Marsh
Microsoft Developer Network Technology Group

Created: April 7, 1992

Abstract

This article describes the desktop, top-level, and child windows provided in
the Microsoft Windows graphical environment and their hierarchical
relationships. It explains how an application can use Windows-based functions
to navigate the window structure and to control the style and appearance of a
window on the desktop.


=============================================================================

=============================================================================

****
**** The MINMAX technical article can be downloaded from the
**** file 10-26.zip in library section number 10
****

WM_GETMINMAXINFO

Kyle Marsh
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

The Microsoft Windows graphical environment provides the WM_GETMINMAXINFO
message for applications to control the maximized size and position, the
maximum tracking size, and the minimum tracking size of a window.


=============================================================================

=============================================================================

****
**** The FAULTS technical article can be downloaded from the
**** file 10-15.zip in library section number 10
****

Bulletproof Functions with ToolHelper

Kraig Brockschmidt
Systems Developer Relations

Created: March 30, 1992


=============================================================================

=============================================================================

****
**** The DEVENV technical article can be downloaded from the
**** file 10-10.zip in library section number 10
****

A Flexible Development Environment

Nigel Thompson
Microsoft Developer Technology Group

Created: March 20, 1992

Abstract

The process of developing applications for the Microsoft Windows graphical
environment sometimes requires a machine that is set up with more than one
version of Windows, more than one set of tools (compilers, debuggers, and so
on), and both released versions and development versions of several
applications. This article describes techniques for establishing a correct
development environment for a particular requirement and suggests a directory
structure in which a source control system maintains one or more projects.

These suggestions are based on the system we employed at Microsoft to create
the multimedia extensions to Windows.


=============================================================================

=============================================================================

****
**** The PPDEBUG technical article can be downloaded from the
**** file 10-79.zip in library section number 10
****

Use Your Printer Port to Measure System Timings

Herman Rodent
Microsoft Developer Network Technology Group

Created: January 4, 1993

Abstract

If you need to measure interrupt latency, interrupt-service-routine
execution time, or procedure call overhead---or if you just plain want to
know why your application is so slow---here's an article that describes a
simple way to use a printer port and an oscilloscope to do timing
measurements.

If you don't know what an oscilloscope is, you can either stop reading now
and return to struggling with your code, or look forward to renting a new toy
to play with.


=============================================================================

=============================================================================

****
**** The EXEMAP technical article can be downloaded from the
**** file 10-80.zip in library section number 10
****

Using EXEHDR and Map Files for Developing Windows-Based Applications

David Long
Microsoft Developer Network Technology Group

Created: January 15, 1993

Abstract

This article provides ways to understand, view, and adjust an executable
file's header information. The perspective taken is from the point of view of
aprogrammer writing an application or dynamic-link library (DLL) for
Microsoft Windows. The article is divided into the following sections:

o  "Overview of Executable File Headers" introduces the structure of an
executable's file header and the information it contains.

o  "Using EXEHDR" describes how to use the EXEHDR utility to modify stack
and heap settings, verify module settings, and add EXEHDR listing files to
your make file.

o  "Generating, Understanding, and Using Map Files" discusses public symbols
listing, line number and address information, IMPORTS and EXPORTS, the
generation of map files with LINK, and the way you can use these tools to
optimize your executable's segmentation and function distribution.

o  The final section, "Using LIB to Generate a Listing File," describes how
you can track down public symbols declared by libraries and how you can
replace library modules.


=============================================================================

=============================================================================

****
**** The WINFLOAT technical article can be downloaded from the
**** file 10-53.zip in library section number 10
****

Floating-Point in Microsoft Windows

David Long
Microsoft Developer Network Technology Group

Created: August 10, 1992

Abstract

This article discusses floating-point math operations in Microsoft Windows
version 3.1, using the Microsoft Windows version 3.1 Software Development Kit
(SDK). The article assumes you have a basic understanding of how
floating-point math works on the Intel architecture. Although it is not a
tutorial on floating-point math, it covers the following subjects:

o  Windows floating-point architecture, including the virtual math
coprocessor device (VMCPD), the Windows 80x87 emulator library (WIN87EM.DLL),
and operating-system support provided by the kernel

o  Compiler and linker choices for the Microsoft C compiler

o  Detecting and disabling the math coprocessor

o  C run-time library math functions

o  Performance considerations, such as understanding speed differences and
why they exist

o  Exception handling, especially DLL issues

o  Compiling and using the WinFloat sample applications

o  Glossary of terms

o  Suggestions for further reading

o  Supplemental documentation for WIN87EM functions


=============================================================================

=============================================================================

****
**** The DLLINTRO technical article can be downloaded from the
**** file 10-13.zip in library section number 10
****

Introduction to Microsoft Windows Dynamic-Link Libraries

David Long, Microsoft Developer Network Technology Group 
Dan Ruder, Microsoft Developer Support Group 

Created: August 31, 1992

Abstract

This article provides an introduction to Microsoft Windows dynamic-link
libraries (DLLs), covering the following topics:

o  What is dynamic linking?

o  Dynamic linking in Windows.

o  Advantages and disadvantages of DLLs.

o  What are DLLs used for?


=============================================================================

=============================================================================

****
**** The APPEXEC technical article can be downloaded from the
**** file 10-1.zip in library section number 10
****

Launching Other Windows-Based Applications

Herman Rodent, staff rat
Microsoft Developer Network Technology Group

Created: October 22, 1992

Abstract

An application for Microsoft Windows often needs to be launched from another
Windows-based application. In addition to starting a second application,
sometimes the primary application needs to know when the second application
terminates.

This technical article discusses the following points:

o  Several ways to start applications

o  An approach to finding applications not located on the current Windows
search path

o  A method for detecting whether an application is still running

o  Using the same Windows-based techniques for starting applications for
MS-DOS

AppExec, the sample application provided with this article, contains code
that solves the problems involved in finding and starting one Windows-based
application from another, as well as determining later whether that
application is still running.


=============================================================================

=============================================================================

****
**** The WEP technical article can be downloaded from the
**** file 10-51.zip in library section number 10
****

Loading, Initializing, and Terminating a DLL

Bob Gunderson
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article discusses loading, initializing, and terminating Microsoft
Windows dynamic-link libraries (DLLs). It covers the following topics:

o  When is a library loaded?

o  What is a library entry point (LibMain function)?

o  How is the entry point function limited?

o  What is a window exit procedure (WEP) and how is it used?

o  What are some workarounds for current problems with WEPs?

o  How is a WEP defined?

o  How are WEPs changed in Windows version 3.1?


=============================================================================

=============================================================================

****
**** The DLLMECH technical article can be downloaded from the
**** file 10-81.zip in library section number 10
****

Mechanics of Dynamic Linking

David Long, Microsoft Developer Network Technology Group
Dan Ruder, Microsoft Developer Support Engineer

Created: January 13, 1993

Abstract

This article discusses how Microsoft Windows implements dynamic linking,
covering the following topics:

o  Types of dynamic linking

o  Writing dynamic-link library (DLL) functions, including SS!=DS issues

o  Explicit dynamic linking, using LoadLibrary, GetProcAddress, and
FreeLibrary

o  Implicit dynamic linking, including the use of the Microsoft
Segmented-Executable Linker (LINK) and the Microsoft Import Library Manager
(IMPLIB) to embed dynamic-link references in executable modules,
considerations for ordinal references, the number of exports a DLL can have,
implicit operations of the kernel loader, dependencies among DLLs, the
significance of link order, intercepting application programming interface
(API) calls, and exporting variables

The sample application included with this article---CODEPEND---illustrates
inter-DLL dependencies, load and termination sequencing, module usage counts,
and instance handles for applications and DLLs.

For more information on dynamic-link libraries, read these technical
articles on the Microsoft Developer Network CD:

o  Gunderson, Bob. "Loading, Initializing, and Terminating a DLL" (Technical
Articles, Windows Articles, Kernel Articles).

o  Gunderson, Bob. "Modules, Instances, and Tasks" (Technical Articles,
Windows Articles, Kernel Articles).

o  Long, David, and Dan Ruder. "Introduction to Microsoft Windows
Dynamic-Link Libraries" (Technical Articles, Windows Articles, Kernel
Articles).


=============================================================================

=============================================================================

****
**** The MTI technical article can be downloaded from the
**** file 10-27.zip in library section number 10
****

Modules, Instances, and Tasks

Bob Gunderson
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article discusses modules, instances, and tasks. It covers the
following topics:

o  Definitions of module, instance, and task handles

o  Microsoft Windows functions that deal with these handles

o  Exporting and the MakeProcInstance function

o  Task switching and yielding


=============================================================================

=============================================================================

****
**** The TIMER2 technical article can be downloaded from the
**** file 10-42.zip in library section number 10
****

Timers and Timing in Microsoft Windows

Bob Gunderson
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article covers the following aspects of timers and timing in the
Microsoft Windows graphical environment:

o  How Windows-based applications set up and use timers to perform an
operation periodically

o  Limitations of timers

o  Creating and destroying timers using the SetTimer and KillTimer functions

o  How timer events are detected, recorded, and dispatched internal to
Windows

o  How standard and enhanced modes affect timers and timing 

o  How TOOLHELP.DLL can be useful to timers

o  Description of the INT 2Fh interface to the virtual timer driver
(VTD.386)


=============================================================================

=============================================================================

****
**** The TSR-SUPP technical article can be downloaded from the
**** file 10-45.zip in library section number 10
****

TSR Support in Microsoft Windows Version 3.1

David Long
Microsoft Developer Network Technology Group

Created: October 7, 1992

Abstract

The Microsoft Windows version 3.1 operating system includes new features and
functions that support terminate-and-stay-resident programs (TSRs). This
article describes these new capabilities and provides guidelines for writing
Windows-aware TSRs and device drivers. It explains where TSR writers can find
information and describes Windows Interrupt 2Fh services and notifications
that are not documented elsewhere. Finally, the article provides suggestions
for writing Windows-compatible expanded memory specification (EMS) or
extended memory specification (XMS) client code.

This article assumes that you are familiar with Windows Interrupt 2Fh
services and notifications. See Appendix A for a list of documents that
provide information on Interrupt 2Fh, DOS protected-mode interface (DPMI),
MS-DOS version 5.0 task switcher interface, virtual direct memory access
(DMA) services, and TSR information. Global EMS/XMS client guidelines are
provided in Appendix B.


=============================================================================

=============================================================================

****
**** The VXDLITE technical article can be downloaded from the
**** file 10-50.zip in library section number 10
****

The VxD-Lite Mini-DDK

David Long
Microsoft Developer Network Technology Group

Created: August 4, 1992
Revised: January 11, 1993

Abstract

This article introduces the tools, development files, sample sources, and
online information for developing virtual devices using the Microsoft
Developer Network VxD-Lite Mini-DDK, which is a modified subset of the
Microsoft Windows version 3.1 Device Driver Kit (DDK).

"VxD-Lite: Everything you always wanted in a DDK. And less."


=============================================================================

=============================================================================

****
**** The 1632DIBS technical article can be downloaded from the
**** file 10-82.zip in library section number 10
****

16- and 32-Bit-Per-Pixel DIB Formats for Windows: The Color of Things to
Come

Herman Rodent
Microsoft Developer Network Technology Group

Created: January 14, 1993

Abstract

The current version of the Microsoft Windows operating system Software
Development Kit (SDK) defines a number of formats for device-independent
bitmaps (DIBs). These formats cover 1-, 4-, 8-, and 24-bit-per-pixel images.
Microsoft has published a set of proposals for extending the existing
definitions to accommodate 16- and 32-bit-per-pixel RGB images, as well as
some new custom formats.(On the Microsoft Developer Network CD, see Product
Documentation, Microsoft Video for Windows SDK, Chapter 5, "DIB Format
Extensions for Microsoft Windows.") The new custom formats cover various
types of image compression such as the Joint Picture Experts Group (JPEG)
format, and encoding formats such as YUV. With the advent of more 16-bit
video cards has come a requirement to define a new standard for
16-bit-per-pixel DIBs.

This article focuses on the new 16- and 32-bit-per-pixel formats, discussing
the following points:

o  The evolution of existing video device technology

o  New 16- and 32-bit-per-pixel formats

o  Why the 16-bit-per-pixel format is important

o  What application writers will have to consider in using these formats

o  What device driver writers will need to include support for


=============================================================================

=============================================================================

****
**** The GETGLYPH technical article can be downloaded from the
**** file 10-18.zip in library section number 10
****

Advanced TrueType: GetGlyphOutline

Ron Gery
Microsoft Developer Network Technology Group

Created: July 10, 1992

Abstract

This article presents a usable explanation of the GetGlyphOutline function.
Rather than being a complete guide, it is intended to complement and complete
the definition found in the Microsoft Windows version 3.1 Software
Development Kit (SDK) Programmer's Reference, Volume 2: Functions. To follow
the discussion, the reader should be familiar with the information on
GetGlyphOutline in the SDK and the basic theory of the TrueType font engine.
Asample application, GLYPH, is included on the Microsoft Developer Network CD
to illustrate the basic concepts and mechanisms in this article.


=============================================================================

=============================================================================

****
**** The TRANSBLT technical article can be downloaded from the
**** file 10-43.zip in library section number 10
****

Bitmaps with Transparency

Ron Gery
Microsoft Developer Network Technology Group

Created: June 1, 1992

Abstract

This article discusses several methods for performing transparency and
masking effects with bitmaps in the Microsoft Windows graphical environment,
both through simulations and by using special driver functionality. Included
is a small sample application, TRANSBLT, that demonstrates most of the
techniques discussed in this article.


=============================================================================

=============================================================================

****
**** The MAPPING technical article can be downloaded from the
**** file 10-24.zip in library section number 10
****

Coordinate Mapping

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article discusses mapping modes in the Microsoft Windows graphical
environment---what they are, how they work, and what they really mean. Basic
use of the following mapping mode functions is included: SetMapMode,
SetWindowExt, SetViewportExt, SetWindowOrg, SetViewportOrg, LPtoDP, and
DPtoLP.


=============================================================================

=============================================================================

****
**** The DIBS2 technical article can be downloaded from the
**** file 10-12.zip in library section number 10
****

DIBs and Their Use

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article discusses the DIB (device-independent bitmap) concept from
definition and structure to the API that uses it. Included is a small sample
application that illustrates some of the most common methods of using DIBs to
display and manipulate digital images. Functions discussed are GetDIBits,
SetDIBits, CreateDIBitmap, SetDIBitsToDevice, StretchDIBits, and
CreateDIBPatternBrush. This article does not discuss using palettes with
DIBs.


=============================================================================

=============================================================================

****
**** The OBJECTS technical article can be downloaded from the
**** file 10-28.zip in library section number 10
****

GDI Objects

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article discusses how to create, select, and delete graphics device
interface (GDI) objects such as pens, brushes, fonts, bitmaps, palettes, and
regions. Sprinkled throughout are general guidelines for using objects
efficiently and for making basic use decisions.


=============================================================================

=============================================================================

****
**** The GDIOVER2 technical article can be downloaded from the
**** file 10-17.zip in library section number 10
****

GDI Overview

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article provides a brief overview of the design and theory of the
graphical component of the Microsoft Windows graphical environment. No
details are covered.


=============================================================================

=============================================================================

****
**** The TRUETYPE technical article can be downloaded from the
**** file 10-44.zip in library section number 10
****

An Introduction to Digital Typography Using TrueType

George Moore

Created: April 2, 1992

Abstract

This article describes the use of TrueType fonts in the Microsoft Windows
version 3.1 graphical environment. It explains the concepts of digital
typography and discusses the steps for displaying a bitmapped character on a
target device, a process that is invisible to developers in the Microsoft
Windows environment.


=============================================================================

=============================================================================

****
**** The TTFONTS technical article can be downloaded from the
**** file 10-47.zip in library section number 10
****

Linear and Nonlinear Scaling in Digital Typography

George Moore

Created: April 20, 1992

Abstract

This article outlines the problems inherent in the linear scaling of fonts
and how existing digital typographies have tried to solve them. Against this
background, the nonlinear scaling solution found in TrueType in Microsoft
Windows version 3.1 has clear advantages.


=============================================================================

=============================================================================

****
**** The METAFILE technical article can be downloaded from the
**** file 10-25.zip in library section number 10
****

Metafiles

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article provides an overview of metafiles, their creation, and their
use. All metafile functions are discussed:

o  CloseMetaFile

o  CopyMetaFile

o  CreateMetaFile

o  DeleteMetaFile

o  EnumMetaFile

o  GetMetaFile

o  GetMetaFileBits

o  PlayMetaFile

o  PlayMetaFileRecord

o  SetMetaFileBits


=============================================================================

=============================================================================

****
**** The PALAWARE technical article can be downloaded from the
**** file 10-30.zip in library section number 10
****

Palette Awareness

Ron Gery
Microsoft Developer Network Technology Group

Created: April 15, 1992

Abstract

This article discusses basic palette awareness---what it takes for an
application to use palettes correctly in the Microsoft Windows graphical
environment---by covering these areas:

o  Responding to palette-related messages

o  Managing palette-based bitmaps

o  Managing multiple palettes in one application

o  Using the Clipboard with palettes

The reader should be familiar with basic palette use for painting
operations. This article is not about the Palette Manager, and the level of
detail is limited to the very basics of the palette managing process. A
sample application, MULTIPAL, is included on the Microsoft Developer Network
CD to illustrate the use of multiple palettes in a single application.


=============================================================================

=============================================================================

****
**** The PALETTE technical article can be downloaded from the
**** file 10-83.zip in library section number 10
****

The Palette Manager: How and Why

Ron Gery
Microsoft Developer Network Technology Group

Created: March 23, 1992

Abstract

This article is intended as a full introduction to the Microsoft Windows
Palette Manager. Beyond simply describing the use of the palette interface,
this article attempts to explain its specific internal workings and gives
reasons for its chosen implementation. Due to the complexity of the Palette
Manager, this article gives some topics an initial explanation and then goes
into them in greater detail later in the article. Because the result is
rather long, it is recommended that you read it start to finish before using
it as a reference. For a less in-depth discussion on using palettes, check
out the "Palette Awareness" technical article on the Microsoft Developer
Network CD (Technical Articles, Windows Articles, GDI Articles).

Disclaimer     Any and all internal details discussed in this article are
subject to change without notice in future versions of Windows. Any reliance
on these details must be made version-dependent on Windows versions 3.0 and
3.1.


=============================================================================

=============================================================================

****
**** The PRIMITIV technical article can be downloaded from the
**** file 10-32.zip in library section number 10
****

Primitive Cool

Ron Gery
Microsoft Developer Network Technology Group

Created: March 17, 1992

Abstract

This article discusses the varying levels of simulations that the Microsoft
Windows graphics device interface (GDI) performs to provide a
device-independent output model for graphical primitives on raster devices.
The article covers general simulations for lines, rectangles, polygons,
curves, stretched blts, device-independent bitmap (DIB) operations, and
printer-specific support, as well as noting memory restrictions and error
conditions.


=============================================================================

=============================================================================

****
**** The PRINT technical article can be downloaded from the
**** file 10-33.zip in library section number 10
****

Printing

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992
Revised: June 2, 1992

Abstract

This article discusses the basics of printing in the Microsoft Windows
graphical environment. It does not cover setting up a printer and its device
context (DC); it concentrates instead on operations needed to get output to
the printer after it is set up. The article discusses the use of the main
printing functions---StartDoc, EndDoc, StartPage, EndPage, AbortDoc, and
SetAbortProc---and the principles of banding.


=============================================================================

=============================================================================

****
**** The TT technical article can be downloaded from the
**** file 10-46.zip in library section number 10
****

TrueType and Microsoft Windows Version 3.1

David Weise and Dennis Adler

Created: April 4, 1992
Revised: August 13, 1992

Abstract

Applications designed for the Microsoft Windows graphical environment can
use four kinds of font technologies to display and print text: raster,
vector, device, and TrueType. Versions of Windows prior to 3.1 used raster
fonts and vector fonts; Windows version 3.1 introduces TrueType. TrueType
provides a number of advantages over raster and vector fonts:

o  TrueType is WYSIWYG (what you see is what you get). The appearance of a
font on the screen and on the printed page is exactly the same.

o  TrueType fonts are device independent; they print to any printer.

o  TrueType fonts are platform independent; they work with Windows and on
the Apple Macintosh.

o  TrueType fonts are simpler to implement and simpler to use. Install
Windows, and you are ready to use TrueType.


=============================================================================

=============================================================================

****
**** The DIBPAL technical article can be downloaded from the
**** file 10-11.zip in library section number 10
****

Using DIBs with Palettes

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992

Abstract

This article discusses using palettes in conjunction with DIBs
(device-independent bitmaps). It does not delve into involved uses of the
Microsoft Windows Palette Manager.


=============================================================================

=============================================================================

****
**** The BIGBIT technical article can be downloaded from the
**** file 10-2.zip in library section number 10
****

Using True Color Devices

Ron Gery
Microsoft Developer Technology Group

Created: March 20, 1992

Abstract

This article discusses the use of devices with high color resolution (more
than 8 bit). It provides information useful to both application and device
driver writers.


=============================================================================

=============================================================================

****
**** The T2API technical article can be downloaded from the
**** file 10-41.zip in library section number 10
****

Using TrueType

Ron Gery
Microsoft Developer Network Technology Group

Created: March 20, 1992
Revised: April 21, 1992

Abstract

This article introduces using TrueType in an application with the Microsoft
Windows version 3.1 graphical environment. It discusses issues that the
introduction of TrueType raises and mechanisms for solving them. The article
also explains how to use TrueType to create more accurate and
device-independent output than was previously possible. New Windows version
3.1 functions covered are GetRasterizerCaps, EnumFontFamilies,
GetCharABCWidths, GetOutlineTextMetrics, GetGlyphOutline, GetFontData,
GetKerningPairs, and CreateScalableFontResource. This article is specific to
Windows version 3.1. None of the new structures or functions discussed are
available in earlier versions of Windows.


=============================================================================

=============================================================================

****
**** The FONTMAP technical article can be downloaded from the
**** file 10-16.zip in library section number 10
****

Windows Font Mapping

Ron Gery
Microsoft Developer Network Technology Group

Created: June 8, 1992

Abstract

This article discusses the font mapper in the Microsoft Windows operating
system and how it controls the realization of fonts. In the process, the
article also looks at what it takes to effectively create a logical font so
that the font mapping is predictable and useful. Some of the information is
specific to Microsoft Windows version 3.1, but most of it applies to both
Windows versions 3.0 and 3.1.


=============================================================================

=============================================================================

****
**** The DDEEXEC technical article can be downloaded from the
**** file 10-84.zip in library section number 10
****

DDE Execute Strings

Herman Rodent
Microsoft Developer Network Technology Group

Created: November 16, 1992

Abstract

The dynamic data exchange (DDE) protocol includes a feature designed to
allow a DDE client application to send commands to a DDE server. The syntax
of these execute requests and the way they should be handled by servers is
not well documented and, consequently, varies slightly with different
implementations. 

The current DDE protocol has no provision for returning result information
from an execute request, so a client application can only tell that the
request failed, not why it failed.

This article proposes a consistent way to handle DDE execute command
requests and a mechanism that allows result information to be returned. This
article covers the following points:

o  DDE execute command syntax

o  Special characters in command arguments

o  Unicode considerations for Microsoft Windows NT

o  The returning of result information


=============================================================================

=============================================================================

****
**** The DDEHOTLK technical article can be downloaded from the
**** file 10-7.zip in library section number 10
****

DDE Hot Links

Herman Rodent, staff burrower
Microsoft Developer Network Technology Group

Created: October 1, 1992

Abstract

Dynamic data exchange (DDE) is a powerful feature of the Microsoft Windows
operating environment. DDE provides a protocol through which applications can
exchange data of all sorts. DDE enables applications to form hot links with
DDE servers and obtain data in real time. A hot link is a direct data feed
from one application (a DDE server) to another (a DDE client). As the data
changes at the server, the server sends the new information to the client to
be processed.

This article shows a technique for browsing DDE servers that may be used in
adialog box to establish a hot link and discusses the process required to
reestablish a hot link when an application is restarted.

A sample application is included that demonstrates establishing a link and
reestablishing the link when the application is started again later.


=============================================================================

=============================================================================

****
**** The CLIENT technical article can be downloaded from the
**** file 10-3.zip in library section number 10
****

OLE Client Implementation Guide Version 1.02

Kraig Brockschmidt

Created: May 22, 1992


=============================================================================

=============================================================================

****
**** The STREAMS technical article can be downloaded from the
**** file 10-38.zip in library section number 10
****

OLE Object Streams

Kraig Brockschmidt

Created: March 23, 1992


=============================================================================

=============================================================================

****
**** The SERVER technical article can be downloaded from the
**** file 10-35.zip in library section number 10
****

OLE Server Implementation Guide

Kraig Brockschmidt

Created: May 6, 1992

Abstract

The objective of this document is to help applications programmers add
object linking and embedding (OLE) server capabilities to new or existing
applications. This guide provides OLE technical background information,
suggestions for preparing an application to become an OLE server, and
step-by-step instructions on where to add code, what OLE functions to call,
and what specific actions to perform.


=============================================================================

=============================================================================

****
**** The JSCONCPT technical article can be downloaded from the
**** file 10-20.zip in library section number 10
****

OLE: A Short Overview

Jon Singer

Created: May 2, 1992

Abstract

This article provides a general overview of object linking and embedding
(OLE). It explains what OLE is, discusses why it is important, and provides
suggestions for implementing OLE successfully in your applications.


=============================================================================

=============================================================================

****
**** The DDEDLL technical article can be downloaded from the
**** file 10-6.zip in library section number 10
****

Performing DDE from a Dynamic-Link Library

By Herman Rodent, a much-traveled, small, furry animal
Microsoft Developer Network Technology Group

Created: October 1, 1992

Abstract

Dynamic data exchange (DDE) is normally associated with applications. The
basic DDE mechanism uses WM_DDE... messages sent between application window
procedures. This article shows how DDE operations can be performed from a
dynamic-link library (DLL) using the dynamic data exchange management library
(DDEML) to do most of the work. Using DDEML instead of raw DDE messages makes
adding DDE functionality to a DLL a trivial exercise.

PMGRPAPI, the sample code for this article, implements a DLL with an
application programming interface (API) to the Microsoft Windows Program
Manager for controlling the creation and deletion of groups and items. The
application is of use in its own right as an aid to creating setup programs.


=============================================================================

=============================================================================

****
**** The DDESERV technical article can be downloaded from the
**** file 10-85.zip in library section number 10
****

Quick and Easy DDE Server

Herman (Mr. DDE) Rodent
Microsoft Developer Network Technology Group

Created: November 30, 1992

Abstract

Adding dynamic data exchange (DDE) server support to an application has
never been easier. This article describes a code module you can include in
your own application that makes adding DDE server support trivial. The code
module makes use of the dynamic data exchange management library (DDEML) to
implement the DDE protocol and provides the following features:

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 Full System topic support

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 An application programming
interface (API) to dynamically add and remove topics and topic/item pairs

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 An API to dynamically add and
remove DDE execute commands to a topic

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 Automatic tracking of
conversations

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 Built-in execute command parser

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 Partial support for the Execute
Control 1 protocol, which allows a result string to be returned in response
to a DDE execute command request

This article requires considerable familiarity with DDE concepts---it's not
agood place to start learning about DDE. Please refer to the Microsoft
Windows version 3.1 Software Development Kit (SDK) Programmer's Reference,
Volume 1: Overview, Part 2: Extension Libraries for a general introduction to
DDE and DDEML. The following articles on the Microsoft Developer Network CD
(Technical Articles, Windows Articles, OLE and DDE Articles) provide more
detail on various DDE topics:

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 "DDE Execute Strings"

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 "DDE Hot Links"

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 "Performing DDE from a
Dynamic-Link Library"

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 "Raw DDE"

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 "Supporting the Clipboard, DDE,
and OLE in Applications"

o  {3 {5 \*SYMBOL 183 \f "Symbol"}5 {5 }5 }3 "Supporting the DDE System
Topic"


=============================================================================

=============================================================================

****
**** The RAWDDE technical article can be downloaded from the
**** file 10-34.zip in library section number 10
****

Raw DDE

Sanford A. Staab
Created: March 20, 1992

Abstract

Dynamic data exchange (DDE) is one of the least understood capabilities of
the Microsoft Windows graphical environment. For the most part, this lack of
understanding results from the absence of a highly detailed explanation of
the correct protocol to use when performing DDE transactions. This article
describes each type of DDE transaction in a table format that outlines what
operations the client and server applications must perform to complete the
transaction properly.

The DDEML.DLL library in Windows version 3.1 removes the need for most
applications to deal with raw DDE transactions. However, understanding proper
DDE transaction protocol is a necessity when creating or communicating with
applications that do not use DDEML.


=============================================================================

=============================================================================

****
**** The DDEOLE technical article can be downloaded from the
**** file 10-8.zip in library section number 10
****

Supporting the Clipboard, DDE, and OLE in Applications

Herman Rodent
Microsoft Developer Network Technology Group

Created: September 24, 1992

Abstract

Microsoft Windows provides many methods through which applications can
communicate with each other, including shared memory, shared files, the
Clipboard, dynamic data exchange (DDE), and object linking and embedding
(OLE).

Many applications would benefit from the ability to import data from other
applications or export it to them. The difficulty lies in determining which
of the mechanisms listed above are most appropriate to support.

This document reviews Clipboard support in applications and goes on to look
at why an application might be designed to support the Clipboard, DDE, or
OLE. It looks at a number of different types of applications and discusses
what support is appropriate for each of them.


=============================================================================

=============================================================================

****
**** The DDESYSTP technical article can be downloaded from the
**** file 10-9.zip in library section number 10
****

Supporting the DDE System Topic

Herman Rodent
Microsoft Developer Network Technology Group

Created: October 1, 1992

Abstract

Dynamic data exchange (DDE) is a powerful feature of the Microsoft Windows
operating environment. DDE provides a protocol through which applications can
exchange data of all sorts. In order for DDE client applications to
communicate effectively with DDE servers, those servers must support the
System topic consistently and correctly.

This article describes what supporting the System topic involves and
provides sample code that you can include in your own application.


=============================================================================

=============================================================================

****
**** The W4PRECOG technical article can be downloaded from the
**** file 10-56.zip in library section number 10
****

Microsoft Windows for Pens Computing---Moderation of the Recognition Process

Stephen Liffick
Created: March 20, 1992

Abstract

This article discusses the primary data structures in Microsoft Windows for
Pen Computing and the methods used by application programmers to moderate the
recognition process with these structures. It provides a high-level overview
of the recognition process followed by detailed information on the methods of
modification and control over this process available to applications.


=============================================================================

=============================================================================

****
**** The OVERVPEN technical article can be downloaded from the
**** file 10-86.zip in library section number 10
****

Overview of the Architecture of Windows Pen Drivers

Matt Squires
Software Design Engineer

Created: January 14, 1993

Abstract

This article is designed to give the reader a general introduction to the
functionality of the Windows for Pen Computing pen driver and virtual pen
driver, and helps to explain why the drivers function as they do. This
article is an overview that should be read in conjunction with the
"Understanding the Windows Virtual Pen Driver" technical article.


=============================================================================

=============================================================================

****
**** The PENUI technical article can be downloaded from the
**** file 10-54.zip in library section number 10
****

Pen User Interface Considerations and Rules

Moshe Lichtman

Created: May 27, 1992


=============================================================================

=============================================================================

****
**** The VPENDRV technical article can be downloaded from the
**** file 10-87.zip in library section number 10
****

Understanding the Windows Virtual Pen Driver

David Flenniken, Pen Windows Test Engineer
Matt Squires, Software Design Engineer

Created: October 12, 1992

Abstract

This article gives the reader a general introduction to the functionality of
the Windows virtual pen driver by explaining what the source does and how it
does it. It is assumed that the reader has a basic understanding of Windows
driver functionality and is familiar with the Windows Device Driver Kit
(DDK).

The files that make up the virtual pen driver for enhanced-mode Windows can
be found in the Windows for Pens OEM adaptations kit and in the Windows 3.1
DDK directory. The files of interest are WACOM.ASM and VPEND.ASM. It is
important that these two source files be read in conjunction with this
article.


=============================================================================

=============================================================================

****
**** The SYMBOLGR technical article can be downloaded from the
**** file 10-55.zip in library section number 10
****

Using the Symbol Graph

Eric Berman

Created: July 1992

Abstract

bj0c


=============================================================================

=============================================================================

****
**** The OPTCDROM technical article can be downloaded from the
**** file 10-61.zip in library section number 10
****

CD-ROM Design and Optimization

Matt Saettler
Microsoft Multimedia

Created: October 1992
Revision 2.03

Abstract

This document details how to design and optimize an application for use and
delivery on CD-ROM using the Microsoft MS-DOS CD-ROM Extensions (MSCDEX).

For the purposes of this document, the references to High Sierra pertain
both to the High Sierra standard and the ISO 9660 standard except where
specifically noted.

This document contains information targeted to the following types of
readers:

o  Application developers (C or High-Level Tool)

o  Low-level application developers (assembler)

o  Multimedia producers


=============================================================================

=============================================================================

****
**** The MMAWARE technical article can be downloaded from the
**** file 10-59.zip in library section number 10
****

Creating Multimedia-Aware Applications

Nigel Thompson, Microsoft Developer Network Technology Group
Matt Saettler, Microsoft Multimedia

Created: March 20, 1992
Revised: October 1992
Revision 1.36

Abstract

This article reviews considerations for creating multimedia-dependent and
multimedia-aware applications in the Microsoft Windows operating system. If
your application is dedicated to the multimedia personal computer (MPC)
environment, you will find useful information in the "Coping with Resource
Availability" and "Yielding Resources to Other Applications" sections. If you
are writing an application for Windows version 3.1 or for the Win32
Application Programming Interface, this article points out some potential
hazards.

This article is meant for a developer working in C or a high-level language.
It covers three main areas of creating multimedia applications:

o  Applications that work with or without the multimedia API extensions to
Windows

o  Coping with unavailable resources

o  Yielding resources to other applications.


=============================================================================

=============================================================================

****
**** The GRAPHX technical article can be downloaded from the
**** file 10-57.zip in library section number 10
****

Graphics Design and Optimization

Matt Saettler
Microsoft Multimedia

Created: August 1992
Revision 1.01

Abstract


=============================================================================

=============================================================================

****
**** The MSFTMM technical article can be downloaded from the
**** file 10-60.zip in library section number 10
****

Microsoft Multimedia Document Overview

Matt Saettler
Microsoft Multimedia

Created: October 2, 1992
Revision 1.0.24

Abstract

The Microsoft Multimedia Overview presents the list of the current documents
available from the multimedia group at Microsoft. The reader should use this
list to ensure that he/she has the current version of the listed documents as
well as a guide to the documents that are available.


=============================================================================

=============================================================================

****
**** The VIDEO technical article can be downloaded from the
**** file 10-64.zip in library section number 10
****

Multimedia Video Techniques

Created: March 20, 1992

Abstract

This article describes some techniques that can help improve your
application's video performance:

o  Using an identity palette to speed the drawing of images

o  Dealing with differences in video adapters

o  Modifying device-independent bitmaps (DIBs) using the DIB driver

o  Using the DisplayDib application programming interface (API) to display
256-color images on a standard VGA adapter


=============================================================================

=============================================================================

****
**** The RIFFNEW technical article can be downloaded from the
**** file 10-62.zip in library section number 10
****

New Multimedia Data Types and Data Techniques

January 12, 1993
Revision 1.0.108


=============================================================================

=============================================================================

****
**** The MEMORY technical article can be downloaded from the
**** file 10-58.zip in library section number 10
****

Optimizing Memory Usage and Performance

Mark McCulley

Created: March 20, 1992

Abstract

This article discusses techniques for optimizing memory usage and
performance in applications designed for the Microsoft Windows graphical
environment. These techniques include:

o  Using global memory

o  Minimizing selector loads

o  Using processor-specific code

o  Using the script channel of a multimedia movie player (MMP) movie to play
sound


=============================================================================

