WSAQUERYSETA 구조체(winsock2.h)
WSAQUERYSET 구조는 서비스 클래스 ID, 서비스 이름, 해당 네임스페이스 식별자 및 프로토콜 정보뿐만 아니라 서비스가 수신 대기하는 전송 주소 집합을 포함하여 지정된 서비스에 대한 관련 정보를 제공합니다.
구문
typedef struct _WSAQuerySetA {
DWORD dwSize;
LPSTR lpszServiceInstanceName;
LPGUID lpServiceClassId;
LPWSAVERSION lpVersion;
LPSTR lpszComment;
DWORD dwNameSpace;
LPGUID lpNSProviderId;
LPSTR lpszContext;
DWORD dwNumberOfProtocols;
LPAFPROTOCOLS lpafpProtocols;
LPSTR lpszQueryString;
DWORD dwNumberOfCsAddrs;
LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags;
LPBLOB lpBlob;
} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;
멤버
dwSize
형식:DWORD
WSAQUERYSET 구조체의 크기(바이트)입니다. 이 멤버는 WSAQUERYSET 구조체의 크기가 이후 버전의 Windows에서 변경되었으므로 버전 관리 메커니즘으로 사용됩니다.
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 아키텍처의 일부로 사용됩니다. 최신 버전 2의 네임스페이스 아키텍처는 Windows Vista 이상에서 사용할 수 있습니다.
대부분의 경우 특정 전송 프로토콜에만 관심이 있는 애플리케이션은 네임스페이스가 아닌 주소 패밀리 및 프로토콜별로 쿼리를 제한해야 합니다. 이렇게 하면 TCP/IP 서비스를 찾아야 하는 애플리케이션(예: 로컬 호스트 파일, DNS 및 NIS)과 같은 사용 가능한 모든 네임스페이스에서 쿼리를 처리할 수 있습니다.
참고
winsock2.h 헤더는 WSAQUERYSET을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | winsock2.h |
추가 정보
디바이스 조회를 위한 Bluetooth 및 WSAQUERYSET
서비스 문의용 Bluetooth 및 WSAQUERYSET