Partager via


StorPortSynchronizeAccess, fonction (storport.h)

La routine StorPortSynchronizeAccess fournit un accès synchronisé à l’extension de périphérique d’un pilote miniport.

Syntaxe

STORPORT_API BOOLEAN StorPortSynchronizeAccess(
  [in]           PVOID                     HwDeviceExtension,
  [in]           PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
  [in, optional] PVOID                     Context
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes miniport stockent généralement des informations spécifiques à l’adaptateur HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées pour l’adaptateur HBA. Cette zone est disponible pour le pilote miniport immédiatement après l’appel du pilote miniport StorPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.

[in] SynchronizedAccessRoutine

Pointeur vers une routine fournie par l’appelant dont l’exécution doit être synchronisée avec l’exécution de l’ISR associée aux objets d’interruption. Pour un prototype de cette routine, consultez la section Remarques plus loin dans cette rubrique.

[in, optional] Context

Pointeur vers une zone de contexte à passer à la routine de rappel fournie par l’appelant lorsqu’elle est appelée.

Valeur de retour

Valeur de retour de SynchronizedAccessRoutine.

Remarques

Les pilotes miniports qui fonctionnent en mode duplex intégral et qui accèdent aux informations partagées entre leurs HwStorStartIo routine et de service d’interruption, doivent utiliser cette routine pour accéder aux données partagées de manière synchronisée.

Le pilote miniport transmet une routine de rappel à StorPortSynchronizeAccess, et StorPortSynchronizeAccess l’appelle après avoir garanti un accès exclusif aux structures de données sensibles. La routine de rappel du pilote miniport doit être conforme au prototype suivant :

typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
  IN PVOID HwDeviceExtension,
 IN PVOID Context
  );

HwDeviceExtension est un pointeur vers l’extension de périphérique matériel, et Contexte est simplement un pointeur vers les mêmes informations de contexte fournies par l’appelant lors de l’appel StorPortSynchronizeAccess.

Pour plus d’informations, consultez Accès synchronisé dans les routines de pilotes Miniport non synchronisés.

Pour plus d’informations sur les routines de synchronisation, consultez KeSynchronizeExecution.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête storport.h (include Storport.h)
bibliothèque Storport.lib

Voir aussi

KeSynchronizeExecution