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

TdiBuildQueryInformation

TDI_QUERY_INFORMATION

TDI_PROVIDER_INFO

 

 

Send comments about this topic to Microsoft