다음을 통해 공유


WSCInstallNameSpaceEx32 함수(ws2spi.h)

WSCInstallNameSpaceEx32 함수는 지정된 32비트 네임스페이스 공급자를 설치합니다. 여러 이름 공간을 지원할 수 있는 공급자의 경우 지원되는 각 네임스페이스에 대해 이 함수를 호출해야 하며 매번 고유한 공급자 식별자를 제공해야 합니다.

**참고** 이 호출은 64비트 플랫폼에서 사용할 WSCInstallNameSpaceEx32의 엄격한 32 비트 버전입니다. 64비트 프로세스가 32비트 카탈로그에 액세스할 수 있도록 제공됩니다.
 

구문

INT WSCInstallNameSpaceEx32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId,
  [in] LPBLOB lpProviderSpecific
);

매개 변수

[in] lpszIdentifier

lpProviderId 매개 변수에 전달된 GUID(Globally Unique Identifier)와 연결된 공급자를 식별하는 문자열에 대한 포인터입니다.

[in] lpszPathName

공급자 DLL에 대한 로드 경로를 포함하는 유니코드 문자열에 대한 포인터입니다. 이 문자열은 경로 확인에 대한 일반적인 규칙을 관찰하고 포함된 환경 문자열(예: %SystemRoot%)을 포함할 수 있습니다. 이러한 환경 문자열은 Ws2_32.dll 이후에 애플리케이션을 대신하여 공급자 DLL을 로드해야 할 때 확장됩니다. 포함된 환경 문자열이 확장되면 Ws2_32.dll 결과 문자열을 LoadLibrary 함수에 전달하여 공급자를 메모리로 로드합니다. 자세한 내용은 LoadLibrary를 참조하세요.

[in] dwNameSpace

이 공급자가 지원하는 네임스페이스입니다.

[in] dwVersion

공급자의 버전 번호입니다.

[in] lpProviderId

공급자의 GUID에 대한 포인터입니다. 이 GUID는 Uuidgen.exe 생성해야 합니다.

[in] lpProviderSpecific

네임스페이스 항목과 연결된 공급자별 데이터 Blob입니다.

반환 값

오류가 발생하지 않으면 WSCInstallNameSpaceEx32 함수는 NO_ERROR (0)을 반환합니다. 그렇지 않으면 함수가 실패하면 SOCKET_ERROR 반환하고 WSAGetLastError 함수를 사용하여 적절한 오류 코드를 검색해야 합니다.

오류 코드 의미
WSAEACCES
호출 루틴에는 네임스페이스를 설치할 수 있는 충분한 권한이 없습니다.
WSAEINVAL
하나 이상의 인수가 잘못되었습니다.
WSANO_RECOVERY
복구할 수 없는 오류가 발생했습니다. 이 오류는 공급자가 이미 설치되어 있거나, 사용자가 Winsock 레지스트리에 쓰는 데 필요한 관리 권한이 없거나, 카탈로그 항목을 만들거나 설치할 때 오류가 발생하는 등의 여러 조건에서 반환됩니다.
WSASYSCALLFAILURE
실패하지 않아야 하는 시스템 호출이 실패했습니다.
WSA_NOT_ENOUGH_MEMORY
메모리가 부족했습니다. 이 오류는 새 카탈로그 항목을 할당할 메모리가 부족한 경우 반환됩니다.

설명

WSCInstallNameSpaceEx32 는 엄격하게 32비트 버전의 WSCInstallNameSpaceEx입니다. 64비트 컴퓨터에서 모든 호출은 특별히 32비트(예: "32"로 끝나지 않는 모든 함수)가 네이티브 64비트 카탈로그에서 작동합니다. 64비트 컴퓨터에서 실행되는 프로세스는 특정 32비트 함수 호출을 사용하여 엄격하게 32비트 카탈로그에서 작동하고 호환성을 유지해야 합니다. 특정 32비트 호출의 정의 및 의미 체계는 네이티브 호출과 동일합니다.

네임스페이스 구성 함수는 이미 실행 중인 애플리케이션에 영향을 미치지 않습니다. 새로 설치된 이름 공간 공급자는 애플리케이션에 표시되지 않으며 이름 공간 공급자의 활성화 상태가 변경되지 않습니다. WSCInstallNameSpaceEx32 호출 후 시작된 애플리케이션에는 변경 내용이 표시됩니다.

lpProviderInfo 매개 변수에 전달된 네임스페이스 항목과 연결된 공급자별 데이터 Blob은 WSCEnumNameSpaceProvidersEx32 함수를 사용하여 쿼리할 수 있습니다.

현재 lpProviderInfo 매개 변수를 사용하는 Windows에 포함된 유일한 네임스페이스 공급자는 NS_EMAIL 공급자입니다. NS_EMAIL 네임스페이스 공급자에 대한 lpProviderInfo 매개 변수가 가리키는 버퍼의 형식은 NAPI_PROVIDER_INSTALLATION_BLOB 구조체입니다.

WSCInstallNameSpaceEx32함수는 Administrators 그룹의 구성원으로 로그온한 사용자만 호출할 수 있습니다. Administrators 그룹의 구성원이 아닌 사용자가 WSCInstallNameSpaceEx32 를 호출하면 함수 호출이 실패합니다. Windows Vista 또는 Windows Server 2008에서 실행되는 컴퓨터의 경우 UAC(사용자 계정 제어)로 인해 이 함수가 실패할 수도 있습니다. 이 함수를 포함하는 애플리케이션이 기본 제공 관리자가 아닌 Administrators 그룹의 구성원으로 로그온한 사용자에 의해 실행되는 경우 애플리케이션이 requireAdministrator로 설정된 requestedExecutionLevel이 매니페스트 파일에 표시되지 않는 한 이 호출은 실패합니다. Windows Vista 또는 Windows Server 2008의 애플리케이션에 이 매니페스트 파일이 없는 경우 기본 제공 관리자가 아닌 Administrators 그룹의 구성원으로 로그온한 사용자는 이 함수가 성공하려면 기본 제공 관리자(RunAs 관리자)로 향상된 셸에서 애플리케이션을 실행해야 합니다.

요구 사항

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

추가 정보

NAPI_PROVIDER_INSTALLATION_BLOB

WSCEnumNameSpaceProviders32

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpace32

WSCInstallNameSpaceEx

WSCUnInstallNameSpace32