Função PxeDhcpIsValid (wdspxe.h)
Valida se um pacote é um pacote DHCP.
Sintaxe
DWORD PXEAPI PxeDhcpIsValid(
[in] PVOID pPacket,
[in] ULONG uPacketLen,
[in] BOOL bRequestPacket,
[out] PBOOL pbPxeOptionPresent
);
Parâmetros
[in] pPacket
Ponteiro para um pacote de resposta alocado com a função PxePacketAllocate .
[in] uPacketLen
Comprimento do pacote apontado pelo parâmetro pPacket .
[in] bRequestPacket
Indica se o pacote é um pacote de solicitação. A tabela a seguir lista os valores possíveis.
Valor | Significado |
---|---|
|
O pacote a ser validado é um pacote de solicitação do cliente. |
|
O pacote a ser validado é um pacote gerado pelo servidor. |
[out] pbPxeOptionPresent
Endereço de um BOOL definido como TRUE se o pacote for um pacote DHCP válido que contém a opção Identificador de Classe do Fornecedor (60) com o valor definido como "PXEClient".
Valor retornado
Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.
Comentários
Os provedores usam essa função quando o conjunto de filtros com a função PxeProviderSetAttribute é definido para receber todos os pacotes para determinar se um pacote especificado é um pacote DHCP válido. Os provedores também podem usar essa função para validar pacotes de resposta; normalmente, isso é feito apenas para compilações de depuração ou teste do provedor.
Os testes de validação incluem os testes a seguir.
Campo DHCP | Valor inicializado |
---|---|
Operação (op) | Se o parâmetro bClientRequest for TRUE, esse campo deverá ser 1 (Solicitação BOOTP), caso contrário, esse campo deverá ser 2 (Resposta BOOTP). |
Comprimento do endereço de hardware (hlen) | Deve ser menor ou igual a 16. |
Nome do Host (nome do host) | Deve ser nulo encerrado. |
Nome do arquivo de inicialização (arquivo) | Deve ser nulo encerrado. |
Magic Cookie (primeiros 4 octetos de vend) | Deve conter um Cookie Mágico DHCP válido (99 130 83 99). |
Comprimento da opção | Todas as opções devem ter um comprimento válido e não ultrapassar o pacote. |
Tipo de mensagem DHCP (53) | Deve estar presente. |
Opção End (255) | O pacote deve terminar com a opção de fim DHCP. Devido aos comprimentos mínimos do pacote, o pacote pode ser maior, mas nenhuma opção pode seguir a opção End. |
Requisitos
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2008, Windows Server 2003 com SP2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wdspxe.h |
Biblioteca | WdsPxe.lib |
DLL | WdsPxe.dll |