Kernel Streaming I/O Control Codes
Vendor supplied minidrivers that run under Microsoft-provided AVStream and Stream class interfaces do not need to handle IOCTL_KS_*. The interfaces provide this support.
Microsoft does not recommend bypassing the kernel streaming interfaces by writing a driver directly under the kernel streaming services. However, if a vendor implemented a driver in this way, the driver would need to handle the IOCTL_KS_* control codes.
Applications can use the KS I/O control codes that are described in this section to cause KS to perform specific operations.
User-mode applications that are clients of KS drivers should use the Kernel Streaming Proxy module. This proxy presents KS filters as DirectShow filters that are accessible to user-mode applications. To send an I/O request, an application calls KsSynchronousDeviceControl, setting the IoControl parameter to the appropriate I/O control code.
An application can also communicate with a streaming minidriver by using DirectShow APIs. See the Microsoft Windows SDK documentation For more information about DirectShow.
This section contains information about the following topics: