WSAQUERYSETW 구조체(winsock2.h)
WSAQUERYSET 구조는 서비스 클래스 ID, 서비스 이름, 해당 네임스페이스 식별자 및 프로토콜 정보뿐만 아니라 서비스가 수신 대기하는 전송 주소 집합을 포함하여 지정된 서비스에 대한 관련 정보를 제공합니다.
통사론
typedef struct _WSAQuerySetW {
DWORD dwSize;
LPWSTR lpszServiceInstanceName;
LPGUID lpServiceClassId;
LPWSAVERSION lpVersion;
LPWSTR lpszComment;
DWORD dwNameSpace;
LPGUID lpNSProviderId;
LPWSTR lpszContext;
DWORD dwNumberOfProtocols;
LPAFPROTOCOLS lpafpProtocols;
LPWSTR lpszQueryString;
DWORD dwNumberOfCsAddrs;
LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags;
LPBLOB lpBlob;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
회원
dwSize
형식: DWORD
WSAQUERYSET 구조체의 크기(바이트)입니다. 이 멤버는 이후 버전의 Windows에서 WSAQUERYSET 구조체의 크기가 변경되었으므로 버전 관리 메커니즘으로 사용됩니다.
lpszServiceInstanceName
형식: LPTSTR
서비스 이름을 포함하는 선택적 NULL로 끝나는 문자열에 대한 포인터입니다. 문자열 내에서 와일드카드를 사용하기 위한 의미 체계는 정의되지 않지만 특정 네임스페이스 공급자에서 지원될 수 있습니다.
lpServiceClassId
형식: LPGUID
서비스 클래스에 해당하는 GUID입니다. 이 멤버를 설정해야 합니다.
lpVersion
형식: LPWSAVERSION
네임스페이스 공급자의 선택적 원하는 버전 번호에 대한 포인터입니다. 이 멤버는 버전 비교 의미 체계를 제공합니다(즉, 요청된 버전이 정확히 일치해야 하거나 버전이 제공된 값보다 작지 않아야 합니다).
lpszComment
형식: LPTSTR
이 멤버는 쿼리에 대해 무시됩니다.
dwNameSpace
형식: DWORD
쿼리할 네임스페이스 공급자를 결정하는 네임스페이스 식별자입니다. 특정 네임스페이스 식별자를 전달하면 지정된 네임스페이스를 지원하는 네임스페이스 공급자만 쿼리됩니다. NS_ALL 지정하면 모든 설치 및 활성 네임스페이스 공급자가 쿼리됩니다.
dwNameSpace 멤버에 대한 옵션은 Winsock2.h 포함 파일에 나열됩니다. 여러 새 네임스페이스 공급자가 Windows Vista 이상에 포함되어 있습니다. 다른 네임스페이스 공급자를 설치할 수 있으므로 다음과 같은 가능한 값은 일반적으로 사용할 수 있는 값입니다. 다른 많은 값이 가능합니다.
lpNSProviderId
형식: LPGUID
여러 네임스페이스 공급자가 NS_DNS같은 단일 네임스페이스 아래에 등록된 경우 쿼리할 특정 네임스페이스 공급자의 선택적 GUID에 대한 포인터입니다. 특정 네임스페이스 공급자에 대한 GUID를 전달하면 지정된 네임스페이스 공급자만 쿼리됩니다. WSAEnumNameSpaceProviders 및 WSAEnumNameSpaceProvidersEx 함수를 호출하여 네임스페이스 공급자의 GUID를 검색할 수 있습니다.
lpszContext
형식: LPTSTR
계층 구조 네임스페이스에서 쿼리의 선택적 시작점에 대한 포인터입니다.
dwNumberOfProtocols
형식: DWORD
프로토콜 제약 조건 배열의 크기(바이트)입니다. 이 멤버는 0일 수 있습니다.
lpafpProtocols
형식: LPAFPROTOCOLS
AFPROTOCOLS 구조체의 선택적 배열에 대한 포인터입니다. 이러한 프로토콜을 활용하는 서비스만 반환됩니다.
lpszQueryString
형식: LPTSTR
선택적 NULL 종료 쿼리 문자열에 대한 포인터입니다. Whois++와 같은 일부 네임스페이스는 간단한 텍스트 문자열에 포함된 보강된 SQL과 유사한 쿼리를 지원합니다. 이 매개 변수는 해당 문자열을 지정하는 데 사용됩니다.
dwNumberOfCsAddrs
형식: DWORD
이 멤버는 쿼리에 대해 무시됩니다.
lpcsaBuffer
형식: LPCSADDR_INFO
이 멤버는 쿼리에 대해 무시됩니다.
dwOutputFlags
형식: DWORD
이 멤버는 쿼리에 대해 무시됩니다.
lpBlob
형식: LPBLOB
공급자별 네임스페이스 정보를 쿼리하거나 설정하는 데 사용되는 데이터에 대한 선택적 포인터입니다. 이 정보의 형식은 네임스페이스 공급자에 따라 다릅니다.
발언
WSAQUERYSET 구조는 Windows 95 이상에서 사용할 수 있는 원래 네임스페이스 공급자 버전 1 아키텍처의 일부로 사용됩니다. 최신 버전의 네임스페이스 아키텍처는 Windows Vista 이상에서 사용할 수 있습니다.
대부분의 경우 특정 전송 프로토콜에만 관심이 있는 애플리케이션은 네임스페이스가 아닌 주소 패밀리 및 프로토콜별로 쿼리를 제한해야 합니다. 이렇게 하면 TCP/IP 서비스를 찾아야 하는 애플리케이션(예: 로컬 호스트 파일, DNS 및 NIS)과 같은 사용 가능한 모든 네임스페이스에서 쿼리를 처리할 수 있습니다.
메모
winsock2.h 헤더는 WSAQUERYSET을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
헤더 | winsock2.h |
참고 항목
Bluetooth 및 WSAQUERYSET for Device Inquiry
Bluetooth 및 WSAQUERYSET for Service Inquiry
서비스 설정에 대한
WSAEnumNameSpaceProviders
WSAEnumNameSpaceProvidersEx
WSALookupServiceNext
WSASetService