다음을 통해 공유


WSAEnumNameSpaceProvidersExW 함수(winsock2.h)

WSAEnumNameSpaceProvidersEx 함수는 사용 가능한 네임스페이스 공급자에 대한 정보를 검색합니다.

구문

INT WSAAPI WSAEnumNameSpaceProvidersExW(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXW lpnspBuffer
);

매개 변수

[in, out] lpdwBufferLength

입력에서 lpnspBuffer가 가리키는 버퍼에 포함된 바이트 수입니다. 출력에서(함수가 실패하고 오류가 WSAEFAULT인 경우) 요청된 모든 정보를 검색할 수 있도록 lpnspBuffer 버퍼에 할당할 최소 바이트 수입니다. WSAEnumNameSpaceProvidersEx에 전달된 버퍼는 모든 네임스페이스 정보를 보유하기에 충분해야 합니다.

[out] lpnspBuffer

WSANAMESPACE_INFOEX 구조체로 채워진 버퍼입니다. 반환된 구조체는 버퍼의 헤드에 연속적으로 배치됩니다. 구조체의 포인터에서 참조하는 가변 크기 정보는 고정 크기 구조체의 끝과 버퍼 끝 사이에 있는 버퍼 내의 위치를 가리킵니다. 채워진 구조체의 수는 WSAEnumNameSpaceProvidersEx의 반환 값입니다.

반환 값

WSAEnumNameSpaceProvidersEx 함수는 lpnspBuffer에 복사된 WSANAMESPACE_INFOEX 구조체의 수를 반환합니다. 그렇지 않으면 SOCKET_ERROR 값이 반환되고 WSAGetLastError를 호출하여 특정 오류 번호를 검색할 수 있습니다.

오류 코드 의미
WSAEFAULT
lpnspBuffer 매개 변수가 NULL 포인터이거나 버퍼 길이인 lpdwBufferLength가 너무 작아 관련 WSANAMESPACE_INFOEX 구조 및 관련 정보를 모두 받을 수 없습니다. 이 오류가 반환되면 필요한 버퍼 길이가 lpdwBufferLength 매개 변수에 반환됩니다.
WSANOTINITIALISED
WS2_32.DLL 초기화되지 않았습니다. 애플리케이션은 Windows 소켓 함수를 호출하기 전에 먼저 WSAStartup 을 호출해야 합니다.
WSA_NOT_ENOUGH_MEMORY
작업을 수행할 메모리가 부족했습니다.

설명

WSAEnumNameSpaceProvidersEx 함수는 WSAEnumNameSpaceProviders 함수의 향상된 버전입니다. lpProviderInfo 매개 변수에서 WSCInstallNameSpaceEx 함수에 전달된 네임스페이스 항목과 연결된 공급자별 데이터 Blob은 WSAEnumNameSpaceProvidersEx 함수를 사용하여 쿼리할 수 있습니다.

현재 WSANAMESPACE_INFOEX 구조체의 ProviderSpecific 멤버에 정보를 설정하는 Windows에 포함된 유일한 네임스페이스 공급자는 NS_EMAIL 공급자입니다. NS_EMAIL 네임스페이스 공급자에 대한 ProviderSpecific 멤버의 형식은 NAPI_PROVIDER_INSTALLATION_BLOB 구조입니다.

UNICODE 또는 _UNICODE 정의되면 WSAEnumNameSpaceProvidersEx 는 이 함수의 유니코드 버전인 WSAEnumNameSpaceProvidersExW에 정의됩니다. lpnspBuffer 매개 변수는 LPSAWSANAMESPACE_INFOEXW 데이터 형식에 정의되며 성공하면 WSANAMESPACE_INFOEXW 구조체가 반환됩니다.

UNICODE 또는 _UNICODE 정의되지 않은 경우 WSAEnumNameSpaceProvidersEx 는 이 함수의 ANSI 버전인 WSAEnumNameSpaceProvidersExA에 정의됩니다. lpnspBuffer 매개 변수는 LPSAWSANAMESPACE_INFOEXA 데이터 형식에 정의되고 성공하면 WSANAMESPACE_INFOEXA 구조가 반환됩니다.

Windows 8.1Windows Server 2012 R2: WSAEnumNameSpaceProvidersExW 함수는 Windows 8.1, Windows Server 2012 R2 이상의 Windows 스토어 앱에서 지원됩니다.

참고

winsock2.h 헤더는 WSAEnumNameSpaceProvidersEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1, Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winsock2.h
라이브러리 Ws2_32.lib
DLL Ws2_32.dll

추가 정보

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx32