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)를 반환해야 합니다.
오류 코드 | 의미 |
---|---|
이 작업을 수행하는 데 사용할 수 있는 메모리가 부족합니다. | |
호출 루틴에는 서비스를 초기화할 수 있는 충분한 권한이 없습니다. | |
이 공급자에 대해 하나 이상의 매개 변수가 잘못되었거나 누락되었습니다. | |
이 작업은 지원되지 않습니다. 네임스페이스 공급자가 이 함수를 구현하지 않으면 이 오류가 반환됩니다. | |
서비스를 알 수 없습니다. 지정된 네임스페이스에서 서비스를 찾을 수 없습니다. |
설명
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, NSPv2ClientSessionRundown 및 NSPv2Cleanup 함수는 NSPv2 공급자의 요구 사항에 따라 선택 사항입니다.
NSPv2Cleanup 함수가 구현되지 않은 경우 WSAEOPNOTSUPP를 반환하는 스텁 함수에서 해당 함수에 대한 호출을 가로채야 합니다. NSPV2_ROUTINE 구조체에서 구현되지 않은 NSPv2Cleanup 함수에 대한 NSPv2 함수 포인터는 스텁 함수를 가리킵니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ws2spi.h |