AVStream Dispatch Tables

The AVStream dispatch table, KSDEVICE_DISPATCH, is a set of function pointers to dispatch functions. A minidriver can extend the behavior provided by AVStream by providing callback routines that perform driver-specific tasks.

These minidriver-provided routines receive notifications of certain events and may extend or modify the default event handling provided by AVStream.

Both KSFILTER_DISPATCH and KSPIN_DISPATCH structures provide a dispatch called Process. Use this dispatch to differentiate a filter-centric filter from a pin-centric filter.To specify a filter-centric filter, supply a pointer to a process dispatch callback routine in the filter dispatch table. A pin-centric filter provides a process dispatch in each of the pin descriptor tables.

You can register filters to be notified about creations, deletions, the need to process data, and resets. You can register pins to be notified of events such as creations, closure, the need to process data, resets, setting of data formats, and state changes. To register objects for notification, supply a pointer to a vendor-supplied dispatch routine in the relevant dispatch structure.

For more information about dispatch functions, see KSFILTER_DISPATCH, KSPIN_DISPATCH, and KSALLOCATOR_DISPATCH.