IOCTL_KS_RESET_STATE control code
An application can use IOCTL_KS_RESET_STATE to return a pin to the state it was in at Acquire-time. The application passes IOCTL_KS_RESET_STATE with the parameters described below to the KsSynchronousDeviceControl function.
A client provides a buffer that contains the reset value (KSRESET_BEGIN, KSRESET_END) in the InBuffer parameter. InLength specifies size, in bytes, of the input buffer contents.
If the request is successful, the Status member is set to STATUS_SUCCESS.
Initiate a reset on a pin by sending IOCTL_KS_RESET_STATE with a value of KSRESET_BEGIN in the InBuffer parameter of KsSynchronousDeviceControl.
When the reset state is initiated, existing read and write requests are canceled. While in the reset state, any new read or write requests are rejected with STATUS_DEVICE_NOT_READY.
To terminate the reset state, send IOCTL_KS_RESET_STATE with a value of KSRESET_END.
Note that the reset state is not canceled by changing the pin state.
When the reset state is terminated, the pin can again accept new data and pass data to other connections.