TDI_PNP_CONTEXT structure
The TDI_PNP_CONTEXT structure defines the structure of buffered information passed to transport clients that register themselves with TdiRegisterPnPHandlers to receive notifications of PnP (binding) and power-state changes, as well as dynamic notifications of net address additions and deletions.
Syntax
typedef struct _TDI_PNP_CONTEXT {
USHORT ContextSize;
USHORT ContextType;
UCHAR ContextData[1];
} TDI_PNP_CONTEXT, *PTDI_PNP_CONTEXT;
Members
ContextSize
Specifies the size in bytes of the buffered data, including the variable-sized array of bytes at ContextData.ContextType
Specifies the type of information at ContextData as one of the following values:TDI_PNP_CONTEXT_TYPE_IF_NAME
The buffered data is a protocol-supplied device (or interface) name, such as the name of an underlying device object on which a new network address just arrived or was closed.TDI_PNP_CONTEXT_TYPE_IF_ADDRESS
The buffered data is a protocol-supplied address, such as a list of net addresses associated with the underlying device to which both the transport and client are bound.TDI_PNP_CONTEXT_TYPE_PDO
The buffered data is a protocol-supplied pointer to the physical device object representing the underlying NIC to which both the transport and client are bound.TDI_PNP_CONTEXT_TYPE_FIRST_OR_LAST_IF
The buffered data is any protocol-supplied information for an adapter that supports the transport. In effect, the client is indifferent to the specifics of the transport interface(s), as long as the transport to which the client is bound is supported by at least one underlying NIC.
ContextData
Contains the buffered data for this notification to the client.
Remarks
The information passed in this structure is both context-dependent, as indicated by the ContextType value, and protocol-dependent. For example, when TCP/IP notifies its clients of new net addresses by calling TdiRegisterNetAddress, it passes a pointer to a TDI_PNP_CONTEXT_TYPE_PDO record as the Context argument. However, the registered ClientAddNetAddress functions of clients bound to any other transport stack are not necessarily called with an input Context pointer to the same type of TDI_PNP_CONTEXT record.
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 |
Tdikrnl.h (include TdiKrnl.h) |
See also