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 值。
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
DNS 原始回應來源的位址。
maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]
類型:CHAR[]
DNS 原始回應來源的位址。 您可以在未定義 SOCKADDR_INET 類型的程式代碼中使用 maxSa 陣列。
要求
要求 | 價值 |
---|---|
標頭 | windns.h |