Partager via


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)

Voir aussi

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc