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를 사용하여 적절한 오류 코드를 설정해야 합니다.
오류 코드 | 의미 |
---|---|
이 작업을 수행하는 데 사용할 수 있는 메모리가 부족합니다. | |
호출 루틴에는 정보에 액세스할 수 있는 충분한 권한이 없습니다. | |
lpServiceClass 매개 변수가 가리키는 버퍼가 너무 작아서 WSASERVICECLASSINFOW 구조체를 포함할 수 없습니다. 애플리케이션은 더 큰 버퍼를 전달해야 합니다. | |
지정된 서비스 클래스 식별자 또는 네임스페이스 공급자 식별자가 잘못되었습니다. lpProviderId, lpServiceClassId, lpdwBufSize 또는 lpServiceClassInfo 매개 변수가 **NULL**인 경우 이 오류가 반환됩니다. | |
이 작업은 지원되지 않습니다. 네임스페이스 공급자가 이 함수를 구현하지 않으면 이 오류가 반환됩니다. | |
요청한 이름은 유효하지만 요청한 형식의 데이터를 찾을 수 없습니다. | |
지정된 클래스를 찾을 수 없습니다. |
설명
W2_32.dll 이 함수를 사용하여 WSAGetServiceClassNameByClassId 함수를 구현하고 NSPLookupServiceBegin 및 NSPSetService 함수에 전달된 네임스페이스 관련 정보를 검색합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ws2spi.h |