Tue Aug 30 17:20:58 CDT 2005
in kernel space a similar model as is available in user space through the
DirectShow filters. The advantage of this is that data can be streamed between
DirectShow drivers directly in kernel space through shared memory or similar
resources to avoid context switches when transporting data between a capture
device, a hardware mixer and a recording device.
VFWCaptureFilter is only a legacy interface to allow access to old style vfw drivers
from DirectShow applications and only allows access to modern DirectShow drivers
through the earlier mentioned vfwwdm32.dll installable driver and translation layer.
As such it seems like a big detour to access WDM stream drivers through it but it
seems to be what many applications including MSN Messenger are doing anyhow.
How Windows avoids double entries of WDM drivers in resource enumeration (one for the
translation of the WDM driver through wfwwdm32.dll into a vfw device and one for the
direct WDM driver) I haven't looked at nor when exactly the applicable entry in the
system registry for a new vfw device based on the WDM driver model is created.
Possibly this might be explicitedly part of the installation of a video capture device,
an implicit part of some setupapi function when installing a video capture class device,
or even implicitedly created by PnP whenever a PnP video device is detected.
> Item 4/ has the following benefits:
> - it's up to the driver, at runtime, to find out and setup
> the existing physical devices
> - you don't need to have fancy settings (configuration...),
> which most users won't understand
Installable drivers support registering and unregistering (here called install and
uninstall) as well as an optional configuration message dialog if necessary. While
it seem not used in most examples I have seen nor in the wine audio drivers, it might
actually be used here in wine to have the driver detect and add the necessary entries
to the registry at some time during setup of wine. Maybe through winecfg or directly
in the installation script?
More information about the wine-devel