An application can use IOCTL_KS_PROPERTY to get or set properties, or to determine the properties supported by a KS object. The application passes IOCTL_KS_PROPERTY with the parameters described below to the KsSynchronousDeviceControl function.

Major code


Input buffer

The contents of the client-specified InBuffer parameter depend on the property request, and are documented for each property set. For instance, clients requesting properties in the KSPROPSETID_Pin property set specify a pointer to a KSP_PIN structure.

Input buffer length

The application places the size, in bytes, of the input buffer contents in the InLength parameter.

Output buffer

Similarly, the type of output buffer required also depends on the property request.

Output buffer length

The application places the size, in bytes, of the output buffer in the OutLength parameter.

Status block

If the request is successful, the Status member is set to STATUS_SUCCESS.


For more information about input and output buffers and their sizes, see KS Properties.

Filters and pins support property sets using the IOCTL_KS_PROPERTY device I/O control. Although this IOCTL is defined with the METHOD_NEITHER flag, the property data is passed as the output buffer to the IOCTL and probed for read access. The KsPropertyHandler function handles properties requested through IOCTL_KS_PROPERTY.

For a list of valid flags and corresponding descriptions, see the reference page for the KSPROPERTY structure.


Requirement Value
Header ks.h (include Ks.h)

See also