Compartir a través de


IEEE 1394 Sample Communication (Windows CE 5.0)

Send Feedback

Among the requests that an application is likely to perform are streaming requests, such as controlling, transmitting, and receiving streamed media. It is advantageous for all subunit drivers to export the same streaming application programming interface (API) to applications, to use the same source for such code, and not to repeat code. In this way, all subunit drivers can share a single driver that encompasses all AV/C streaming functionality.

The following table shows the various modules of a sample IEEE 1394 AV/C stack. Although there are many other IEEE 1394 modules, such as the virtual VCR driver, the streaming filter driver, and the unit filter driver, they are not included in this sample IEEE 1394 AV/C stack.

Module Description
VCR subunit driver The VCR subunit driver provides applications with the ability to control devices on the IEEE 1394 bus that export an AV/C tape subunit API.

For more information on VCR subunit drivers, see IEEE 1394 AV/C VCR Subunit Driver Development Concepts.

Upper or lower filter driver A filter driver is a particular type of device driver that generally acts to pass through most commands, but filters out commands specific to its purpose and takes explicit action on those commands. In this case, it would explicitly filter out and complete high-level API commands intended to carry out tasks such as starting a stream, sending a frame, and so on.

A filter driver is associated with a particular driver or class of drivers, and is defined as being an upper or lower filter driver. Whenever the targeted driver is instantiated in a driver stack, the code inserts any filter drivers associated with it into the driver stack.

The filter driver is inserted either above or below the target driver, depending on whether the filter driver was defined as an upper or a lower filter driver. This relationship is shown in the above illustration.

Filter drivers have the ability to intercept requests passing through them, filtering out relevant requests. They also have the ability to provide common functionality if all drivers above them deal with unknown requests by properly sending the requests down to the next driver in the stack.

The streaming filter exists as a lower filter driver, and expects all drivers above it to pass down unknown IOCTL commands. If the IOCTL commands are those known by the streaming filter driver, it will process them and complete them for the requester, which is usually the application.

For more information on the filter drivers, see IEEE 1394 Streaming Filter Driver Development Concepts and IEEE 1394 Unit Filter Driver Development Concepts.

AV/C driver The AV/C protocol driver, maps AV/C commands to WDM IRPs, retries requests, for example, if a subunit is busy, handles interim responses as pending IRPs, and routes responses to the correct subunit driver based on type, identifier, and operation code.
61883 driver IEC-61883 is a standard communications and control interface used by IEEE 1394 audio and video devices. IEC-61883 specifications define the protocol by which numerous consumer-electronic audio and video devices can interconnect. These specifications include definitions for general data format, data flow, and connection schemes for audiovisual information. The 61883 driver, handles function control protocol (FCP), common isochronous packet (CIP) format, and connection management procedures (CMP) requests sent down the AV/C driver stack.
1394 bus driver The 1394 bus driver enumerates devices on the IEEE 1394 bus and responds to Plug and Play and power management IRPs on their behalf.
1394 port driver The port driver for the host controller provides a hardware-independent interface to the IEEE 1394 bus. The port driver handles some IRPs and forwards others to the port driver for the motherboard's host controller.

The following illustration shows the hierarchy of the sample IEEE 1394 stack.

ms892188.1394commexample(en-us,MSDN.10).gif

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.