共用方式為


DNS_QUERY_RAW_RESULT結構 (windns.h)

重要

某些資訊與發行前版本產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。

表示 DNS 原始查詢結果, (請參閱 DNS_QUERY_RAW_COMPLETION_ROUTINE) 。

語法

typedef struct _DNS_QUERY_RAW_RESULT {
  ULONG       version;
  DNS_STATUS  queryStatus;
  ULONG64     queryOptions;
  ULONG64     queryRawOptions;
  ULONG64     responseFlags;
  ULONG       queryRawResponseSize;
  BYTE        *queryRawResponse;
  PDNS_RECORD queryRecords;
  ULONG       protocol;
  union {
    SOCKADDR_INET sourceAddr;
    CHAR          maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH];
  };
} DNS_QUERY_RAW_RESULT;

成員

version

類型: ULONG

這個結構的版本。 這符合 在 DNS_QUERY_RAW_REQUEST::resultsVersion 中設定的專案。 目前只有 DNS_QUERY_RAW_RESULT_VERSION1 (0x1) 存在。

queryStatus

類型: DNS_STATUS

查詢的狀態。

queryOptions

類型: ULONG64

此查詢中使用的查詢選項。 由於系統設定,這些可能與您在要求中提供的查詢選項不同。 目前的選項定義於 DNS 查詢選項中。

queryRawOptions

類型: ULONG64

套用至原始查詢的其他選項。 另請參閱 DNS_QUERY_RAW_REQUEST::queryRawOptions

responseFlags

類型: ULONG64

有關查詢回應的其他旗標。 目前未指定任何專案。

queryRawResponseSize

類型: ULONG

queryRawResponse 所指向 DNS 原始回應緩衝區中的位元組計數。

queryRawResponse

類型: BYTE*

緩衝區的指標,其中包含 DNS 查詢響應的線路表示,後面接著一個可變數目的記錄。12 位元組標頭。 這個緩衝區的大小為 queryRawResponseSize 位元組。

指標可能或可能無效,視 queryStatus 而定。 內部 DNS 錯誤會產生錯誤狀態和 NULL 指標,但來自伺服器的負面回應可能會產生錯誤狀態和有效的指標。 如果 queryStatus 是ERROR_SUCCESS,則指標有效。

queryRecords

類型: PDNS_RECORD

DNS_RECORD 結構的指標。 這包含與 queryRawResponse 相同的記錄,但剖析成結構格式。

此指標的有效方式與 queryRawResponse 相同,其相依於 queryStatus 值。

queryRecords 包含與 queryRawResponse 相同的記錄,但剖析成結構格式。 不過,如果在實作不知道的回應中有新的 DNS 記錄類型,則不會出現在 queryRecords 中;但它會出現在 queryRawResponse 中。

protocol

類型: ULONG

用於查詢回應的 DNS 通訊協定。 這不一定符合 DNS_QUERY_RAW_REQUEST 中的通訊協議,因為 DNS 系統可能會根據組態變更傳出查詢通訊協定。 如有需要,查詢回應將會修改,以符合要求中的通訊協定,讓呼叫端看到的行為順暢。 DNS_PROTOCOL_NO_WIRE值表示結果記錄和數據是在內部產生,而 DNS 系統不會在網路上傳送查詢。

可能的值包括:

  • DNS_PROTOCOL_UNSPECIFIED (0x0) 。 查詢已完成,但未收到回應;例如在取消中。
  • DNS_PROTOCOL_UDP (0x1) 。
  • DNS_PROTOCOL_TCP (0x2) 。
  • DNS_PROTOCOL_DOH (0x3) 。
  • DNS_PROTOCOL_DOT (0x4) 。
  • DNS_PROTOCOL_NO_WIRE (0x5) 。 查詢已完成內嵌;例如,快取中的記錄。

sourceAddr

類型: SOCKADDR_INET

DNS 原始回應來源的位址。

maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]

類型: CHAR[]

DNS 原始回應來源的位址。 您可以在未定義SOCKADDR_INET類型的程式代碼中使用 maxSa 陣列。

規格需求

需求
標頭 windns.h