Fonction NdisAllocateCloneOidRequest (ndis.h)

La fonction NdisAllocateCloneOidRequest alloue de la mémoire pour une nouvelle structure NDIS_OID_REQUEST et copie toutes les informations d’une structure NDIS_OID_REQUEST existante vers la structure nouvellement allouée.

Syntaxe

NDIS_STATUS NdisAllocateCloneOidRequest(
  [in] IN NDIS_HANDLE        SourceHandle,
       IN PNDIS_OID_REQUEST  OidRequest,
  [in] IN UINT               PoolTag,
       OUT PNDIS_OID_REQUEST *ClonedOidRequest
);

Paramètres

[in] SourceHandle

Un handle NDIS qui identifie une liaison de protocole d’un module de filtre ou d’un pilote intermédiaire.

OidRequest

Pointeur vers une structure de NDIS_OID_REQUEST existante à partir de laquelle NDIS copie les informations dans la structure nouvellement allouée.

[in] PoolTag

Balise de pool de noyau. La balise est une chaîne, délimitée par des guillemets simples, avec un maximum de quatre caractères, généralement spécifiés dans l’ordre inverse.

ClonedOidRequest

Pointeur vers un pointeur vers une structure NDIS_OID_REQUEST. Si NDIS retourne NDIS_STATUS_SUCCESS, NDIS fournit un pointeur vers la nouvelle structure de NDIS_OID_REQUEST cloné ; sinon, NDIS définit la valeur du pointeur sur NULL.

Valeur retournée

NdisAllocateClonedRequest peut retourner l’une des valeurs status suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS
NDIS a correctement alloué une structure NDIS_OID_REQUEST. Le paramètre CloneRequest contient un pointeur vers la structure NDIS_OID_REQUEST.
NDIS_STATUS_INVALID_PARAMETER
La demande d’allocation a échoué, car le handle NDIS spécifié dans SourceHandle n’est pas valide.
NDIS_STATUS_RESOURCES
La demande d’allocation a échoué, car NDIS ne disposait pas de ressources suffisantes pour effectuer la demande d’allocation.
NDIS_STATUS_FAILURE
Le pilote n’a pas pu allouer la structure cloné pour des raisons autres que celles de la liste précédente.

Remarques

Pour transférer une requête vers les pilotes sous-jacents, un pilote intermédiaire ou un pilote de filtre NDIS doit appeler NdisAllocateCloneOidRequest pour allouer une structure NDIS_OID_REQUEST clonée. Un pilote de filtre ou un pilote intermédiaire ne doit pas transférer la structure NDIS_OID_REQUEST d’origine aux pilotes sous-jacents.

NdisAllocateCloneOidRequest alloue une nouvelle mémoire et copie les données d’une structure NDIS_OID_REQUEST existante vers la nouvelle structure.

Le pilote doit ensuite appeler la fonction NdisFreeCloneOidRequest pour libérer la structure NDIS_OID_REQUEST.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI Irql_OID_Function(ndis)

Voir aussi

NDIS_OID_REQUEST

NdisFreeCloneOidRequest