Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
NdisMTransferDataComplete returns the packet and completion status for a transfer-data request for which the miniport driver previously returned NDIS_STATUS_PENDING.
VOID NdisMTransferDataComplete( _In_ NDIS_HANDLE MiniportAdapterHandle, _In_ PNDIS_PACKET Packet, _In_ NDIS_STATUS Status, _In_ UINT BytesTransferred );
- MiniportAdapterHandle [in]
Specifies the handle originally input to MiniportInitialize.
- Packet [in]
Pointer to the protocol-allocated packet for which MiniportTransferData previously returned NDIS_STATUS_PENDING.
- Status [in]
Specifies the final NDIS_STATUS_XXX for the just completed transfer-data request.
- BytesTransferred [in]
Specifies the number of bytes actually transferred to the packet.
Whenever MiniportTransferData returns NDIS_STATUS_PENDING for a given packet, the driver must call NdisMTransferDataComplete when it has finished copying the requested data into that packet or must fail the request.
A miniport driver that indicates receives with NdisMIndicateReceivePacket never calls NdisMTransferDataComplete because such a driver always indicates full packets up to higher-level drivers.
Miniports that report their NIC's media type as NdisMediumArcnet878_2 also do not call NdisMTransferDataComplete. NDIS copies all packet data such a driver indicates.
A miniport driver must release any spin lock that it is holding before calling NdisMTransferDataComplete.
|Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP.|