Partager via


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

RxAcquireExclusiveFcbResourceInMRx

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.

RxAcquireSharedFcbResourceInMRx

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.

RxReleaseFcbResourceInMRx

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 .