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 :
En-tête
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 |
---|---|
|
L’appel a réussi. Les points d’entrée NDIS retournés sont valides pour le type de cheminée spécifié. |
|
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) |