Acquiring images from USB connected cameras
The new API for doing this is WIA, Windows Image Acquisition. Older devices may not have WIA drivers (my cheap web cam doesn’t). The WIA scripting library can be used from .NET but it is not strongly typed and has manual wrapper and dispose requirements.
TWAIN is the older API. It may require a windows message pump. My web cam has a TWAIN compatible driver.
WIA provides TWAIN compatibility so a TWAIN application will see WIA devices. An application that speaks both TWAIN and WIA will see the WIA devices twice.
An example using each API is found on CodeProject: http://www.codeproject.com/dotnet/wiascriptingdotnet.asp
WIA scripting can capture an image from simple still cameras but not directly from video cameras (like my Sony DTRV20). Instead, use the support for video to create an object with access to the video stream coming from the device and use a method of that interface to snap individual pictures.