структура DNS_QUERY_RAW_RESULT (windns.h)
Важно!
Некоторые сведения относятся к предварительной версии продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет необработанный результат запроса 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
Количество байтов в буфере необработанных ответов DNS, на который указывает queryRawResponse.
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. Массив maxSa можно использовать в коде, в который не определен тип SOCKADDR_INET .
Требования
Требование | Значение |
---|---|
Заголовок | windns.h |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по