Fonction NdisMGetOffloadHandlers (ndischimney.h)

[La fonctionnalité de déchargement de la cheminée TCP est déconseillée et ne doit pas être utilisée.]

Cette fonction obtient les points d’entrée des fonctions NDIS pour un type de cheminée particulier.

Syntaxe

NDIS_STATUS NdisMGetOffloadHandlers(
  [in]  IN NDIS_HANDLE                   NdisMiniportHandle,
  [in]  IN NDIS_CHIMNEY_OFFLOAD_TYPE     ChimneyType,
  [out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);

Paramètres

[in] NdisMiniportHandle

Handle vers une zone de contexte qui décharge la cible allouée dans laquelle la cible de déchargement conserve les informations d’état sur cette instance de l’adaptateur. La cible de déchargement a fourni ce handle à NDIS lors de l’appel NdisMSetMiniportAttributes à partir de son Fonction MiniportInitializeEx .

[in] ChimneyType

Type de cheminée qui est l’une des valeurs NDIS_CHIMNEY_OFFLOAD_TYPE suivantes :

NdisTcpChimneyOffload

Type de déchargement de la cheminée TCP.

Toutes les autres valeurs NDIS_CHIMNEY_OFFLOAD_TYPE sont actuellement réservées.

[out] OffloadHandlers

Pointeur vers une variable fournie par la cible de déchargement. La taille de cette variable est sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS). Si l’appel à la fonction NdisMGetOffloadHandlers réussit, la fonction retourne, dans cette variable, un pointeur vers une structure NDIS_OFFLOAD_EVENT_HANDLERS. Cette structure sert d’en-tête pour la structure spécifique à la cheminée qui contient les points d’entrée. La structure NDIS_OFFLOAD_EVENT_HANDLERS est mise en forme comme suit :

typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
  NDIS_OBJECT_HEADER  Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;

Cette structure contient le membre suivant :

Spécifie un en-tête d’objet NDIS, qui est mis en forme en tant que structure NDIS_OBJECT_HEADER .

Valeur retournée

NdisMGetOffloadHandlers peut retourner l’un des éléments suivants :

Code de retour Description
STATUS_SUCCESS
L’appel a réussi. Les points d’entrée NDIS retournés sont valides pour le type de cheminée spécifié.
STATUS_NOT_SUPPORTED
NDIS ne prend pas en charge le type de cheminée spécifié par la cible de déchargement. Dans ce cas, NDIS ne retourne pas de pointeur OffloadHandlers valide.

Remarques

La cible de déchargement appelle cette fonction à partir de sa fonction MiniportInitializeEx pour obtenir les points d’entrée des fonctions NDIS pour un type de cheminée particulier. La cible de déchargement appelle NdisMGetOffloadHandlers une fois pour chaque type de cheminée qu’elle prend en charge. Dans chaque appel, la cible de déchargement spécifie un type de cheminée différent.

Si l’appel à la fonction NdisMGetOffloadHandlers réussit, NDIS fournit un pointeur OffloadHandlers valide, qui pointe vers une structure NDIS_OFFLOAD_EVENT_HANDLERS. Cette structure contient une structure NDIS_OBJECT_HEADER . La cible de déchargement examine les membres Type, Revision et Size de la structure NDIS_OBJECT_HEADER. Ces membres spécifient la structure qui contient les points d’entrée spécifiques à la cheminée, le numéro de révision de cette structure et la taille de cette structure en octets. La valeur Type est la même que la cible de déchargement fournie pour le paramètre ChimneyType .

Si la cible de déchargement prend en charge le numéro de révision spécifié, elle projette le pointeur OffloadHandlers vers un pointeur vers le type de structure propre à la cheminée approprié. Le tableau suivant indique la structure spécifique à la cheminée pour chaque type de cheminée.

ChimneyType Structure des gestionnaires spécifiques à la cheminée
NdisTcpChimneyOffload NDIS_TCP_OFFLOAD_EVENT_HANDLERS
 

Par exemple, pour le type de cheminée NdisTcpChimneyOffload , la cible de déchargement renvoie le pointeur OffloadHandlers vers *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS.

La structure des gestionnaires spécifiques à la cheminée contient la même structure NDIS_OBJECT_HEADER que la structure NDIS_OFFLOAD_EVENT_HANDLERS.

La cible de déchargement copie les points d’entrée de la structure spécifique à la cheminée dans sa propre structure de données interne, puis retourne.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ndischimney.h (inclure Ndischimney.h)

Voir aussi

MiniportInitializeEx

NDIS_OBJECT_HEADER

NDIS_TCP_OFFLOAD_EVENT_HANDLERS

NdisMSetMiniportAttributes