DnsQueryEx 함수(windns.h)
DnsQueryEx 함수는 DNS 네임스페이스에 대한 비동기 제네릭 쿼리 인터페이스입니다. 애플리케이션 개발자에게 DNS 쿼리 확인 인터페이스를 제공합니다.
DnsQuery와 마찬가지로 DnsQueryEx를 사용하여 DNS 네임스페이스에 대한 동기 쿼리도 수행할 수 있습니다.
구문
DNS_STATUS DnsQueryEx(
[in] PDNS_QUERY_REQUEST pQueryRequest,
[in, out] PDNS_QUERY_RESULT pQueryResults,
[in, out, optional] PDNS_QUERY_CANCEL pCancelHandle
);
매개 변수
[in] pQueryRequest
쿼리 요청 정보를 포함하는 DNS_QUERY_REQUEST 또는 DNS_QUERY_REQUEST3 구조체에 대한 포인터입니다.
[in, out] pQueryResults
쿼리 결과를 포함하는 DNS_QUERY_RESULT 구조체에 대한 포인터입니다. 입력 시 pQueryResults의 버전 멤버는 DNS_QUERY_RESULTS_VERSION1 다른 모든 멤버는 NULL이어야 합니다. 출력에서 나머지 멤버는 쿼리 완료의 일부로 채워집니다.
[in, out, optional] pCancelHandle
보류 중인 비동기 쿼리를 취소하는 데 사용할 수 있는 DNS_QUERY_CANCEL 구조체에 대한 포인터입니다.
반환 값
DnsQueryEx 함수에는 다음과 같은 가능한 반환 값이 있습니다.
반환 코드 | 설명 |
---|---|
|
호출이 성공했습니다. |
|
pQueryRequest 또는 pQueryRequest 매개 변수가 초기화되지 않았거나 잘못된 버전을 포함합니다. |
|
호출로 인해 RCODE 오류가 발생했습니다. |
|
응답에 레코드가 없습니다. |
|
쿼리는 비동기적으로 완료됩니다. |
설명
DnsQueryEx 호출이 동기적으로 완료되면(즉, 함수 반환 값이 DNS_REQUEST_PENDING 않음) pQueryResults의 pQueryRecords 멤버는 DNS_RECORDS 목록에 대한 포인터를 포함하고 DnsQueryEx는 오류 또는 성공을 반환합니다.
다음 조건은 DnsQueryEx 에 대한 동기 호출을 호출하고 DNS 콜백을 활용하지 않습니다.
- DNS_QUERY_COMPLETION_ROUTINE 콜백은 pQueryRequest의 pQueryCompleteCallback 멤버에서 생략됩니다.
- 쿼리는 로컬 컴퓨터 이름 및 A 또는AAAA 형식 RR(리소스 레코드)에 대한 것입니다.
- DnsQueryEx 호출은 IPv4 또는 IPv6 주소를 쿼리합니다.
- DnsQueryEx에 대한 호출이 오류로 반환됩니다.
dnsQueryEx 및 pQueryContext에 대한 비동기 호출에서 반환된 pCancelHandle은 DNS_QUERY_COMPLETION_ROUTINE DNS 콜백이 호출될 때까지 유효합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | windns.h |
라이브러리 | Dnsapi.lib |
DLL | Dnsapi.dll |