共用方式為


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