TDI_PROVIDER_STATISTICS structure
The TDI_PROVIDER_STATISTICS structure defines the structure of the information returned for a TDI_QUERY_INFORMATION request in which IrpSp->Parameters is cast to a pointer to a TDI_REQUEST_KERNEL_QUERY_INFORMATION structure. The request sets the QueryType member of TDI_REQUEST_KERNEL_QUERY_INFORMATION to the TDI_QUERY_PROVIDER_STATISTICS query type.
Syntax
typedef 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 ResourceStats[1];
} TDI_PROVIDER_STATISTICS, *PTDI_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 the Resources member.ResourceStats
Variable-length array of TDI_PROVIDER_RESOURCE_STATS structures specifying requested resource statistics.
Remarks
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.
Note The TDI feature is deprecated and will be removed in future versions of Microsoft Windows. Depending on how you use TDI, use either the Winsock Kernel (WSK) or Windows Filtering Platform (WFP). For more information about WFP and WSK, see Windows Filtering Platform and Winsock Kernel. For a Windows Core Networking blog entry about WSK and TDI, see Introduction to Winsock Kernel (WSK).
Requirements
Header |
Tdi.h (include Tdi.h or TdiKrnl.h) |
See also