Функция 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
Указывает, является ли пакет пакетом запроса. В следующей таблице перечислены возможные значения.
Значение | Значение |
---|---|
|
Пакет для проверки — это пакет запроса от клиента. |
|
Пакет для проверки — это пакет, созданный сервером. |
[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 |