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 |
---|---|
|
Il pacchetto da convalidare è un pacchetto di richiesta dal client. |
|
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 |