Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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. |