Sample User Interface Extension

[This is preliminary documentation and subject to change.]

SUMMARY

This sample shows how to write Windows Image Acquisition (WIA) user interface (UI) extensions. It adds tabs to the device properties dialog (accessible from Explorer) and it adds commands to the context menu for the sample camera device’s icon. These extensions are applied to the WIA sample camera from this DDK by providing implementations of IShellPropSheetExt and IContextMenu.

This sample will not work on Windows 98 or Windows 2000.

BUILDING THE SAMPLE

To build the sample follow these steps:

1.      In the Start menu, select  "Free Build Environment" or "Checked Build Environment" under "Windows DDK" to open a command window and set basic environment variables needed to build drivers.

2.      Change to the directory containing the sample driver source code, src\wdm\wia\extend.

3.      Execute the "build" command. After the build completes, a library named Extend.dll will be located in a subdirectory.

4.      Also build the sample camera driver located in the src\wdm\wia\wiacam directory.

USING THE SAMPLE

To use the driver, follow the instructions in the sample camera readme file, wiacam.htm.

To test the sample UI extensions, open the Scanners and Cameras folder in Explorer.

RESOURCES

WIA information: http://www.microsoft.com/hwdev/tech/wia

DDK information: http://www.microsoft.com/ddk/

CODE TOUR

File Manifest

Files        Description
------------ -------------------------------------------------------
classes.h    Defines interface for extensions
extend.cpp   Implements UI extensions
extend.def   Linker command file
extend.h     Header file for UI extensions
extend.rc    Resources for UI extensions
makefile     Used for building the UI extensions—do not modify
precomp.h    Precompiled header file containing all included headers
resource.h   Header file for resources
shellext.cpp Implements IcontextMenu and IShellPropSheetExt
sources      Controls building of UI extensions
stdafx.cpp   Includes standard header files
wiacamui.rgs Registry entries for UI extensions
extend.htm   This readme file
extidl.idl   MIDL interface definition file
readme.htm   Project readme file
tcamprop.h   Header file for private device properties
testdev.ico   Sample device icon