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 a correctement alloué une structure de 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é à SourceHandle n’est pas valide. |
|
La demande d’allocation a échoué, car NDIS n’avait pas suffisamment de ressources pour terminer 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 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.