KS Methods

Method sets are groups of related actions that kernel streaming clients can invoke on KS objects. For example, an allocator object could provide a method set containing methods that allocate and deallocate memory.

A minidriver supplies a KSMETHOD_SET structure for each method set it supports. In turn, a KSMETHOD_SET structure contains an array of KSMETHOD_ITEM structures that describe single methods. The minidriver supplies pointers to driver-supplied KStrMethodHandler and KStrSupportHandler handling routines in the MethodHandler and SupportHandler members of the KSMETHOD_ITEM structure.

Clients make synchronous method requests by calling KsSynchronousDeviceControl, or asynchronous requests by calling DeviceIoControl (described in the Microsoft Windows SDK documentation) with IOCTL_KS_METHOD.

A driver requests a specific method by providing a KSMETHOD structure in the InBuffer parameter of the above call.

AVStream filters and pins describe methods that they support by supplying a KSAUTOMATION_TABLE structure in the AutomationTable member of either a KSFILTER_DESCRIPTOR structure or a KSPIN_DESCRIPTOR_EX structure. For more information, see Defining Automation Tables.