LPNSPGETSERVICECLASSINFO 콜백 함수(ws2spi.h)

NSPGetServiceClassInfo 함수는 네임스페이스 공급자와 관련된 모든 관련 클래스 정보(스키마)를 검색합니다. 이 호출은 SAP에 대한 연결 정보 또는 SAP 또는 TCP에 대한 포트 정보를 포함하여 서비스의 모든 인스턴스에 공통적인 네임스페이스 관련 정보를 검색합니다.

구문

LPNSPGETSERVICECLASSINFO Lpnspgetserviceclassinfo;

INT Lpnspgetserviceclassinfo(
  [in]      LPGUID lpProviderId,
  [in, out] LPDWORD lpdwBufSize,
  [in, out] LPWSASERVICECLASSINFOW lpServiceClassInfo
)
{...}

매개 변수

[in] lpProviderId

서비스 클래스 스키마를 검색할 특정 네임스페이스 공급자의 GUID 에 대한 포인터입니다.

[in, out] lpdwBufSize

입력에서 lpServiceClassInfo 매개 변수가 가리키는 버퍼의 크기(바이트)입니다.

출력에서 함수가 실패하고 오류가 WSAEFAULT인 경우 이 매개 변수는 레코드를 검색하는 데 필요한 lpServiceClassInfo 매개 변수를 가리키는 버퍼의 최소 크기(바이트)를 지정합니다.

[in, out] lpServiceClassInfo

네임스페이스별 매핑 정보에 대한 서비스 클래스를 포함하는 WSASERVICECLASSINFOW 구조체에 대한 포인터를 반환합니다. 반환해야 하는 WSASERVICECLASSINFOW 레코드를 나타내려면 lpServiceClassId 매개 변수를 채워야 합니다.

반환 값

오류가 발생하지 않으면 NSPGetServiceClassInfo 함수는 NO_ERROR (0)을 반환합니다. 그렇지 않으면 SOCKET_ERROR (–1)가 반환되고 네임스페이스 공급자가 WSASetLastError를 사용하여 적절한 오류 코드를 설정해야 합니다.

오류 코드 의미
WSA_NOT_ENOUGH_MEMORY
이 작업을 수행하는 데 사용할 수 있는 메모리가 부족합니다.
WSAEACCES
호출 루틴에는 정보에 액세스할 수 있는 충분한 권한이 없습니다.
WSAEFAULT
lpServiceClass 매개 변수가 가리키는 버퍼가 너무 작아서 WSASERVICECLASSINFOW 구조체를 포함할 수 없습니다. 애플리케이션은 더 큰 버퍼를 전달해야 합니다.
WSAEINVAL
지정된 서비스 클래스 식별자 또는 네임스페이스 공급자 식별자가 잘못되었습니다. lpProviderId, lpServiceClassId, lpdwBufSize 또는 lpServiceClassInfo 매개 변수가 **NULL**인 경우 이 오류가 반환됩니다.
WSAEOPNOTSUPP
이 작업은 지원되지 않습니다. 네임스페이스 공급자가 이 함수를 구현하지 않으면 이 오류가 반환됩니다.
WSANO_DATA
요청한 이름은 유효하지만 요청한 형식의 데이터를 찾을 수 없습니다.
WSATYPE_NOT_FOUND
지정된 클래스를 찾을 수 없습니다.

설명

W2_32.dll 이 함수를 사용하여 WSAGetServiceClassNameByClassId 함수를 구현하고 NSPLookupServiceBeginNSPSetService 함수에 전달된 네임스페이스 관련 정보를 검색합니다.

요구 사항

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

참고 항목

NSPInstallServiceClass

NSPLookupServiceBegin

NSPRemoveServiceClass

NSPSetService

WSAGetServiceClassInfo

WSAGetServiceClassNameByClassId

WSASERVICECLASSINFOW

WSASetLastError