TDI_PROVIDER_STATISTICS
struct _TDI_PROVIDER_STATISTICS {
ULONG Version;
ULONG OpenConnections;
ULONG ConnectionsAfterNoRetry;
ULONG ConnectionsAfterRetry;
ULONG LocalDisconnects;
ULONG RemoteDisconnects;
ULONG LinkFailures;
ULONG AdapterFailures;
ULONG SessionTimeouts;
ULONG CancelledConnections;
ULONG RemoteResourceFailures;
ULONG LocalResourceFailures;
ULONG NotFoundFailures;
ULONG NoListenFailures;
ULONG DatagramsSent;
LARGE_INTEGER DatagramBytesSent;
ULONG DatagramsReceived;
LARGE_INTEGER DatagramBytesReceived;
ULONG PacketsSent;
ULONG PacketsReceived;
ULONG DataFramesSent;
LARGE_INTEGER DataFrameBytesSent;
ULONG DataFramesReceived;
LARGE_INTEGER DataFrameBytesReceived;
ULONG DataFramesResent;
LARGE_INTEGER DataFrameBytesResent;
ULONG DataFramesRejected;
LARGE_INTEGER DataFrameBytesRejected;
ULONG ResponseTimerExpirations;
ULONG AckTimerExpirations;
ULONG MaximumSendWindow;
ULONG AverageSendWindow;
ULONG PiggybackAckQueued;
ULONG PiggybackAckTimeouts;
LARGE_INTEGER WastedPacketSpace;
ULONG WastedSpacePackets;
ULONG NumberOfResources;
TDI_PROVIDER_RESOURCE_STATS Resources[1];
} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
TDI_PROVIDER_STATISTICS defines the structure of the information returned for
a TDI_QUERY_INFORMATION request in which the IrpSp->Parameters.QueryType
is set to TDI_QUERY_PROVIDER_STATISTICS.
Members
-
Version
-
Specifies the TDI version number. The low-order bytes specify the minor
version number, and the high-order bytes the major version number.
-
OpenConnections
-
Specifies the number of open connection endpoints in the transport.
-
ConnectionsAfterNoRetry
-
Specifies the number of connections the transport has established with
remote-node clients without doing frame retransmissions.
-
ConnectionsAfterRetry
-
Specifies the number of connections the transport has established with remote
node clients after doing some frame retransmissions.
-
LocalDisconnects
-
Specifies the number of endpoint-to-endpoint connections that the
transport's local-node clients have closed.
-
RemoteDisconnects
-
Specifies the number of endpoint-to-endpoint connections that remote-node
clients have closed.
-
LinkFailures
-
Specifies the number of connections lost due to link-level failures.
-
AdapterFailures
-
Specifies the number of connections lost due to problems in the underlying NIC
driver.
-
SessionTimeouts
-
Specifies the number of connections lost due to session-level time-outs.
-
CancelledConnections
-
Specifies the number of rejected connection offers.
-
RemoteResourceFailures
-
Specifies the number of connections that have failed due to resource problems
at a remote node.
-
LocalResourceFailures
-
Specifies the number of connections that have failed due to local-node
resource problems.
-
NotFoundFailures
-
Specifies the number of connection attempts that have failed because the
transport could not find the specified remote node on the network.
-
NoListenFailures
-
Specifies the number of incoming connection offers failed because local-node
clients were not listening for incoming connections.
-
DatagramsSent
-
Specifies the number of datagrams the TDI transport has sent.
-
DatagramBytesSent
-
Specifies the number of bytes in all datagrams the transport has sent.
-
DatagramsReceived
-
Specifies the number of datagrams the TDI transport has received.
-
DatagramBytesReceived
-
Specifies the number of bytes in all datagrams the transport has received.
-
PacketsSent
-
Specifies the number of packets, including control, data, and other frames,
the transport has sent through NDIS to the physical medium.
-
PacketsReceived
-
Specifies the number of packets, including control, data, and other frames,
the transport has received from the physical medium through NDIS.
-
DataFramesSent
-
Specifies the number of data frames the underlying NDIS NIC driver has sent.
-
DataFrameBytesSent
-
Specifies the number of bytes of frame data the underlying NDIS NIC driver has
sent.
-
DataFramesReceived
-
Specifies the number of data frames the underlying NDIS NIC driver has
received.
-
DataFrameBytesReceived
-
Specifies the number of bytes of frame data the underlying NDIS NIC driver has
received.
-
DataFramesResent
-
Specifies the number of data frames the underlying NDIS NIC driver has
re-sent.
-
DataFrameBytesResent
-
Specifies the number of bytes of frame data the underlying NDIS NIC driver has
re-sent.
-
DataFramesRejected
-
Specifies the number of data frames the underlying NDIS NIC driver has
received but rejected.
-
DataFrameBytesRejected
-
Specifies the number of bytes of frame data the underlying NDIS NIC driver has
received but rejected.
-
ResponseTimerExpirations
-
Specifies the number of times the response timer (for example, T1 for NetBIOS)
has expired.
-
AckTimerExpirations
-
Specifies the number of times the acknowledgment timer (for example, T2 for
NetBIOS) has expired.
-
MaximumSendWindow
-
Specifies the maximum send window, in bytes, of the transport.
-
AverageSendWindow
-
Specifies the average send window, in bytes, of the transport.
-
PiggybackAckQueued
-
Specifies the number of times the transport has started a timer waiting for
reverse traffic on which it can piggyback a data acknowledgment to a remote
node.
-
PiggybackAckTimeouts
-
Specifies the number of times a piggyback acknowledgment timer has expired
before the transport could send reverse traffic to a remote node.
-
WastedPacketSpace
-
Specifies the total number of bytes of wasted buffer space for transferred
packets.
-
WastedSpacePackets
-
Specifies how many packets contributed to the value of WastedPacketSpace.
-
NumberOfResources
-
Specifies the number of elements of type TDI_PROVIDER_RESOURCE_STATS in the
array at Resources.
-
Resources[1]
-
Specifies an array of TDI_PROVIDER_RESOURCE_STATS structures, each defined as
follows:
struct _TDI_PROVIDER_RESOURCE_STATS {
ULONG ResourceId;
ULONG MaximumResourceUsed;
ULONG AverageResourceUsed;
ULONG ResourceExhausted;
} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
-
ResourceId
-
Specifies a transport-specific value identifying a resource.
-
MaximumResourceUsed
-
Specifies the maximum number of resources of the specified type the transport
can use concurrently.
-
AverageResourceUsed
-
Specifies the average number of resources of the specified type the transport
uses overall.
-
ResourceExhausted
-
Specifies the number of times the transport has failed to allocate the
specified resource.
Comments
Any kernel-mode client that has opened a control channel can make a query to
determine the current statistics maintained by its underlying transport. Such
a client sets up an IRP with TdiBuildQueryInformation, passing in the QType
TDI_QUERY_PROVIDER_STATISTICS, and submits the IRP to the underlying transport
to get this information.
TDI_PROVIDER_STATISTICS defines the format in which the transport returns the
requested information for such a query.
See Also
TdiBuildQueryInformation, TDI_QUERY_INFORMATION,
TDI_PROVIDER_INFO