Funzione PxeDhcpIsValid (wdspxe.h)

Verifica che un pacchetto sia un pacchetto DHCP.

Sintassi

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

Parametri

[in] pPacket

Puntatore a un pacchetto di risposta allocato con la funzione PxePacketAllocate .

[in] uPacketLen

Lunghezza del pacchetto a cui punta il parametro pPacket .

[in] bRequestPacket

Indica se il pacchetto è un pacchetto di richiesta. Nella tabella seguente sono elencati i valori possibili.

Valore Significato
TRUE
1
Il pacchetto da convalidare è un pacchetto di richiesta dal client.
FALSE
0
Il pacchetto da convalidare è un pacchetto generato dal server.

[out] pbPxeOptionPresent

Indirizzo di un valore BOOL impostato su TRUE se il pacchetto è un pacchetto DHCP valido che contiene l'opzione Vendor Class Identifier (60) con il valore impostato su "PXEClient".

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.

Commenti

I provider usano questa funzione quando il set di filtri con la funzione PxeProviderSetAttribute è impostato per ricevere tutti i pacchetti per determinare se un pacchetto specificato è un pacchetto DHCP valido. I provider possono anche usare questa funzione per convalidare i pacchetti di risposta; in genere questa operazione viene eseguita solo per le compilazioni di debug o test del provider.

I test di convalida includono i test seguenti.

Campo DHCP Valore inizializzato
Operazione (op) Se il parametro bClientRequest è TRUE, questo campo deve essere 1 (richiesta BOOTP), altrimenti questo campo deve essere 2 (BOOTP Reply).
Lunghezza indirizzo hardware (hlen) Deve essere minore o uguale a 16.
Nome host (sname) Deve essere null terminato.
Nome file di avvio (file) Deve essere null terminato.
Cookie magico (primi 4 ottetti di distributori) Deve contenere un cookie magic DHCP valido (99 130 83 99).
Lunghezza opzione Tutte le opzioni devono avere una lunghezza valida e non sovraccaricare il pacchetto.
Tipo di messaggio DHCP (53) Deve essere presente.
Opzione Fine (255) Il pacchetto deve terminare con l'opzione di fine DHCP. A causa della lunghezza minima dei pacchetti, il pacchetto può essere più grande, ma nessuna opzione può seguire l'opzione Fine.

Requisiti

   
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2008, Windows Server 2003 con SP2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wdspxe.h
Libreria WdsPxe.lib
DLL WdsPxe.dll

Vedi anche

PxePacketAllocate

PxeProviderSetAttribute

Funzioni del server di Servizi di distribuzione Windows