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