NdisMTransferDataComplete function

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.

Syntax

VOID NdisMTransferDataComplete(
  _In_ NDIS_HANDLE  MiniportAdapterHandle,
  _In_ PNDIS_PACKET Packet,
  _In_ NDIS_STATUS  Status,
  _In_ UINT         BytesTransferred
);

Parameters

  • 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.

Return value

None

Remarks

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.

Requirements

Target platform

Universal

Version

Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP.

Header

Ndis.h (include Ndis.h)

Library

Ndis.lib

IRQL

DISPATCH_LEVEL

See also

MiniportInitialize

MiniportReturnPacket

MiniportTransferData

NdisAllocatePacket

NdisMIndicateReceivePacket

NdisTransferData

ProtocolReceive

ProtocolReceivePacket

 

 

Send comments about this topic to Microsoft