---
name: "WSAEnumProtocolsW"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/WSAEnumProtocolsW"
---

# WSAEnumProtocolsW(3w)

## NAME

**WSAEnumProtocolsW** (WS2\_32.@)

## SYNOPSIS

INT WSAEnumProtocolsW\
  (\
   LPINT               *protocols*,\
   LPWSAPROTOCOL\_INFOW *buffer*,\
   LPDWORD             *len*\
  )

## DESCRIPTION

Retrieves information about specified set of active network *protocols*.

## PARAMS

*protocols* **\[In\]**  Pointer to NULL-terminated array of protocol id's. **NULL** retrieves information on all available *protocols*.

*buffer* **\[In\]**  Pointer to a *buffer* to be filled with **WSAPROTOCOL\_INFO** structures.

*len* **\[In/Out\]**  Pointer to a variable specifying *buffer* size. On output the variable holds the number of bytes needed when the specified size is too small.

## RETURNS

**Success:** number of **WSAPROTOCOL\_INFO** structures in *buffer*.

**Failure:** **SOCKET\_ERROR**.

## NOTES

**NT4SP5** does not return **SPX** if *protocols* == **NULL**.

## BUGS

**-** **NT4SP5** returns in addition these list of **NETBIOS** *protocols* (address family **17**), each entry two times one for socket type **2** and **5.**

iProtocol szProtocol 0x80000000

**-** there is no check that the operating system supports the returned *protocols*

## IMPLEMENTATION

Declared in **"winsock2.h"**.

Implemented in **"dlls/ws2\_32/protocol.c"**.

Debug channel **"winsock"**.
