KSAUTOMATION_TABLE structure (ks.h)

The KSAUTOMATION_TABLE structure defines a structure that combines tables for properties, methods, and events.

Syntax

typedef struct KSAUTOMATION_TABLE_ {
  ULONG                PropertySetsCount;
  ULONG                PropertyItemSize;
  const KSPROPERTY_SET *PropertySets;
  ULONG                MethodSetsCount;
  ULONG                MethodItemSize;
  const KSMETHOD_SET   *MethodSets;
  ULONG                EventSetsCount;
  ULONG                EventItemSize;
  const KSEVENT_SET    *EventSets;
  PVOID                Alignment;
} KSAUTOMATION_TABLE, *PKSAUTOMATION_TABLE;

Members

PropertySetsCount

This member specifies the number of property sets in this automation table.

PropertyItemSize

This member specifies size in bytes of property items in this table.

PropertySets

A pointer to an array of KSPROPERTY_SET objects (PropertySetsCount in length) defining the property sets in this automation table. Each set contains a specific number of items of size PropertyItemSize.

MethodSetsCount

This member specifies the number of method sets in this automation table.

MethodItemSize

This member specifies the size in bytes of method items in this table.

MethodSets

An array of KSMETHOD_SET objects (MethodSetsCount in length) defining the method sets in this automation table. Each set has a specific number of items in it of size MethodItemSize.

EventSetsCount

This member specifies the number of event sets in this automation table.

EventItemSize

This member specifies the size in bytes of event items in this table.

EventSets

An array of KSEVENT_SET objects (EventSetsCount in length) defining the event sets in this automation table. Each set has a specific number of items in it of size EventItemSize.

Alignment

Reserved for internal use by AVStream. Minidrivers should not manipulate this member.

Remarks

Note that each object (pin, filter, topology node) should define an automation table. Minidrivers can use macros defined in Ks.h to define automation tables and the arrays they contain:

  • DEFINE_KSAUTOMATION_TABLE

  • DEFINE_KSAUTOMATION_PROPERTIES

  • DEFINE_KSAUTOMATION_METHODS

  • DEFINE_KSAUTOMATION_EVENTS

To specify an automation table containing an empty property array, event array, or method array:

  • DEFINE_KSAUTOMATION_PROPERTIES_NULL

  • DEFINE_KSAUTOMATION_METHODS_NULL

  • DEFINE_KSAUTOMATION_EVENTS_NULL

For example:

DEFINE_KSAUTOMATION_TABLE (MyAutomationTable) {
    DEFINE_KSAUTOMATION_PROPERTIES (MyPropertyTable),
    DEFINE_KSAUTOMATION_METHODS (MyMethodTable),
    DEFINE_KSAUTOMATION_EVENTS (MyEventTable)
    };

Requirements

Requirement Value
Minimum supported client Available in Microsoft Windows XP and later operating systems and in Microsoft DirectX 8.0 and later versions.
Header ks.h (include Ks.h)

See also

KSEVENT_ITEM

KSEVENT_SET

KSMETHOD_ITEM

KSMETHOD_SET

KSPROPERTY_ITEM

KSPROPERTY_SET