Поделиться через


Функция GetAcceptExSockaddrs (mswsock.h)

Функция GetAcceptExSockaddrs анализирует данные, полученные при вызове функции AcceptEx , и передает локальные и удаленные адреса в структуру sockaddr .

Примечание Эта функция является расширением майкрософт для спецификации Сокетов Windows.

 

Синтаксис

void GetAcceptExSockaddrs(
  [in]  PVOID    lpOutputBuffer,
  [in]  DWORD    dwReceiveDataLength,
  [in]  DWORD    dwLocalAddressLength,
  [in]  DWORD    dwRemoteAddressLength,
  [out] sockaddr **LocalSockaddr,
  [out] LPINT    LocalSockaddrLength,
  [out] sockaddr **RemoteSockaddr,
  [out] LPINT    RemoteSockaddrLength
);

Параметры

[in] lpOutputBuffer

Указатель на буфер, который получает первый блок данных, отправленных по подключению в результате вызова AcceptEx . Должен быть тем же параметром lpOutputBuffer , который был передан в функцию AcceptEx .

[in] dwReceiveDataLength

Количество байтов в буфере, используемых для получения первых данных. Это значение должно быть равно параметру dwReceiveDataLength , переданному функции AcceptEx .

[in] dwLocalAddressLength

Число байтов, зарезервированных для сведений о локальном адресе. Это значение должно быть равно параметру dwLocalAddressLength , переданного в функцию AcceptEx .

[in] dwRemoteAddressLength

Число байтов, зарезервированных для сведений об удаленном адресе. Это значение должно быть равно параметру dwRemoteAddressLength , переданного в функцию AcceptEx .

[out] LocalSockaddr

Указатель на структуру sockaddr , которая получает локальный адрес соединения (те же сведения, которые будут возвращены функцией getsockname ). Этот параметр должен быть указан.

[out] LocalSockaddrLength

Размер локального адреса (в байтах). Этот параметр должен быть указан.

[out] RemoteSockaddr

Указатель на структуру sockaddr , которая получает удаленный адрес соединения (те же сведения, которые будут возвращены функцией getpeername ). Этот параметр должен быть указан.

[out] RemoteSockaddrLength

Размер локального адреса (в байтах). Этот параметр должен быть указан.

Возвращаемое значение

None

Remarks

Функция GetAcceptExSockaddrs используется исключительно с функцией AcceptEx для анализа первых данных, получаемых сокетом, в локальные и удаленные адреса. Функция AcceptEx возвращает сведения о локальном и удаленном адресе во внутреннем формате. Разработчикам приложений необходимо использовать функцию GetAcceptExSockaddrs , если есть необходимость в структурах sockaddr, содержащих локальные или удаленные адреса.

Примечание Указатель функции для функции GetAcceptExSockaddrs должен быть получен во время выполнения путем вызова функции WSAIoctl с указанным SIO_GET_EXTENSION_FUNCTION_POINTER кодом операции. Входной буфер, передаваемый в функцию WSAIoctl , должен содержать WSAID_GETACCEPTEXSOCKADDRS, глобальный уникальный идентификатор (GUID), значение которого определяет функцию расширения GetAcceptExSockaddrs . При успешном выполнении выходные данные, возвращаемые функцией WSAIoctl , содержат указатель на функцию GetAcceptExSockaddrs . GUID WSAID_GETACCEPTEXSOCKADDRS определяется в файле заголовка Mswsock.h .
 

Windows Phone 8. Эта функция поддерживается для приложений Магазина Windows Phone Windows Phone 8 и более поздних версий.

Windows 8.1 и Windows Server 2012 R2. Эта функция поддерживается для приложений Магазина Windows в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1, Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mswsock.h (включая Mswsock.h)
Библиотека Mswsock.lib
DLL Mswsock.dll

См. также раздел

AcceptEx

Функции Winsock

Справочник по Winsock

getpeername

getsockname

sockaddr