Patent ID: 7647496

Claim:
A computing system comprising: a processor; and one or more storage media storing executable instructions that implement processes capable of operating in at least one of (i) a relatively less restricted kernel mode, and (ii) a relatively more restricted user mode, and a hardware adaptor through which the one or more processes communicate with at least one hardware device over a communication link, the one or more computer-readable storage media further comprising computer-executable instructions for implementing a method that provides a single implementation of one or more operations that are common to both kernel mode processing and user mode processing relative to the hardware adapter, wherein the method comprises acts of: defining a common interface name for at least one operation corresponding to the hardware adaptor and that is common to both kernel mode processing and user mode processing; providing a kernel mode implementation of the at least one operation that corresponds to the name; providing a user mode implementation of the at least one operation that corresponds to the name, wherein the kernel mode implementation includes more operations than the corresponding user mode implementation, including both operations that are common between the user mode and kernel mode as well as unique operations; and for a given process, mapping one or more common interface calls (i) to the kernel mode implementation if the given process is a kernel mode process, and (ii) to the user mode implementation if the given process is a user mode process.