Now the next thing you need to know is that many drivers are actually layered, or stacked, or whichever name you want to use. Specifically, Windows device drivers handle what are called Interrupt Requests via the Interrupt Request Protocol - which boils down to a wrapped up structure and a set of buffers internally in the driver.
Write a device driver to pretend to be one.