Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Share this Page URL

Chapter 8. Interrupt-Driven I/O > Testing the Parallel Port Loopback Driver - Pg. 123

Interrupt-Driven I/O // // If we're being called directly from Start I/O, // don't give the user any priority boost. // if( pDpc == NULL ) IoCompleteRequest( pIrp, IO_NO_INCREMENT ); else IoCompleteRequest( pIrp, IO_PARALLEL_INCREMENT ); // // This one's done. Begin working on the next IoStartNextPacket( pDevObj, FALSE ); } 123 Testing the Parallel Port Loopback Driver At this point, a real driver is working, touching real hardware. A tester routine is included with this driver to demonstrate correct functionality and use. It verifies that the driver · · · · · Sends IRPs from its Dispatch routine to its StartI/O routine. Responds to device interrupts. Transfers data successfully. Completes requests. Manages requests from multiple callers. On the other hand, this driver is far from complete. It assumes that all data transfer requests com- plete without error. Simply removing the parallel port loopback connector before starting the test