This section describes how to create video capture minidrivers, which follow the Windows Driver Model (WDM) architecture. It assumes familiarity with concepts discussed in Kernel Streaming. For information on creating a minidriver for audio-only devices, the Audio devices Design Guide.
With the integration of DVD, MPEG decoders, video decoders and tuners, video port extensions (VPEs), and audio codecs on single adapters, a unified driver model that supports all these devices and handles resource contention simplifies development efforts.
The AVStream and Stream class interfaces both provide a framework that provide support for integrated devices. These interfaces support data transfer between kernel-mode drivers. These data transfers do not require a thread to transition to user mode, thereby avoiding a performance hit.
Both interfaces support a uniform streaming model for standard and custom data types. Microsoft defines property sets for most standard devices. Vendors can provide additional property sets if needed.
Microsoft recommends that all new video capture drivers use the AVStream interface. Microsoft provides the Stream class interface for backward compatibility. However, the Stream class interface is obsolete, and Microsoft has discontinued its further development.
Note : This section does not describe the obsolete Video for Windows (VfW) technology. VfW was optimized for capturing movies to disk. Features important to video conferencing, TV viewing, capture of video fields, and ancillary data streams are missing from the VfW architecture. To circumvent these limitations, vendors have added proprietary extensions to VfW. However, without standardized interfaces, applications that use these features must include hardware-dependent code. To bridge the VfW and WDM driver models, Microsoft provides a VfW-to-WDM mapper as part of the operating system. This component enables WDM drivers to appear as VfW drivers for legacy VfW applications.
This section includes: