FILTER_CANCEL_DIRECT_OID_REQUEST fonction de rappel (ndis.h)

NDIS appelle la fonction FilterCancelDirectOidRequest d’un pilote de filtre pour annuler une requête OID directe.

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

Syntaxe

FILTER_CANCEL_DIRECT_OID_REQUEST FilterCancelDirectOidRequest;

void FilterCancelDirectOidRequest(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PVOID RequestId
)
{...}

Paramètres

[in] FilterModuleContext

Handle de la zone de contexte pour le module de filtre qui est la cible de cette requête. Le pilote de filtre a créé et initialisé cette zone de contexte dans la fonction FilterAttach .

[in] RequestId

Identificateur d’annulation de la demande. Cet identificateur spécifie les requêtes OID directes qui correspondent à cette valeur dans le membre RequestId de la structure NDIS_OID_REQUEST .

Valeur de retour

None

Remarques

FilterCancelDirectOidRequest 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 .

Lorsque NDIS appelle FilterCancelDirectOidRequest, le pilote de filtre doit tenter d’appeler Fonction NdisFDirectOidRequestComplete dès que possible.

Si un pilote de filtre ne met pas en file d’attente les requêtes OID directes, il n’est pas nécessaire de fournir une fonction FilterCancelDirectOidRequest . Si le pilote de filtre ne spécifie pas de point d’entrée FilterCancelDirectOidRequest , NDIS appelle la fonction de requête OID d’annulation du pilote sous-jacent.

NDIS appelle la fonction FilterCancelDirectOidRequest lorsque l’initiateur de la demande annule therequest.

Si le traitement de la demande n’est toujours pas terminé dans un pilote de filtre, le pilote appelle la fonction NdisFDirectOidRequestComplete avec le status défini sur NDIS_STATUS_REQUEST_ABORTED.

Si le pilote de filtre a transféré la demande à un pilote sous-jacent et que le traitement n’est toujours pas terminé, le pilote de filtre appelle le Fonction NdisFCancelDirectOidRequest avec le paramètre OidRequest défini sur la valeur qu’il a envoyée au pilote sous-jacent.

NDIS appelle FilterCancelDirectOidRequest à IRQL <= DISPATCH_LEVEL.

Exemples

Pour définir une fonction FilterCancelDirectOidRequest , 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 FilterCancelDirectOidRequest nommée « MyCancelDirectOidRequest », utilisez le type FILTER_CANCEL_DIRECT_OID_REQUEST comme illustré dans cet exemple de code :

FILTER_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;

Ensuite, implémentez votre fonction comme suit :

_Use_decl_annotations_
VOID
 MyCancelDirectOidRequest(
    NDIS_HANDLE  FilterModuleContext,
    PVOID  RequestId
    )
  {...}

Le type de fonction FILTER_CANCEL_DIRECT_OID_REQUEST 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_CANCEL_DIRECT_OID_REQUEST 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
Règles de conformité DDI SpinLock(ndis),SpinLockBalanced(ndis), SpinLockDpr(ndis)

Voir aussi

FilterAttach

NDIS_OID_REQUEST

NdisFCancelDirectOidRequest

NdisFDirectOidRequestComplete

NdisFRegisterFilterDriver