WSHEnumProtocols
INT
WSHEnumProtocols(
IN LPINT lpiProtocols OPTIONAL,
IN LPWSTR lpTransportKeyName,
IN OUT LPVOID lpProtocolBuffer,
IN OUT LPDWORD lpdwBufferLength
);
WSHEnumProtocols returns a set of PROTOCOL_INFO structures that inform
the caller of the Win32 function EnumProtocols about protocols
supported by this helper DLL.
Parameters
-
lpiProtocols
-
Optionally specifies a filter selecting information to be returned about the
protocols supported by the helper DLL. If this is NULL, the helper DLL should
return information for all protocols it supports.
Otherwise, lpiProtocols points to a zero-terminated array of protocol
ID numbers. WSHEnumProtocols should return information only on
protocols whose ID appears in the lpiProtocols array. Protocol ID
numbers are the third parameter to the socket call (for example,
IPPROTO_TCP).
-
lpTransportKeyName
-
Points to a buffer that contains the name of the registry key that Windows
Sockets uses to access this helper DLL. This parameter can be irrelevant; it
is useful only if the helper DLL supports protocols that set up several
registry keys.
-
lpProtocolBuffer
-
Points to the output buffer in which WSHEnumProtocols returns the
requested set of PROTOCOL_INFO structures. The PROTOCOL_INFO structures must
be copied into this buffer as a contiguous array starting at the beginning of
the buffer. Variable-length data, such as the protocol name pointed to by the
PROTOCOL_INFO structure’s lpProtocol member must be written at the end
of the buffer.
-
lpdwBufferLength
-
On input, points to a variable specifying the total length in bytes of the
buffer at lpProtocolBuffer. On output, this variable is set to the
number of bytes of information returned or available from WSHEnumProtocols
for this call. If the given input buffer is too small, WSHEnumProtocols
sets the value at lpdwBufferLength to the number of bytes of available
information before it returns control.
Return Value
WSHEnumProtocols either returns a count of PROTOCOL_INFO
structures written to the buffer at lpProtocolBuffer, or it returns
SOCKET_ERROR if there was an error. If -1 is returned, WSHEnumProtocols
must call SetLastError to set the Windows Sockets error code of the
error which occurred.