IEEE 1394 Virtual VCR Driver Development Concepts (Windows CE 5.0)
The virtual VCR subunit is an example of how a virtual subunit might be written. It is only one form of implementation, favoring a certain type of design. It is not intended to be a pure tutorial or a completed module suitable for release in a commercial product.
The following table compares the two possible implementations of the virtual VCR driver: two components and one component. The Microsoft virtual VCR driver uses two components. Consider your needs before deciding on an implementation strategy.
Implementation | Description | Considerations |
---|---|---|
Two components | The first component is the Windows Driver Model (WDM)-based virtual subunit driver, AVC_VVCR. This component handles the underlying protocols. The underlying protocols manage virtual subunits and virtual VCR subunits. This component does not carry out any tasks related to streaming media or emulating a VCR.
The second component, the virtual VCR application, handles media, streaming, emulating a tape mechanism, Stop, Rewind, Fast Forward, Play, and so on. The application depends on the AVC_VVCR driver, or the underlying AVC_STREAM driver, to carry out the details in the application's high-level tasks. Specifically, part of the processing is done inside a WDM driver and part is done inside of an application. |
More convenient for application developers who want to limit their understanding of the internals of IEEE 1394. This implementation does not hard-code a particular virtual VCR mechanism emulation or implementation, and extends actual control of the virtual VCR mechanism directly to the application. |
One component | All of the functionality of the virtual VCR is encapsulated in the virtual VCR driver. No application is involved and all of the processing is done within a WDM driver. | Simpler because it is a single component. Design issues can result from breaking asynchronous events and tasks between WDM and applications. For example, applications can exist without completing all pending AV/C requests. Also, a significant amount of the code may not be directly related to the functionality of the virtual VCR driver. |
IEEE 1394 Virtual VCR Driver API Definition
The API set for the virtual VCR driver is primarily the APIs defined by IEEE 1394 Streaming Filter Driver Development Concepts and IOCTLs related to control of the virtual VCR. Because many asynchronous operations can be occurring at once, Microsoft recommends that consumers of the virtual VCR driver make use of overlapped I/O, a feature typically invalid for Windows CE, but supported by WDM and all of the associated IEEE 1394 device drivers.
See Also
IEEE 1394 Virtual VCR Driver Architecture | IEEE 1394 Virtual VCR Application
Send Feedback on this topic to the authors