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.