Condividi tramite


Funzione di callback PxeProviderRecvRequest

Chiamato quando una richiesta viene ricevuta da un client. Questa funzione viene registrata chiamando la funzione PxeRegisterCallback con il parametro CallbackType impostato su PXE_CALLBACK_RECV_REQUEST.

Sintassi

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
);

Parametri

hClientRequest [in]

Gestire una richiesta ricevuta da un client.

pPacket [in]

Puntatore al buffer di memoria che contiene il pacchetto ricevuto.

uPacketLen [in]

Lunghezza, in byte, del buffer a cui punta il parametro pPacket .

pLocalAddress [in]

Puntatore a una struttura PXE_ADDRESS che contiene l'indirizzo locale in cui è stato ricevuto il pacchetto.

pRemoteAddress [in]

Puntatore a una struttura PXE_ADDRESS che contiene l'indirizzo di origine del pacchetto.

pAction [out]

Specifica l'azione che deve essere eseguita dal sistema.

Valore Significato
PXE_BA_NBP
1
Il provider ha risposto a un client con un pacchetto di risposta DHCP standard che contiene un percorso al programma di avvio di rete. La restituzione di questa azione indica che il provider ha completato correttamente la richiesta client chiamando la funzione PxeSendReply almeno una volta.
PXE_BA_CUSTOM
2
Il provider ha risposto a un client usando una risposta personalizzata che non è conforme alle specifiche DHCP. La restituzione di questa azione indica che il provider ha completato correttamente la richiesta client chiamando la funzione PxeSendReply almeno una volta.
PXE_BA_IGNORE
3
Il provider non vuole gestire la richiesta client e la richiesta non deve essere passata al provider successivo. Tutte le risorse associate alla richiesta client vengono rilasciate e la richiesta client viene ignorata. I provider possono usare questo valore anche se riconoscono il client, ma la richiesta non è valida.
PXE_BA_REJECTED
4
Il provider non vuole gestire la richiesta client. Il sistema passa la richiesta al provider successivo nell'elenco dei provider registrati. Se si tratta dell'ultimo provider nell'elenco, tutte le risorse associate alla richiesta client vengono rilasciate e la richiesta client viene ignorata.

pContext [in]

Valore di contesto passato alla funzione PxeRegisterCallback .

Valore restituito

Se il provider ha elaborato correttamente la richiesta client, il callback deve restituire ERROR_SUCCESS e il PXE_BOOT_ACTION a cui punta il parametro pAction contiene l'azione di avvio appropriata per questa richiesta. Se il provider elabora la richiesta client in modo asincrono, il callback deve restituire ERROR_IO_PENDING e chiamare la funzione PxeAsyncRecvDone quando la richiesta client è stata elaborata. In caso di errore, deve essere restituito un codice di errore appropriato e il sistema procederà come se fosse stata specificata l'azione di avvio PXE_BA_REJECTED .

Commenti

Il tipo di pacchetti visualizzati da un provider può essere modificato con la funzione PxeProviderSetAttribute .

Requisiti

Requisito Valore
Client minimo supportato
Nessuno supportato
Server minimo supportato
Windows Server 2008, Windows Server 2003 con SP2 [solo app desktop]

Vedi anche

Funzioni del server di Servizi di distribuzione Windows

PxeRegisterCallback

PxeSendReply

PxeProviderSetAttribute