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 |
---|---|
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. |
|
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. |
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 . |