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


Функция PxeDhcpIsValid (wdspxe.h)

Проверяет, является ли пакет DHCP-пакетом.

Синтаксис

DWORD PXEAPI PxeDhcpIsValid(
  [in]  PVOID pPacket,
  [in]  ULONG uPacketLen,
  [in]  BOOL  bRequestPacket,
  [out] PBOOL pbPxeOptionPresent
);

Параметры

[in] pPacket

Указатель на пакет ответа, выделенный с помощью функции PxePacketAllocate .

[in] uPacketLen

Длина пакета, на который указывает параметр pPacket .

[in] bRequestPacket

Указывает, является ли пакет пакетом запроса. В следующей таблице перечислены возможные значения.

Значение Значение
TRUE
1
Пакет для проверки — это пакет запроса от клиента.
FALSE
0
Пакет для проверки — это пакет, созданный сервером.

[out] pbPxeOptionPresent

Адрес ЛОГОВ , который имеет значение TRUE , если пакет является допустимым пакетом DHCP, содержащим параметр Идентификатор класса поставщика (60) со значением PXEClient.

Возвращаемое значение

Если функция завершается успешно, возвращаемое значение будет ERROR_SUCCESS.

Комментарии

Поставщики используют эту функцию, если фильтр, заданный с функцией PxeProviderSetAttribute , принимает все пакеты, чтобы определить, является ли указанный пакет допустимым пакетом DHCP. Поставщики также могут использовать эту функцию для проверки пакетов ответа; Обычно это делается только для отладочных или тестовых сборок поставщика.

Проверочные тесты включают следующие.

Поле DHCP Инициализированное значение
Операция (оп) Если параметр bClientRequest имеет значение TRUE, это поле должно иметь значение 1 (запрос BOOTP), в противном случае это поле должно быть равно 2 (BOOTP Reply).
Длина аппаратного адреса (hlen) Значение должно быть меньше или равно 16.
Имя узла (sname) Должно быть завершено со значением NULL .
Имя загрузочного файла (файл) Должно быть завершено со значением NULL .
Magic Cookie (первые 4 октета венда) Должен содержать допустимый магический файл cookie DHCP (99 130 83 99).
Длина параметра Все параметры должны иметь допустимую длину и не перерасходить пакет.
Тип сообщения DHCP (53) Должен присутствовать.
Вариант End (255) Пакет должен заканчиваться параметром ЗАВЕРШЕНИЯ DHCP. Из-за минимальной длины пакета пакет может быть больше, но параметры не могут следовать за параметром End.

Требования

   
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008, Windows Server 2003 с пакетом обновления 2 (SP2) [только классические приложения]
Целевая платформа Windows
Header wdspxe.h
Библиотека WdsPxe.lib
DLL WdsPxe.dll

См. также раздел

PxePacketAllocate

PxeProviderSetAttribute

Функции сервера служб развертывания Windows