FILTER_DIRECT_OID_REQUEST_COMPLETE fonction de rappel (ndis.h)

NDIS appelle la fonction FilterDirectOidRequestComplete pour effectuer une requête OID directe du pilote de filtre qui interroge ou définit des informations dans un pilote sous-jacent.

Note Vous devez déclarer la fonction à l’aide du type FILTER_DIRECT_OID_REQUEST_COMPLETE . Pour plus d’informations, consultez la section Exemples suivante.
 

Syntaxe

FILTER_DIRECT_OID_REQUEST_COMPLETE FilterDirectOidRequestComplete;

void FilterDirectOidRequestComplete(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNDIS_OID_REQUEST OidRequest,
  [in] NDIS_STATUS Status
)
{...}

Paramètres

[in] FilterModuleContext

Handle de la zone de contexte du module de filtre. Le pilote de filtre a créé et initialisé cette zone de contexte dans la fonction FilterAttach .

[in] OidRequest

Pointeur vers la structure NDIS_OID_REQUEST que le pilote de filtre a précédemment passée au Fonction NdisFDirectOidRequest .

[in] Status

La dernière status de la requête qu’un pilote sous-jacent ou NDIS a défini. Ce paramètre détermine ce que FilterDirectOidRequestComplete fait avec les informations dans OidRequest . Pour obtenir la liste des valeurs status possibles, consultez les valeurs de retour de NdisFDirectOidRequest.

Valeur de retour

None

Remarques

FilterDirectOidRequestComplete est une fonction facultative. Si un pilote de filtre n’utilise pas de requêtes OID directes, il peut définir le point d’entrée de cette fonction sur NULL lorsqu’il appelle le Fonction NdisFRegisterFilterDriver . Si un pilote de filtre définit une fonction FilterDirectOidRequest , il doit fournir la fonction FilterDirectOidRequestComplete .

Si la fonction NdisFDirectOidRequest retourne NDIS_STATUS_PENDING, NDIS doit appeler la fonction FilterDirectOidRequestComplete pour terminer la requête OID.

Si un pilote de filtre a transféré une requête qu’il a reçue dans la fonction FilterDirectOidRequest ,
FilterDirectOidRequestComplete doit passer la saisie semi-automatique status la pile des pilotes en appelant le
Fonction NdisFDirectOidRequestComplete . Dans ce cas, le pilote de filtre doit appeler NdisFreeCloneOidRequest pour libérer la structure NDIS_OID_REQUEST , avant d’appeler
NdisFDirectOidRequestComplete.

Un pilote de filtre doit effectuer le suivi des requêtes qu’il provient et s’assurer qu’il n’appelle pas NdisFDirectOidRequestComplete lorsque NDIS appelle FilterDirectOidRequestComplete pour de telles demandes.

NDIS appelle FilterDirectOidRequestComplete à IRQL <= DISPATCH_LEVEL.

Exemples

Pour définir une fonction FilterDirectOidRequestComplete , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction permet à l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification de trouver les erreurs, et il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction FilterDirectOidRequestComplete nommée « MyDirectOidRequestComplete », utilisez le type FILTER_DIRECT_OID_REQUEST_COMPLETE comme indiqué dans cet exemple de code :

FILTER_DIRECT_OID_REQUEST_COMPLETE MyDirectOidRequestComplete;

Ensuite, implémentez votre fonction comme suit :

_Use_decl_annotations_
VOID
 MyDirectOidRequestComplete(
    NDIS_HANDLE  FilterModuleContext,
    PNDIS_OID_REQUEST  OidRequest,
    NDIS_STATUS Status
    )
  {...}

Le type de fonction FILTER_DIRECT_OID_REQUEST_COMPLETE est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction FILTER_DIRECT_OID_REQUEST_COMPLETE dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.

Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.1 et versions ultérieures.
Plateforme cible Windows
En-tête ndis.h (inclure Ndis.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

FilterAttach

FilterDirectOidRequest

NDIS_OID_REQUEST

NdisFDirectOidRequest

NdisFDirectOidRequestComplete

NdisFRegisterFilterDriver

NdisFreeCloneOidRequest