서비스 쿼리

이름 서비스 쿼리에는 일련의 호출인 NSPLookupServiceBegin, NSPLookupServiceNext에 대한 하나 이상의 호출, NSPLookupServiceEnd 호출로 끝나는 호출이 포함 됩니다. NSPLookupServiceBegin 은 검색 작업에 대한 추가 제어를 제공하기 위해 플래그 집합과 함께 쿼리 매개 변수를 정의하기 위해 WSAQUERYSET 구조를 입력으로 사용합니다. NSPLookupServiceNext 및 NSPLookupServiceEnd에 대한 후속 호출에 사용되는 쿼리 핸들 반환합니다.

네임스페이스 SPI 클라이언트는 NSPLookupServiceNext 를 호출하여 쿼리 결과를 가져오고, 결과는 클라이언트 제공 WSAQUERYSET 버퍼에 제공됩니다. 클라이언트는 모든 결과가 검색되었음을 나타내는 오류 코드 WSA_E_NO_MORE 반환될 때까지 NSPLookupServiceNext 를 계속 호출합니다. 그런 다음 NSPLookupServiceEnd에 대한 호출로 검색이 종료됩니다. NSPLookupServiceEnd 함수를 사용하여 다른 스레드에서 호출될 때 현재 보류 중인 NSPLookupServiceNext를 취소할 수도 있습니다.

Windows 소켓 2에서 충돌하는 오류 코드는 WSAENOMORE(10102) 및 WSA_E_NO_MORE(10110)에 대해 정의됩니다. 오류 코드 WSAENOMORE는 이후 버전에서 제거되며 WSA_E_NO_MORE 유지됩니다. 네임스페이스 공급자는 가능한 가장 광범위한 애플리케이션과의 호환성을 유지하기 위해 가능한 한 빨리 WSA_E_NO_MORE 오류 코드를 사용하도록 전환해야 합니다.