StorPortIssueDpc, fonction (storport.h)
Le StorPortIssueDpc routine émet un appel de procédure différé (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 d’appareil 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 transmises à la routine différée.
[in] SystemArgument2
Pointeur vers les informations fournies par l’appelant qui seront transmises à la routine différée.
Valeur de retour
La routine StorPortIssueDpc retourne TRUE si la DPC a été correctement insérée dans la file d’attente DPC et FALSE sinon.
Remarques
La routine StorPortIssueDpc appelle la routine KeInsertQueueDpc de noyau pour mettre en file d’attente le DPC. La routine de noyau KeInsertQueueDpc ne permet pas à un DPC d’être mis en file d’attente plusieurs fois. Par conséquent, 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 vers la routine StorPortIssueDpc pour s’assurer que plusieurs instances de la routine ne s’exécutent pas simultanément.
Si un pilote miniport a plusieurs éléments de travail qui doivent être effectué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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | storport.h (include Storport.h) |