Поделиться через


структура DNS_CUSTOM_SERVER (windnsdef.h)

Представляет пользовательский DNS-сервер. Объект DNS_CUSTOM_SERVER передается в DnsQueryEx через структуру DNS_QUERY_REQUEST3.

Чтобы использовать DNS_CUSTOM_SERVER вместе с ServerAddr, включите ws2ipdef.h перед windns.h.

Синтаксис

typedef struct _DNS_CUSTOM_SERVER {
  DWORD   dwServerType;
  ULONG64 ullFlags;
  union {
    PWSTR pwszTemplate;
    PWSTR pwszHostname;
  };
  CHAR    MaxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH];
} DNS_CUSTOM_SERVER;

Члены

dwServerType

Тип: DWORD

Тип сервера. Должен быть одним из следующих.

Ценность Описание
DNS_CUSTOM_SERVER_TYPE_UDP 0x1 Выполнение небезопасного разрешения имен
DNS_CUSTOM_SERVER_TYPE_DOH 0x2 Выполнение разрешения имен DNS по протоколу HTTPS

ullFlags

Тип: ULONG64

Значение, содержащее растровое изображение следующих параметров.

Ценность Описание
DNS_CUSTOM_SERVER_UDP_FALLBACK 0x1 Сервер может вернуться к небезопасной разрешению

pwszTemplate

Тип: PWSTR

Строка NULL,завершенная широкой строкой, представляющей шаблон DNS-over-HTTPS.

Если dwServerType задано значение DNS_CUSTOM_SERVER_TYPE_UDP, это поле должно быть NULL.

Если dwServerType задано значение DNS_CUSTOM_SERVER_TYPE_DOH, то это поле должно указывать на допустимую строку NULL-terminated.

pwszHostname

MaxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]

Тип: CHAR[DNS_ADDR_MAX_SOCKADDR_LENGTH]

Массив байтов, который обозначает хранилище для SOCKADDR_INET. MaxSa является объединением ServerAddr.

Чтобы использовать DNS_CUSTOM_SERVER вместе с ServerAddr, необходимо включить ws2ipdef.h перед windns.h.

Помимо хранилища для SOCKADDR_INET, MaxSa избегает ошибок компиляции, вызванных не включая ws2ipdef.h. Это позволяет использовать любые функции из windns.h, кроме DNS_CUSTOM_SERVER.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Build 22000
минимальный поддерживаемый сервер Windows Build 22000
заголовка windnsdef.h

См. также