Funzione NdisMGetOffloadHandlers (ndischimney.h)
[La funzionalità offload del camino TCP è deprecata e non deve essere usata.]
Questa funzione ottiene i punti di ingresso delle funzioni NDIS per un particolare tipo di camino.
Sintassi
NDIS_STATUS NdisMGetOffloadHandlers(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN NDIS_CHIMNEY_OFFLOAD_TYPE ChimneyType,
[out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);
Parametri
[in] NdisMiniportHandle
Handle di un'area di contesto allocata dalla destinazione di offload in cui la destinazione di offload mantiene le informazioni sullo stato relative a questa istanza dell'adapter. La destinazione di offload ha fornito questo handle a NDIS durante la chiamata NdisMSetMiniportAttributes dal relativo funzione miniportInitializeEx.
[in] ChimneyType
Tipo di camino che rappresenta uno dei valori NDIS_CHIMNEY_OFFLOAD_TYPE seguenti:
NdisTcpChimneyOffload
Tipo di offload del camino TCP.
Tutti gli altri valori NDIS_CHIMNEY_OFFLOAD_TYPE sono attualmente riservati.
[out] OffloadHandlers
Puntatore a una variabile fornita dalla destinazione di offload. La dimensione di questa variabile è sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS). Se la chiamata al NdisMGetOffloadHandlers funzione ha esito positivo, la funzione restituisce, in questa variabile, un puntatore a una struttura NDIS_OFFLOAD_EVENT_HANDLERS. Questa struttura funge da intestazione per la struttura specifica del camino che contiene i punti di ingresso. La struttura NDIS_OFFLOAD_EVENT_HANDLERS è formattata come segue:
typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
NDIS_OBJECT_HEADER Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;
Questa struttura contiene il membro seguente:
Intestazione
Specifica un'intestazione dell'oggetto NDIS, formattata come struttura NDIS_OBJECT_HEADER.
Valore restituito
NdisMGetOffloadHandlers può restituire uno dei seguenti elementi:
Codice restituito | Descrizione |
---|---|
|
Chiamata riuscita. I punti di ingresso NDIS restituiti sono validi per il tipo di camino specificato. |
|
NDIS non supporta il tipo di camino specificato dalla destinazione di offload. In questo caso, NDIS non restituisce un puntatore OffloadHandlers valido. |
Osservazioni
La destinazione di offload chiama questa funzione dalla relativa funzione MiniportInitializeEx per ottenere i punti di ingresso delle funzioni NDIS per un particolare tipo di camino. La destinazione offload chiama NdisMGetOffloadHandlers una volta per ogni tipo di camino supportato. In ogni chiamata, la destinazione offload specifica un tipo di camino diverso.
Se la chiamata alla funzione di NdisMGetOffloadHandlers ha esito positivo, NDIS fornisce un puntatore OffloadHandlers valido, che punta a una struttura NDIS_OFFLOAD_EVENT_HANDLERS. Questa struttura contiene una struttura NDIS_OBJECT_HEADER. La destinazione di offload esamina i membri Type, Revisione Size della struttura di NDIS_OBJECT_HEADER. Questi membri specificano la struttura che contiene i punti di ingresso specifici del camino, il numero di revisione di questa struttura e le dimensioni di questa struttura in byte. Il valore Type è lo stesso valore fornito dalla destinazione offload fornita per il parametro ChimneyType.
Se la destinazione di offload supporta il numero di revisioni specificato, esegue il cast del puntatore offloadHandlers al puntatore al tipo di struttura specifico del camino appropriato. La tabella seguente indica la struttura specifica del camino per ogni tipo di camino.
ChimneyType | Struttura dei gestori specifici del camino |
---|---|
NdisTcpChimneyOffload | NDIS_TCP_OFFLOAD_EVENT_HANDLERS |
Ad esempio, per il NdisTcpChimneyOffload tipo di camino, la destinazione offload esegue il cast del puntatore OffloadHandlers a *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS.
La struttura dei gestori specifici del camino contiene la stessa struttura NDIS_OBJECT_HEADER della struttura NDIS_OFFLOAD_EVENT_HANDLERS.
La destinazione di offload copia i punti di ingresso dalla struttura specifica del camino nella propria struttura di dati interna e quindi restituisce.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | ndischimney.h (include Ndischimney.h) |