Freigeben über


FCB-Ressourcensynchronisierung

Die Synchronisierungsressourcen, die für Mini-Redirectortreiber von Interesse sind, sind in erster Linie dem FCB zugeordnet. Es gibt eine E/A-Ressource für Paging und eine reguläre Ressource. Die E/A-Pagingressource wird intern von RDBSS verwaltet. Die einzige Ressource, auf die Miniumleitungstreiber zugreifen können, ist die reguläre Ressource, auf die mithilfe der folgenden bereitgestellten Routinen zugegriffen werden sollte:

-Routine zurückgegebener Wert BESCHREIBUNG

RxAcquireExclusiveFcbResourceInMRx

Diese Routine ruft die FCB-Ressource im exklusiven Modus ab. Diese Routine wartet, bis die FCB-Ressource frei ist, wenn sie zuvor erworben wurde; Diese Routine gibt erst dann die Kontrolle zurück, wenn die exklusive Ressource abgerufen wurde. Diese Routine ruft die FCB-Ressource ab, auch wenn die RX_CONTEXT Struktur, die diesem FCB zugeordnet ist, abgebrochen wurde.

RxAcquireSharedFcbResourceInMRx

Diese Routine ruft die FCB-Ressource im freigegebenen Modus ab. Diese Routine wartet darauf, dass die FCB-Ressource kostenlos ist, wenn sie zuvor ausschließlich erworben wurde; Diese Routine gibt erst dann die Kontrolle zurück, wenn die freigegebene Ressource abgerufen wurde. Diese Routine ruft die FCB-Ressource ab, auch wenn die RX_CONTEXT Struktur, die diesem FCB zugeordnet ist, abgebrochen wurde.

RxAcquireSharedFcbResourceInMRxEx

Diese Routine ruft die FCB-Ressource im freigegebenen Modus ab. Diese Routine wartet darauf, dass die FCB-Ressource kostenlos ist, wenn sie zuvor ausschließlich erworben wurde; Diese Routine gibt erst dann die Kontrolle zurück, wenn die freigegebene Ressource abgerufen wurde. Diese Routine ruft die FCB-Ressource ab, auch wenn die RX_CONTEXT Struktur, die diesem FCB zugeordnet ist, abgebrochen wurde.

Diese Routine ist nur unter Windows Server 2003 Service Pack 1 (SP1) und höher verfügbar.

RxReleaseFcbResourceForThreadInMRx

Diese Routine gibt die FCB-Ressource frei, die zuvor mit RxAcquireSharedFcbResourceInMRxEx abgerufen wurde.

Diese Routine ist nur unter Windows Server 2003 Service Pack 1 und höher verfügbar.

RxReleaseFcbResourceInMRx

Diese Routine gibt die FCB-Ressource frei, die zuvor mit RxAcquireExclusiveFcbResourceInMRx oder RxAcquireSharedFcbResourceInMRx abgerufen wurde.

Die folgenden Makros werden in der Headerdatei rxprocs.h definiert, um zu bestimmen, ob der aktuelle Thread Zugriff auf die reguläre FCB-Ressource hat.

Makro Beschreibung

RxFcbAcquiredShared (RXCONTEXT, FCB)

Dieses Makro überprüft, ob der aktuelle Thread Zugriff auf die reguläre Ressource im freigegebenen Modus hat. Dieses Makro ruft die ExIsResourceAcquiredSharedLite-Routine auf.

RxIsFcbAcquiredShared (FCB)

Dieses Makro überprüft, ob der aktuelle Thread Zugriff auf die reguläre Ressource im freigegebenen Modus hat. Dieses Makro ruft die ExIsResourceAcquiredSharedLite-Routine auf.

RxIsFcbAcquiredExclusive (FCB)

Dieses Makro überprüft, ob der aktuelle Thread Zugriff auf die reguläre Ressource im exklusiven Modus hat. Dieses Makro ruft die ExIsResourceAcquiredExclusiveLite-Routine auf.

RxIsFcbAcquired (FCB)

Mit diesem Makro wird überprüft, ob der aktuelle Thread im freigegebenen oder exklusiven Modus Zugriff auf die reguläre Ressource hat. Dieses Makro ruft die Routinen ExIsResourceAcquiredSharedLite und ExIsResourceAcquiredExclusiveLite auf.