TdiEnumerateAddresses function

The TdiEnumerateAddresses function provides information to a client about the currently registered network addresses on a particular transport-to-NIC binding.

Syntax

NTSTATUS TdiEnumerateAddresses(
  _In_ HANDLE BindingHandle
);

Parameters

  • BindingHandle [in]
    Specifies the handle returned by a preceding call to TdiRegisterPnPHandlers.

Return value

TdiEnumerateAddresses always returns STATUS_SUCCESS..

Remarks

A client's call to TdiEnumerateAddresses initiates a sequence of calls to its own ClientPnPAddNetAddress routine, which the client previously registered with TdiRegisterPnPHandlers. Each such call to the ClientPnPAddNetAddress routine supplies a currently active network address provided and registered with TDI by the underlying transport.

Rather than suffering the run-time performance penalty of this call, most TDI clients never call TdiEnumerateAddresses, except possibly to verify the validity of a client's own internal list of per-binding network addresses if its list might have been corrupted.

Instead, a TDI client sets up its own internal list for binding-specific and transport-registered network addresses when it establishes the binding, and TDI makes a sequence of binding-time calls to the registered ClientPnPAddNetAddress routine so the client can initialize its internal list with the network addresses currently registered on that binding.

After setting up and initializing such an internal list, the client's own ClientPnPAddNetAddress and ClientPnPDelNetAddress routines update this internal list of per-binding valid network addresses dynamically. Before the client releases the binding, it must clean up such an internal list, whether for reuse with a subsequent binding or to release all allocated resources associated with its list.

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

Target platform

Universal

Header

Tdikrnl.h (include TdiKrnl.h)

Library

Tdi.lib

IRQL

< DISPATCH_LEVEL

See also

ClientPnPAddNetAddress

ClientPnPDelNetAddress

TdiRegisterNetAddress

TdiDeregisterNetAddress

TdiRegisterPnPHandlers

 

 

Send comments about this topic to Microsoft