Partager via


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)

Voir aussi

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc