WSAEnumNameSpaceProvidersExA 함수(winsock2.h)
WSAEnumNameSpaceProvidersEx 함수는 사용 가능한 네임스페이스 공급자에 대한 정보를 검색합니다.
구문
INT WSAAPI WSAEnumNameSpaceProvidersExA(
[in, out] LPDWORD lpdwBufferLength,
[out] LPWSANAMESPACE_INFOEXA lpnspBuffer
);
매개 변수
[in, out] lpdwBufferLength
입력에서 lpnspBuffer가 가리키는 버퍼에 포함된 바이트 수입니다. 출력에서(함수가 실패하고 오류가 WSAEFAULT인 경우) 요청된 모든 정보를 검색할 수 있도록 lpnspBuffer 버퍼에 할당할 최소 바이트 수입니다. WSAEnumNameSpaceProvidersEx에 전달된 버퍼는 모든 네임스페이스 정보를 보유하기에 충분해야 합니다.
[out] lpnspBuffer
WSANAMESPACE_INFOEX 구조체로 채워진 버퍼입니다. 반환된 구조체는 버퍼의 헤드에 연속적으로 배치됩니다. 구조체의 포인터에서 참조하는 가변 크기 정보는 고정 크기 구조체의 끝과 버퍼 끝 사이에 있는 버퍼 내의 위치를 가리킵니다. 채워진 구조체의 수는 WSAEnumNameSpaceProvidersEx의 반환 값입니다.
반환 값
WSAEnumNameSpaceProvidersEx 함수는 lpnspBuffer에 복사된 WSANAMESPACE_INFOEX 구조체의 수를 반환합니다. 그렇지 않으면 SOCKET_ERROR 값이 반환되고 WSAGetLastError를 호출하여 특정 오류 번호를 검색할 수 있습니다.
오류 코드 | 의미 |
---|---|
lpnspBuffer 매개 변수가 NULL 포인터이거나 버퍼 길이인 lpdwBufferLength가 너무 작아 관련 WSANAMESPACE_INFOEX 구조 및 관련 정보를 모두 받을 수 없습니다. 이 오류가 반환되면 필요한 버퍼 길이가 lpdwBufferLength 매개 변수에 반환됩니다. | |
WS2_32.DLL 초기화되지 않았습니다. 애플리케이션은 Windows 소켓 함수를 호출하기 전에 먼저 WSAStartup 을 호출해야 합니다. | |
작업을 수행할 메모리가 부족했습니다. |
설명
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.1 및 Windows 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 |