Pipe Handles

Most of the documentation regarding USB programming shows a nice layered approach—a client driver sitting on top of the Microsoft-provided bus driver with pipe handles providing the logical connection to your endpoint. But while things are nicely layered in Windows, it's different on the device side. Usually, USB devices are embedded systems without layers of drivers—and there's no concept of a pipe handle. For example, the TI USB device simply generates an interrupt whenever a packet is received on a specific endpoint—that's it. A pipe handle is really a Windows abstraction of a USB device endpoint.

—D.A.G.

Back to Article