다음을 통해 공유


LPNSPV2CLEANUP 콜백 함수(ws2spi.h)

NSPv2Cleanup 함수는 네임스페이스 서비스 공급자 버전 2(NSPv2) 공급자에게 클라이언트 세션이 종료되었음을 알 수 있습니다.

구문

LPNSPV2CLEANUP Lpnspv2cleanup;

INT Lpnspv2cleanup(
  [in] LPGUID lpProviderId,
  [in] LPVOID pvClientSessionArg
)
{...}

매개 변수

[in] lpProviderId

알림을 받을 네임스페이스 공급자의 GUID에 대한 포인터입니다.

[in] pvClientSessionArg

클라이언트 세션에 대한 포인터입니다.

반환 값

함수는 루틴이 성공하면 NO_ERROR (0)을 반환해야 합니다. 루틴이 실패하고 WSASetLastError를 사용하여 적절한 오류 코드를 설정해야 하는 경우 SOCKET_ERROR(즉, 1)를 반환해야 합니다.

오류 코드 의미
WSA_NOT_ENOUGH_MEMORY
이 작업을 수행하는 데 사용할 수 있는 메모리가 부족합니다.
WSAEACCES
호출 루틴에는 서비스를 초기화할 수 있는 충분한 권한이 없습니다.
WSAEINVAL
이 공급자에 대해 하나 이상의 매개 변수가 잘못되었거나 누락되었습니다.
WSAEOPNOTSUPP
이 작업은 지원되지 않습니다. 네임스페이스 공급자가 이 함수를 구현하지 않으면 이 오류가 반환됩니다.
WSASERVICE_NOT_FOUND
서비스를 알 수 없습니다. 지정된 네임스페이스에서 서비스를 찾을 수 없습니다.

설명

NSPv2Cleanup 함수는 Windows Vista 이상에서 사용할 수 있는 네임스페이스 서비스 공급자 버전 2(NSPv2) 아키텍처의 일부로 사용됩니다.

Windows Vista 및 Windows Server 2008에서 NSPv2Cleanup 함수는 NS_EMAIL 네임스페이스 공급자의 작업에만 사용할 수 있습니다.

NSPv2Startup 함수는 새 클라이언트 프로세스가 네임스페이스 공급자를 사용하기 시작할 때마다 호출됩니다. 공급자는 ppvClientSessionArg 매개 변수가 가리키는 클라이언트 세션 인수를 사용하여 이 세션에 대한 정보를 저장할 수 있습니다. NSPv2Startup 함수 호출에서 클라이언트 세션 인수에 대해 값을 지정한 경우 pvClientSessionArg 매개 변수에서 이 동일한 클라이언트 세션 인수를 NSPv2Cleanup 함수에 전달하여 네임스페이스 공급자에게 클라이언트 세션이 종료되었음을 알릴 수 있습니다.

NSPv2Cleanup 함수는 애플리케이션이 Windows 소켓 네임스페이스 서비스 공급자를 사용하여 완료되면 호출됩니다. NSPv2Cleanup을 사용하면 네임스페이스 공급자가 클라이언트 세션에 할당된 네임스페이스 공급자 리소스를 해제할 수 있습니다.

NSPv2Cleanup 함수를 호출하기 전에 NSPv2Startup 함수를 성공적으로 호출해야 합니다. 둘 이상의 NSPv2Startup 호출을 할 수 있습니다. 그러나 각 NSPv2Startup 호출에 대해 해당 NSPv2Cleanup 호출도 실행해야 합니다. 서비스 공급자에 대한 최종 NSPv2Cleanup 만 실제 정리를 수행합니다. 앞의 호출은 서비스 공급자의 내부 참조 수를 감소합니다.

NSPv2Startup, NSPv2ClientSessionRundownNSPv2Cleanup 함수는 NSPv2 공급자의 요구 사항에 따라 선택 사항입니다.

NSPv2Cleanup 함수가 구현되지 않은 경우 WSAEOPNOTSUPP를 반환하는 스텁 함수에서 해당 함수에 대한 호출을 가로채야 합니다. NSPV2_ROUTINE 구조체에서 구현되지 않은 NSPv2Cleanup 함수에 대한 NSPv2 함수 포인터는 스텁 함수를 가리킵니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ws2spi.h

참고 항목

NSPV2_ROUTINE

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAQUERYSET2

WSASetLastError