SIO_ADDRESS_LIST_QUERY

The SIO_ADDRESS_LIST_QUERY socket I/O control operation allows a WSK application to query the current list of local transport addresses for a socket's address family. This socket I/O control operation applies to all socket types.

To query the current list of local transport addresses for a socket's address family, a WSK application calls the WskControlSocket function with the following parameters.

Parameter Value

RequestType

WskIoctl

ControlCode

SIO_ADDRESS_LIST_QUERY

Level

0

InputSize

0

InputBuffer

NULL

OutputSize

The size, in bytes, of the buffer that is pointed to by the OutputBuffer parameter.

OutputBuffer

A pointer to the buffer that receives the current list of local transport addresses. The size of the buffer is specified in the OutputSize parameter.

OutputSizeReturned

A pointer to a ULONG-typed variable that receives the number of bytes of data that is copied into the buffer that is pointed to by the OutputBuffer parameter.

A WSK application does not specify a pointer to an IRP when calling the WskControlSocket function to query the current list of local transport addresses for a socket's address family.

If the call to the WskControlSocket function succeeds, the output buffer contains a SOCKET_ADDRESS_LIST structure followed by the SOCKADDR structures for each of the local transport addresses for the socket's address family.

If the WskControlSocket function returns STATUS_BUFFER_OVERFLOW, the variable that is pointed to by the OutputSizeReturned parameter contains the output buffer size, in bytes, that is required to contain the complete list of local transport addresses for the socket's address family.

The SIO_ADDRESS_LIST_CHANGE socket I/O control operation allows a WSK application to be notified when there has been a change to the list of local transport addresses for a socket's address family.

Requirements

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

Ws2def.h (include Wsk.h)