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 a correctement alloué une structure NDIS_OID_REQUEST. Le paramètre CloneRequest contient un pointeur vers la structure NDIS_OID_REQUEST. |
|
La demande d’allocation a échoué, car le handle NDIS spécifié dans SourceHandle n’est pas valide. |
|
La demande d’allocation a échoué, car NDIS ne disposait pas de ressources suffisantes pour effectuer la demande d’allocation. |
|
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) |