Partager via


NdisAllocateCloneOidRequest, fonction (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

Handle NDIS qui identifie un module de filtre ou la liaison de protocole d’un pilote intermédiaire.

OidRequest

Pointeur vers une structure 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 autant 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 NDIS_OID_REQUEST cloné ; sinon, NDIS définit la valeur du pointeur sur NULL.

Valeur de retour

NdisAllocateClonedRequest pouvez retourner l’une des valeurs d’état suivantes :

Retourner le code Description
NDIS_STATUS_SUCCESS
NDIS a correctement alloué une structure de 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é à SourceHandle n’est pas valide.
NDIS_STATUS_RESOURCES
La demande d’allocation a échoué, car NDIS n’avait pas suffisamment de ressources pour terminer 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 le bas vers les pilotes sous-jacents, un pilote intermédiaire NDIS ou un pilote de filtre doit appeler NdisAllocateCloneOidRequest pour allouer une structure de NDIS_OID_REQUEST clonée. Un pilote de filtre ou un pilote intermédiaire ne doit pas transférer la structure de NDIS_OID_REQUEST d’origine aux pilotes sous-jacents.

NdisAllocateCloneOidRequest alloue de nouvelles mémoires 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.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
plateforme cible Bureau
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_OID_Function(ndis)

Voir aussi

NDIS_OID_REQUEST

NdisFreeCloneOidRequest