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 |
Library | Dnsapi.lib |
[DLL] | Dnsapi.dll |