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


Функция WSCEnumNameSpaceProviders32 (ws2spi.h)

Функция WSCEnumNameSpaceProviders32 возвращает сведения о доступных 32-разрядных поставщиках пространств имен.

Примечание Этот вызов является строго 32-разрядной версией WSAEnumNameSpaceProviders для использования на 64-разрядных платформах. Он предоставляется для предоставления 64-разрядным процессам доступа к 32-разрядным каталогам.

 

Синтаксис

INT WSAAPI WSCEnumNameSpaceProviders32(
  [in, out] LPDWORD              lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOW lpnspBuffer
);

Параметры

[in, out] lpdwBufferLength

При входе количество байтов, содержащихся в буфере, на который указывает lpnspBuffer. В выходных данных (если функция завершается сбоем и ошибка WSAEFAULT) минимальное количество байтов, выделяемых для буфера lpnspBuffer , чтобы позволить ему получить все запрошенные сведения. Буфера, передаваемого в WSCEnumNameSpaceProviders32 , должно быть достаточно для хранения всех сведений о пространстве имен.

[out] lpnspBuffer

Буфер, заполненный WSANAMESPACE_INFOW структурами. Возвращаемые структуры расположены последовательно в начале буфера. Сведения переменной величины, на которые ссылаются указатели в структурах, указывают на расположения в буфере, расположенные между концом структур фиксированного размера и концом буфера. Число заполненных структур — это возвращаемое значение WSCEnumNameSpaceProviders32.

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

Функция WSCEnumNameSpaceProviders32 возвращает количество WSANAMESPACE_INFOW структур, скопированных в lpnspBuffer. В противном случае возвращается значение SOCKET_ERROR, а определенный номер ошибки можно получить, вызвав WSAGetLastError.

Код ошибки Значение
WSAEFAULT
Параметр lpnspBuffer был указателем **NULL** или длина буфера lpdwBufferLength была слишком мала для получения всех соответствующих структур WSANAMESPACE_INFOW и связанных сведений. При возврате этой ошибки необходимая длина буфера возвращается в параметре lpdwBufferLength .
WSANOTINITIALISED
WS2_32.DLL не инициализирована. Приложение должно сначала вызвать WSAStartup , прежде чем вызывать функции Сокетов Windows.
WSA_NOT_ENOUGH_MEMORY
Недостаточно памяти для выполнения операции.

Комментарии

WSCEnumNameSpaceProviders32 — это строго 32-разрядная версия WSAEnumNameSpaceProviders. На 64-разрядном компьютере все вызовы, не относящиеся к 32-разрядным (например, все функции, которые не заканчиваются на "32"), работают в собственном 64-разрядном каталоге. Процессы, выполняемые на 64-разрядном компьютере, должны использовать определенные вызовы 32-разрядных функций для работы с строго 32-разрядным каталогом и сохранения совместимости. Определения и семантика конкретных 32-разрядных вызовов совпадают с собственными аналогами.

32-разрядная функция SPI эквивалентна собственной функции API (WSAEnumNameSpaceProviders), так как отсутствует концепция "скрытого" поставщика пространства имен.

Функция WSCEnumNameSpaceProviders32 является функцией только в Юникоде и возвращает WSANAMESPACE_INFOEXW структуры.

Требования

Требование Значение
Минимальная версия клиента Windows Vista, Windows XP Professional x64 Edition [только классические приложения]
Минимальная версия сервера Windows Server 2008, Windows Server 2003 x64 Edition [только классические приложения]
Целевая платформа Windows
Header ws2spi.h
Библиотека Ws2_32.lib
DLL Ws2_32.dll

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

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOW

WSCInstallNameSpace32

WSCInstallNameSpaceEx32