Condividi tramite


Sincronizzazione risorse FCB

Le risorse di sincronizzazione di interesse per i driver mini-redirector sono principalmente associate al fcB. È presente una risorsa di I/O di paging e una risorsa regolare. La risorsa di I/O di paging viene gestita internamente da RDBSS. L'unica risorsa accessibile ai driver mini-redirector è la risorsa regolare, che deve essere accessibile usando le routine fornite di seguito:

Routine Descrizione

RxAcquireExclusiveFcbResourceInMRx

Questa routine acquisisce la risorsa FCB in modalità esclusiva. Questa routine attende che la risorsa FCB sia libera se è stata acquisita in precedenza; questa routine non restituisce il controllo finché non è stata acquisita la risorsa esclusiva. Questa routine acquisisce la risorsa FCB anche se la struttura di RX_CONTEXT associata a questo fcB è stata annullata.

RxAcquireSharedFcbResourceInMRx

Questa routine acquisisce la risorsa FCB in modalità condivisa. Questa routine attende che la risorsa FCB sia libera se è stata acquisita in precedenza esclusivamente; questa routine non restituisce il controllo finché non è stata acquisita la risorsa condivisa. Questa routine acquisisce la risorsa FCB anche se la struttura di RX_CONTEXT associata a questo fcB è stata annullata.

RxAcquireSharedFcbResourceInMRxEx

Questa routine acquisisce la risorsa FCB in modalità condivisa. Questa routine attende che la risorsa FCB sia libera se è stata acquisita in precedenza esclusivamente; questa routine non restituisce il controllo finché non è stata acquisita la risorsa condivisa. Questa routine acquisisce la risorsa FCB anche se la struttura di RX_CONTEXT associata a questo fcB è stata annullata.

Questa routine è disponibile solo in Windows Server 2003 Service Pack 1 (SP1) e versioni successive.

RxReleaseFcbResourceForThreadInMRx

Questa routine libera la risorsa FCB acquisita in precedenza usando RxAcquireSharedFcbResourceInMRxEx.

Questa routine è disponibile solo in Windows Server 2003 Service Pack 1 e versioni successive.

RxReleaseFcbResourceInMRx

Questa routine libera la risorsa FCB acquisita in precedenza usando RxAcquireExclureExclusiveFcbResourceInMRx o RxAcquireSharedFcbResourceInMRx.

Le macro seguenti sono definite nel file di intestazione rxprocs.h per determinare se il thread corrente ha accesso alla risorsa regolare fcB.

Macro Descrizione

RxFcbAcquiredShared (RXCONTEXT, FCB)

Questa macro controlla se il thread corrente ha accesso alla risorsa regolare in modalità condivisa. Questa macro chiama la routine ExIsResourceAcquiredSharedLite .

RxIsFcbAcquiredShared (FCB)

Questa macro controlla se il thread corrente ha accesso alla risorsa regolare in modalità condivisa. Questa macro chiama la routine ExIsResourceAcquiredSharedLite .

RxIsFcbAcquiredExclusive (FCB)

Questa macro verifica se il thread corrente ha accesso alla risorsa regolare in modalità esclusiva. Questa macro chiama la routine ExIsResourceAcquiredExclusiveLite .

RxIsFcbAcquired (FCB)

Questa macro verifica se il thread corrente ha accesso alla risorsa regolare in modalità condivisa o esclusiva. Questa macro chiama la routine ExIsResourceAcquiredSharedLite e ExIsResourceAcquiredExclusiveLite .