Fonction StorPortIssueDpc (storport.h)
La routine StorPortIssueDpc émet un appel de procédure différée (DPC).
Syntaxe
BOOLEAN StorPortIssueDpc(
[in] PVOID DeviceExtension,
[in] PSTOR_DPC Dpc,
[in] PVOID SystemArgument1,
[in] PVOID SystemArgument2
);
Paramètres
[in] DeviceExtension
Pointeur vers l’extension de périphérique par adaptateur.
[in] Dpc
Pointeur vers une mémoire tampon contenant un objet DPC initialisé de type STOR_DPC retourné par la routine StorPortInitializeDpc .
[in] SystemArgument1
Pointeur vers les informations fournies par l’appelant qui seront passées à la routine différée.
[in] SystemArgument2
Pointeur vers les informations fournies par l’appelant qui seront passées à la routine différée.
Valeur retournée
La routine StorPortIssueDpc retourne TRUE si la DPC a été correctement insérée dans la file d’attente DPC, et FALSE dans le cas contraire.
Remarques
La routine StorPortIssueDpc appelle la routine du noyau KeInsertQueueDpc pour mettre en file d’attente la DPC. La routine du noyau KeInsertQueueDpc n’autorise pas la mise en file d’attente d’un DPC plusieurs fois. Ainsi, si l’objet DPC spécifié par le paramètre Dpc se trouve déjà dans la file d’attente DPC, KeInsertQueueDpc ignore la demande de file d’attente. Cela garantit qu’une routine différée initialisée avec StorPortInitializeDpc est toujours synchronisée avec elle-même. En d’autres termes, l’appelant n’a pas besoin de séquentieliser les appels à la routine StorPortIssueDpc pour s’assurer que plusieurs instances de la routine ne s’exécutent pas simultanément.
Si un pilote miniport comporte plusieurs éléments de travail qui doivent être exécutés par le même DPC, le pilote miniport doit s’assurer que chaque élément de travail se termine avant d’émettre le DPC pour l’élément de travail suivant.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | storport.h (inclure Storport.h) |