KSAUTOMATION_TABLE_ - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ks.h

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;

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-ks-ksautomation_table_)

KSAUTOMATION_TABLE_ structure

Description

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

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:

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

For example:

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

See also

KSEVENT_ITEM

KSEVENT_SET

KSMETHOD_ITEM

KSMETHOD_SET

KSPROPERTY_ITEM

KSPROPERTY_SET