DnsQuery_A関数 (windns.h)
DnsQuery 関数の種類は、DNS 名前空間への汎用クエリ インターフェイスであり、アプリケーション開発者に DNS クエリ解決インターフェイスを提供します。 多くの DNS 関数と同様に、 DnsQuery 関数の種類は、異なる文字エンコードを容易にするために複数の形式で実装されます。 関連する文字エンコードに基づいて、次のいずれかの関数を使用します。
- DnsQuery_A (ANSI エンコードの場合)
- DnsQuery_W (Unicode エンコードの場合)
- DnsQuery_UTF8 (UTF-8 エンコードの場合)
構文
DNS_STATUS DnsQuery_A(
[in] PCSTR pszName,
[in] WORD wType,
[in] DWORD Options,
[in, out, optional] PVOID pExtra,
[out, optional] PDNS_RECORD *ppQueryResults,
[out, optional] PVOID *pReserved
);
パラメーター
[in] pszName
クエリを実行する DNS 名を表す文字列へのポインター。
[in] wType
クエリが実行されるリソース レコード (RR)DNS レコードの種類 を表す値。 wType は、 ppQueryResultsSet が指すデータの形式を決定します。 たとえば、 wType の値が DNS_TYPE_A場合、 ppQueryResultsSet によって指されるデータの形式は DNS_A_DATA。
[in] Options
DNS クエリで使用する DNS クエリ オプション のビットマップを含む値。 オプションを組み合わせることができ、すべてのオプション がDNS_QUERY_STANDARDをオーバーライドできます。
[in, out, optional] pExtra
このパラメーターは将来使用するために予約されており、 NULL に設定する必要があります。
[out, optional] ppQueryResults
省略可能。 応答を構成する RR の一覧を指すポインターへのポインター。 詳細については、「解説」を参照してください。
[out, optional] pReserved
このパラメーターは将来使用するために予約されており、 NULL に設定する必要があります。
戻り値
正常に完了すると、成功の確認を返します。 それ以外の場合は、Winerror.h で定義されている適切な DNS 固有のエラー コードを返します。
解説
DnsQuery 関数を呼び出すアプリケーションは、完全修飾 DNS 名とリソース レコード (RR) の種類を使用してクエリを作成し、必要なサービスの種類に応じてクエリ オプションを設定します。 DNS_QUERY_STANDARD オプションが設定されている場合、DNS はリゾルバー キャッシュを使用し、最初に UDP を使用してクエリを実行し、応答が切り捨てられた場合は TCP で再試行し、クライアントに代わって再帰的解決を実行してクエリを解決するようサーバーに要求します。
アプリケーションは、 DnsRecordListFree 関数を使用して、返された RR セットを解放する必要があります。
lpstrName パラメーターが NULL に設定されている場合、DnsQuery 関数はエラー INVALID_PARAMETERで失敗します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | windns.h |
Library | Dnsapi.lib |
[DLL] | Dnsapi.dll |