STATUS_COMPLETE_HANDLER callback 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.

The ProtocolStatusComplete function is a required driver function. ProtocolStatusComplete completes a status-change operation initiated when the underlying driver called NdisMIndicateStatus or NdisMCoIndicateStatus.

Syntax

STATUS_COMPLETE_HANDLER ProtocolStatusComplete;

VOID ProtocolStatusComplete(
  _In_ NDIS_HANDLE ProtocolBindingContext
)
{ ... }

Parameters

  • ProtocolBindingContext [in]
    Specifies the handle to a protocol-allocated context area in which the protocol driver maintains per-binding run-time state. The driver supplied this handle when it called NdisOpenAdapter.

Return value

None

Remarks

ProtocolStatusComplete performs whatever postprocessing is necessary after one or more calls to the driver's ProtocolCoStatus or ProtocolStatus function. A call to ProtocolStatusComplete indicates that the protocol can resume normal operations on the binding after taking into account the preceding status change(s) indicated to its Protocol(Co)Status function. For example, if the protocol previously called NdisReset and it returned NDIS_STATUS_PENDING, both ProtocolResetComplete and ProtocolStatusComplete are called when the protocol-initiated reset operation is begun and completed.

The underlying miniport's call to NdisMIndicateStatusComplete causes NDIS to call the ProtocolStatusComplete function. Interrupts are enabled on the underlying NIC when this call occurs. Consequently, the ProtocolReceivePacket or ProtocolCoReceivePacket, or ProtocolReceive functions can be called to process receive indications while ProtocolStatusComplete is running in SMP machines. In some circumstances, the underlying driver can call NdisMIndicateStatus, thereby causing a call to the ProtocolStatus function while ProtocolStatusComplete is running.

Requirements

Target platform

Desktop

Version

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

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

MiniportReset

NdisMCoIndicateStatus

NdisMIndicateStatusComplete

NdisReset

ProtocolCoReceivePacket

ProtocolCoStatus

ProtocolReceive

ProtocolReceivePacket

ProtocolStatus

Send comments about this topic to Microsoft