Partager via


KIPI_BROADCAST_WORKER fonction de rappel (wdm.h)

La routine IpiGenericCall s’exécute simultanément sur tous les processeurs.

Syntaxe

KIPI_BROADCAST_WORKER KipiBroadcastWorker;

ULONG_PTR KipiBroadcastWorker(
  [in] ULONG_PTR Argument
)
{...}

Paramètres

[in] Argument

Fournit la valeur passée à la routine KeIpiGenericCall appelée IpiGenericCall.

Valeur de retour

IpiGenericCall retourne une valeur définie par le pilote. Si IpiGenericCall exécuté sur le même processeur que celui appelé KeIpiGenericCall, KeIpiGenericCall retourne la valeur définie par le pilote qui IpiGenericCall retourne. Sinon, la valeur est ignorée.

Remarques

routines IpiGenericCall s’exécutent à IRQL = IPI_LEVEL, qui est supérieure à DIRQL pour chaque appareil. routines IpiGenericCall doivent respecter les mêmes restrictions que les routines de rappel de vérification des bogues. Pour plus d’informations sur ces restrictions, consultez Écriture d’une routine de rappel de vérification des bogues.

Exemples

Pour définir une routine de rappel IpiGenericCall, vous devez d’abord fournir une déclaration de fonction qui identifie le type de routine de rappel que vous définissez. Windows fournit un ensemble de types de fonctions de rappel pour les pilotes. La déclaration d’une fonction à l’aide des types de fonctions de rappel permet d'Analyse du code pour les pilotes, static Driver Verifier (SDV) et d’autres outils de vérification recherchent des erreurs, et il est nécessaire d’écrire des pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une routine de rappel IpiGenericCall nommée MyIpiGenericCall, utilisez le type KIPI_BROADCAST_WORKER comme indiqué dans cet exemple de code :

KIPI_BROADCAST_WORKER MyIpiGenericCall;

Ensuite, implémentez votre routine de rappel comme suit :

_Use_decl_annotations_
ULONG_PTR
  MyIpiGenericCall(
    ULONG_PTR  Argument
    )
  {
      // Function body
  }

Le type de fonction KIPI_BROADCAST_WORKER est défini dans le fichier d’en-tête Wdm.h. Pour identifier plus précisément les erreurs lorsque vous exécutez les 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 KIPI_BROADCAST_WORKER dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur les exigences relatives aux déclarations de fonction, consultez déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes WDM. Pour plus d’informations sur _Use_decl_annotations_, consultez annoter le comportement de la fonction.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL Appelé à IPI_LEVEL.

Voir aussi

KeIpiGenericCall