Share via


NSPV2_ROUTINE 구조체(ws2spi.h)

NSPV2_ROUTINE 구조에는 네임스페이스 서비스 공급자 버전 2(NSPv2) 공급자가 구현한 함수에 대한 정보가 포함되어 있습니다.

참고Ws2spi.h 헤더 파일 구조에는 모든 NSPV2 함수 포인터에 대한 완전한 프로토타입이 포함되어 있습니다.

 

구문

typedef struct _NSPV2_ROUTINE {
  DWORD                       cbSize;
  DWORD                       dwMajorVersion;
  DWORD                       dwMinorVersion;
  LPNSPV2STARTUP              NSPv2Startup;
  LPNSPV2CLEANUP              NSPv2Cleanup;
  LPNSPV2LOOKUPSERVICEBEGIN   NSPv2LookupServiceBegin;
  LPNSPV2LOOKUPSERVICENEXTEX  NSPv2LookupServiceNextEx;
  LPNSPV2LOOKUPSERVICEEND     NSPv2LookupServiceEnd;
  LPNSPV2SETSERVICEEX         NSPv2SetServiceEx;
  LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;

멤버

cbSize

형식:DWORD

구조체의 크기(바이트)입니다.

dwMajorVersion

형식:DWORD

이 공급자가 지원하는 서비스 공급자 사양의 주 버전입니다.

dwMinorVersion

형식:DWORD

이 공급자가 지원하는 서비스 공급자 사양의 부 버전입니다.

NSPv2Startup

형식: ** LPNSPV2STARTUP**

NSPv2 공급자에 대한 NSPv2Startup 함수에 대한 포인터입니다.

NSPv2Cleanup

형식: LPNSPV2CLEANUP

NSPv2 공급자에 대한 NSPv2Cleanup 함수에 대한 포인터입니다.

NSPv2LookupServiceBegin

형식: LPNSPV2LOOKUPSERVICEBEGIN

NSPv2 공급자에 대한 NSPv2LookupServiceBegin 함수에 대한 포인터입니다.

NSPv2LookupServiceNextEx

형식: LPNSPV2LOOKUPSERVICENEXTEX

NSPv2 공급자에 대한 NSPv2LookupServiceNextEx 함수에 대한 포인터입니다.

NSPv2LookupServiceEnd

형식: LPNSPV2LOOKUPSERVICEEND

NSPv2 공급자에 대한 NSPv2LookupServiceEnd 함수에 대한 포인터입니다.

NSPv2SetServiceEx

형식: LPNSPV2SETSERVICEEX

NSPv2 공급자에 대한 NSPv2SetServiceEx 함수에 대한 포인터입니다.

NSPv2ClientSessionRundown

형식: LPNSPV2CLIENTSESSIONRUNDOWN

NSPv2 공급자에 대한 NSPv2ClientSessionRundown 함수에 대한 포인터입니다.

설명

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

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

WSAAdvertiseProvider 함수는 클라이언트가 찾을 수 있도록 NSPv2 공급자의 instance 보급합니다. WSAAdvertiseProvider 호출자는 공급자가 지원하는 NSPv2 진입점을 사용하여 pNSPv2Routine 매개 변수의 NSPV2_ROUTINE 구조에 대한 포인터를 전달합니다.

다음 함수를 구현하려면 NSPv2 공급자가 필요합니다.

NSPv2LookupServiceBegin

- NSPv2LookupServiceNextEx

- NSPv2LookupServiceEnd

다른 모든 함수는 NSPv2 공급자의 요구 사항에 따라 선택 사항입니다.

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

일반적으로 NSPv2 공급자는 호출 애플리케이션 이외의 프로세스에서 구현됩니다. NSPv2 공급자는 클라이언트 작업의 결과로 활성화되지 않습니다. 애플리케이션을 호스팅하는 각 공급자는 WSAAdvertiseProvider 및 WSAUnadvertiseProvider 함수 를 호출하여 특정 공급자를 사용할 수 있거나 사용할 수 없는 경우를 결정합니다. 클라이언트 활동은 사용 가능한 경우(네임스페이스 공급자가 보급될 때) 공급자에게 연락하려고 시도하기만 합니다.

프로세스는 여러 공급자를 동시에 구현하고 보급할 수 있습니다. Windows 소켓은 올바른 호출로 호출을 디스패치하여 네임스페이스 공급자를 관리합니다. 또한 RPC 인터페이스 세부 정보를 숨기고 프로세스 간 호출을 In-Process 호출로 변환합니다. 따라서 NSPv2 공급자는 NSPv1 공급자가 사용하는 NSP_ROUTINE 구조와 유사한 진입점 함수 테이블을 구현해야 합니다. NSPv2 공급자는 RPC 관련 요구 사항(예: 데이터 마샬링 및 serialization)에 대해 걱정할 필요가 없습니다.

WSAUnadvertiseProvider 함수를 사용하면 클라이언트에서 특정 네임스페이스 공급자를 더 이상 사용할 수 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 ws2spi.h

추가 정보

NSP_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAAdvertiseProvider

WSAProviderCompleteAsyncCall

WSAQUERYSET2

WSAUnadvertiseProvider