WSAAdvertiseProvider 함수(ws2spi.h)
WSAAdvertiseProvider 함수는 모든 적격 클라이언트에서 특정 네임스페이스 버전 2 공급자를 사용할 수 있게 합니다.
구문
INT WSAAPI WSAAdvertiseProvider(
[in] const GUID *puuidProviderId,
[in] const LPCNSPV2_ROUTINE pNSPv2Routine
);
매개 변수
[in] puuidProviderId
보급할 네임스페이스 공급자의 공급자 ID에 대한 포인터입니다.
[in] pNSPv2Routine
공급자 가 지원하는 네임스페이스 서비스 공급자 버전 2 진입점이 있는 NSPV2_ROUTINE 구조체에 대한 포인터입니다.
반환 값
오류가 발생하지 않으면 WSAProviderCompleteAsyncCall 은 0을 반환합니다.
함수가 실패하면 반환 값이 SOCKET_ERROR. 확장 오류 정보를 얻으려면 다음 확장 오류 값 중 하나를 반환하는 WSAGetLastError를 호출합니다.
오류 코드 | 의미 |
---|---|
작업을 수행할 메모리가 부족했습니다. | |
내부 오류가 발생했습니다. | |
매개 변수가 잘못되었습니다. puuidProviderId 또는 pNSPv2Routine 매개 변수가 **NULL**인 경우 이 오류가 반환됩니다.
pNSPv2Routine 매개 변수가 가리키는 NSPV2_ROUTINE 구조체의 NSPv2LookupServiceBegin, NSPv2LookupServiceNextEx 또는 NSPv2LookupServiceEnd 멤버가 NULL인 경우에도 이 오류가 반환됩니다. 네임스페이스 버전 2 공급자는 최소한 이 최소 함수 집합인 이름 확인을 지원해야 합니다. |
|
지정된 puuidProviderId 매개 변수에 대한 네임스페이스 공급자를 찾을 수 없습니다. | |
Ws2_32.dll 초기화되지 않았습니다. 애플리케이션은 Windows 소켓 함수를 호출하기 전에 먼저 WSAStartup 을 호출해야 합니다. |
설명
WSAAdvertiseProvider 함수는 Windows Vista 이상에서 사용할 수 있는 네임스페이스 서비스 공급자 버전 2(NSPv2) 아키텍처의 일부로 사용됩니다.
Windows Vista 및 Windows Server 2008에서 WSAAdvertiseProvider 함수는 NS_EMAIL 네임스페이스 공급자의 작업에만 사용할 수 있습니다.
WSAAdvertiseProvider 함수는 클라이언트가 찾을 수 있도록 NSPv2 공급자의 instance 보급합니다. 보급할 instance 애플리케이션 유형 공급자의 instance(NAPI_PROVIDER_INSTALLATION_BLOB 구조의 dwProvideType 멤버가 ProviderType_Application 네임스페이스 공급자)인 경우 보급된 공급자 instance 동일한 사용자 및 호출자와 동일한 세션에서 실행되는 모든 클라이언트 프로세스에 표시됩니다.WSAAdvertiseProvider.
일반적으로 NSPv2 공급자는 호출 애플리케이션 이외의 프로세스에서 구현됩니다. NSPv2 공급자는 클라이언트 작업의 결과로 활성화되지 않습니다. 애플리케이션을 호스팅하는 각 공급자는 WSAAdvertiseProvider 및 WSAUnadvertiseProvider 함수 를 호출하여 특정 공급자를 사용할 수 있거나 사용할 수 없는 경우를 결정합니다. 클라이언트 활동은 사용 가능한 경우(네임스페이스 공급자가 보급될 때) 공급자에게 연락하려고 시도하기만 합니다.
WSAAdvertiseProvider 함수는 모든 적격 클라이언트(현재 호스팅 애플리케이션과 동일한 자격 증명으로 실행 중인 모든 애플리케이션 및 동일한 사용자 세션)에 대해 특정 공급자를 사용할 수 있도록 하려는 모든 애플리케이션에서 호출됩니다.
프로세스는 여러 공급자를 동시에 구현하고 보급할 수 있습니다. Windows 소켓은 올바른 호출로 호출을 디스패치하여 네임스페이스 공급자를 관리합니다. 또한 RPC 인터페이스 세부 정보를 숨기고 프로세스 간 호출을 In-Process 호출로 변환합니다. 따라서 NSPv2 공급자는 NSPv1 공급자가 사용하는 NSP_ROUTINE 구조와 유사한 진입점 함수 테이블을 구현해야 합니다. NSPv2 공급자는 RPC 관련 요구 사항(예: 데이터 마샬링 및 serialization)에 대해 걱정할 필요가 없습니다.
WSAAdvertiseProvider 호출자는 공급자가 지원하는 NSPv2 진입점을 사용하여 pNSPv2Routine 매개 변수의 NSPV2_ROUTINE 구조에 대한 포인터를 전달합니다.
WSAUnadvertiseProvider 함수를 사용하면 클라이언트에서 특정 네임스페이스 공급자를 더 이상 사용할 수 없습니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ws2spi.h |
라이브러리 | Ws2_32.lib |
DLL | Ws2_32.dll |