A.2.2  Transport Driver

An NDIS 3.0 transport driver must include at least the lower-edge functions defined in Table A.2.3. All calls to and from these functions go through the NDIS interface library.

Names of the transport driver functions mentioned in these discussions use Protocol as a generic name to reflect naming conventions used in the original NDIS 3.0 driver design. You will not be writing or changing these functions. For additional information about these functions, see Chapter 3 in the Network Driver Reference.

Table A.2.3    Transport Driver Lower-Edge Functions

Function Definition
DriverEntry Called by the operating system to activate and initialize the transport driver.
ProtocolCloseAdapterComplete Called by a NIC driver to indicate asynchronous completion of a MacCloseAdapter operation.
ProtocolOpenAdapterComplete Called by a NIC driver to indicate asynchronous completion of a MacOpenAdapter operation.
ProtocolReceive Called by a NIC driver to indicate that all or part of a packet is available for the transport driver to inspect.
ProtocolReceiveComplete Called by a NIC driver to indicate that a receive operation has completed and to request postprocessing.
ProtocolRequestComplete Called by a NIC driver to indicate asynchronous completion of a MacRequest operation.
ProtocolResetComplete Called by a NIC driver to indicate asynchronous completion of a MacReset operation.
ProtocolSendComplete Called by a NIC driver to indicate asynchronous completion of a MacSend operation.
ProtocolStatus Called by a NIC driver to notify a transport driver of changes in network interface card status.
ProtocolStatusComplete Called by a NIC driver to indicate completion of status reporting for a logical adapter.
ProtocolTransferDataComplete Called by a NIC driver to indicate asynchronous completion of a MacTransferData operation.