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 구조체의 크기(바이트)입니다. 이 멤버는 WSAQUERYSET 구조체의 크기가 이후 버전의 Windows에서 변경되었으므로 버전 관리 메커니즘으로 사용됩니다.

lpszServiceInstanceName

형식: LPTSTR

서비스 이름을 포함하는 선택적 NULL로 끝나는 문자열에 대한 포인터입니다. 문자열 내에서 와일드카드를 사용하기 위한 의미 체계는 정의되지 않지만 특정 네임스페이스 공급자에서 지원될 수 있습니다.

lpServiceClassId

형식: LPGUID

서비스 클래스에 해당하는 GUID입니다. 이 멤버를 설정해야 합니다.

lpVersion

형식: LPWSAVERSION

네임스페이스 공급자의 원하는 선택적 버전 번호에 대한 포인터입니다. 이 멤버는 버전 비교 의미 체계를 제공합니다(즉, 요청된 버전이 정확히 일치해야 하거나 버전이 제공된 값보다 작지 않아야 합니다).

lpszComment

형식: LPTSTR

이 멤버는 쿼리에 대해 무시됩니다.

dwNameSpace

형식:DWORD

쿼리할 네임스페이스 공급자를 결정하는 네임스페이스 식별자입니다. 특정 네임스페이스 식별자를 전달하면 지정된 네임스페이스를 지원하는 네임스페이스 공급자만 쿼리됩니다. NS_ALL 지정하면 모든 설치 및 활성 네임스페이스 공급자가 쿼리됩니다.

dwNameSpace 멤버에 대한 옵션은 Winsock2.h 포함 파일에 나열됩니다. 여러 새 네임스페이스 공급자가 Windows Vista 이상에 포함되어 있습니다. 다른 네임스페이스 공급자를 설치할 수 있으므로 다음과 같은 가능한 값은 일반적으로 사용할 수 있는 값입니다. 다른 많은 값이 가능합니다.

의미
NS_ALL
설치된 모든 네임스페이스와 활성 네임스페이스.
NS_BTH
Bluetooth 네임스페이스입니다. 이 네임스페이스 식별자는 Windows Vista 이상에서 지원됩니다.
NS_DNS
DNS(도메인 이름 시스템) 네임스페이스입니다.
NS_EMAIL
전자 메일 네임스페이스입니다. 이 네임스페이스 식별자는 Windows Vista 이상에서 지원됩니다.
NS_NLA
NLA(네트워크 위치 인식) 네임스페이스입니다. 이 네임스페이스 식별자는 Windows XP 이상에서 지원됩니다.
NS_PNRPNAME
특정 피어 이름에 대한 피어 투 피어 이름 공간입니다. 이 네임스페이스 식별자는 Windows Vista 이상에서 지원됩니다.
NS_PNRPCLOUD
피어 이름 컬렉션의 피어 투 피어 이름 공간입니다. 이 네임스페이스 식별자는 Windows Vista 이상에서 지원됩니다.

lpNSProviderId

형식: LPGUID

여러 네임스페이스 공급자가 NS_DNS 같은 단일 네임스페이스 아래에 등록된 경우 쿼리할 특정 네임스페이스 공급자의 선택적 GUID에 대한 포인터입니다. 특정 네임스페이스 공급자에 대한 GUID를 전달하면 지정된 네임스페이스 공급자만 쿼리됩니다. WSAEnumNameSpaceProvidersWSAEnumNameSpaceProvidersEx 함수를 호출하여 네임스페이스 공급자에 대한 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

서비스 설정에 대한 Bluetooth 및 WSAQUERYSET

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService