ClientEventError

NTSTATUS
    ClientEventError (
        IN PVOID  TdiEventContext,
        IN NTSTATUS  Status
        );

ClientEventError is an event handler that the underlying TDI transport calls in response to an error, either in the transport itself or in a still lower network driver, that makes I/O on a particular local transport address unreliable or impossible.

Parameters

TdiEventContext
Points to the client-supplied context provided in the IRP that was set up with TdiBuildSetEventHandler when ClientEventError was registered with the underlying transport.
Status
Specifies an NTSTATUS value that provides information about the condition that caused this call to ClientEventError.

Return Value

ClientEventError can return STATUS_SUCCESS.

Comments

A call to ClientEventError notifies the local-node client of an error condition in the underlying TDI transport, in one of the lower protocol layers of the transport stack, or in the underlying NDIS NIC driver to which the transport stack is bound. If such an error occurs, the TDI transport calls all currently registered ClientEventError handlers for each client on every open address that depends on the underlying driver that encountered the error condition.

In general, a call to ClientEventError indicates a catastrophic failure. After this call, the client should cease to use, and in some cases close, the file object representing the transport address associated with this notification. If this address is associated with an endpoint-to-endpoint connection, ClientEventError can assume the connection is broken as well.

Consequently, a ClientEventError handler usually cleans up any state it was maintaining for the address and for all connection endpoints it has associated with that address. That is, the client notifies higher level components for which it is handling pending operations on the address of the failure. Then, the client releases all resources it previously allocated that are relevant to those operations.

ClientEventError can be called at IRQL DISPATCH_LEVEL.

See Also

TdiBuildSetEventHandler