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


Функция обратного вызова PxeProviderRecvRequest

Вызывается при получении запроса от клиента. Эта функция регистрируется путем вызова функции PxeRegisterCallback с параметром CallbackType , равным PXE_CALLBACK_RECV_REQUEST.

Синтаксис

DWORD PXEAPI PxeProviderRecvRequest(
  _In_  HANDLE          hClientRequest,
  _In_  PVOID           pPacket,
  _In_  ULONG           uPacketLen,
  _In_  PXE_ADDRESS     *pLocalAddress,
  _In_  PXE_ADDRESS     *pRemoteAddress,
  _Out_ PXE_BOOT_ACTION pAction,
  _In_  PVOID           pContext
);

Параметры

hClientRequest [in]

Обработка запроса, полученного от клиента.

pPacket [in]

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

uPacketLen [вход]

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

pLocalAddress [in]

Указатель на структуру PXE_ADDRESS , содержащую локальный адрес, по которому был получен пакет.

pRemoteAddress [in]

Указатель на структуру PXE_ADDRESS , содержащую исходный адрес пакета.

pAction [out]

Указывает действие, которое должна предпринять система.

Значение Значение
PXE_BA_NBP
1
Поставщик ответил клиенту стандартным пакетом ответа DHCP, который содержит путь к программе загрузки сети. Возврат этого действия означает, что поставщик успешно выполнил клиентский запрос, вызвав функцию PxeSendReply по крайней мере один раз.
PXE_BA_CUSTOM
2
Поставщик ответил клиенту, используя пользовательский ответ, который не соответствует спецификациям DHCP. Возврат этого действия означает, что поставщик успешно выполнил клиентский запрос, вызвав функцию PxeSendReply по крайней мере один раз.
PXE_BA_IGNORE
3
Поставщик не хочет обслуживать запрос клиента, и он не должен передаваться следующему поставщику. Все ресурсы, связанные с клиентским запросом, освобождаются, а запрос клиента игнорируется. Поставщики также могут использовать это значение, если они распознают клиент, но запрос был неправильно сформирован.
PXE_BA_REJECTED
4
Поставщик не хочет обслуживать запрос клиента. Система передает запрос следующему поставщику в списке зарегистрированных поставщиков. Если это последний поставщик в списке, то все ресурсы, связанные с запросом клиента, освобождаются, а запрос клиента игнорируется.

pContext [in]

Значение контекста, переданное функции PxeRegisterCallback .

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

Если поставщик успешно обработал клиентский запрос, обратный вызов должен вернуть ERROR_SUCCESS а PXE_BOOT_ACTION , на который указывает параметр pAction, содержит соответствующее действие загрузки для этого запроса. Если поставщик будет обрабатывать клиентский запрос асинхронно, обратный вызов должен вернуть ERROR_IO_PENDING и вызвать функцию PxeAsyncRecvDone при обработке клиентского запроса. В случае сбоя должен быть возвращен соответствующий код ошибки, и система будет продолжать работу, как если бы было указано действие загрузки PXE_BA_REJECTED .

Комментарии

Тип пакетов, видимых поставщиком, можно изменить с помощью функции PxeProviderSetAttribute .

Требования

Требование Значение
Минимальная версия клиента
Ни одна версия не поддерживается
Минимальная версия сервера
Windows Server 2008, Windows Server 2003 с пакетом обновления 2 (SP2) [только классические приложения]

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

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

PxeRegisterCallback

PxeSendReply

PxeProviderSetAttribute