Synchronisation des ressources FCB
Les ressources de synchronisation qui intéressent les pilotes de mini-redirecteur sont principalement associées au FCB. Il existe une ressource d’E/S de pagination et une ressource régulière. La ressource d’E/S de pagination est gérée en interne par RDBSS. La seule ressource accessible aux pilotes de mini-redirecteur est la ressource régulière, qui doit être accessible à l’aide des routines fournies suivantes :
Routine | Description |
---|---|
Cette routine acquiert la ressource FCB en mode exclusif. Cette routine attend que la ressource FCB soit gratuite si elle a été précédemment acquise ; cette routine ne retourne pas le contrôle tant que la ressource exclusive n’a pas été acquise. Cette routine acquiert la ressource FCB même si la structure RX_CONTEXT associée à ce FCB a été annulée. |
|
Cette routine acquiert la ressource FCB en mode partagé. Cette routine attendra que la ressource FCB soit gratuite si elle a été acquise auparavant exclusivement ; cette routine ne retourne pas le contrôle tant que la ressource partagée n’a pas été acquise. Cette routine acquiert la ressource FCB même si la structure RX_CONTEXT associée à ce FCB a été annulée. |
|
RxAcquireSharedFcbResourceInMRxEx | Cette routine acquiert la ressource FCB en mode partagé. Cette routine attendra que la ressource FCB soit gratuite si elle a été acquise auparavant exclusivement ; cette routine ne retourne pas le contrôle tant que la ressource partagée n’a pas été acquise. Cette routine acquiert la ressource FCB même si la structure RX_CONTEXT associée à ce FCB a été annulée. Cette routine est disponible uniquement sur Windows Server 2003 Service Pack 1 (SP1) et versions ultérieures. |
RxReleaseFcbResourceForThreadInMRx | Cette routine libère la ressource FCB précédemment acquise à l’aide de RxAcquireSharedFcbResourceInMRxEx. Cette routine est disponible uniquement sur Windows Server 2003 Service Pack 1 et versions ultérieures. |
Cette routine libère la ressource FCB précédemment acquise à l’aide de RxAcquireExclusiveFcbResourceInMRx ou RxAcquireSharedFcbResourceInMRx. |
Les macros suivantes sont définies dans le fichier d’en-tête rxprocs.h pour déterminer si le thread actuel a accès à la ressource régulière FCB.
Macro | Description |
---|---|
RxFcbAcquiredShared (RXCONTEXT, FCB) |
Cette macro vérifie si le thread actuel a accès à la ressource régulière en mode partagé. Cette macro appelle la routine ExIsResourceAcquiredSharedLite . |
RxIsFcbAcquiredShared (FCB) |
Cette macro vérifie si le thread actuel a accès à la ressource régulière en mode partagé. Cette macro appelle la routine ExIsResourceAcquiredSharedLite . |
RxIsFcbAcquiredExclusive (FCB) |
Cette macro vérifie si le thread actuel a accès à la ressource régulière en mode exclusif. Cette macro appelle la routine ExIsResourceAcquiredExclusiveLite . |
RxIsFcbAcquired (FCB) |
Cette macro vérifie si le thread actuel a accès à la ressource régulière en mode partagé ou exclusif. Cette macro appelle la routine ExIsResourceAcquiredSharedLite et ExIsResourceAcquiredExclusiveLite . |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour