Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The synchronization resources of interest to mini-redirector drivers are primarily associated with the FCB. There is a paging I/O resource and a regular resource. The paging I/O resource is managed internally by RDBSS. The only resource accessible to mini-redirector drivers is the regular resource, which should be accessed using the following supplied routines:
Routine | Description |
---|---|
This routine acquires the FCB resource in the exclusive mode. This routine will wait for the FCB resource to be free if it was previously acquired; this routine does not return control until the exclusive resource has been acquired. This routine acquires the FCB resource even if the RX_CONTEXT structure associated with this FCB has been canceled. |
|
This routine acquires the FCB resource in shared mode. This routine will wait for the FCB resource to be free if it was previously acquired exclusively; this routine does not return control until the shared resource has been acquired. This routine acquires the FCB resource even if the RX_CONTEXT structure associated with this FCB has been canceled. |
|
RxAcquireSharedFcbResourceInMRxEx | This routine acquires the FCB resource in shared mode. This routine will wait for the FCB resource to be free if it was previously acquired exclusively; this routine does not return control until the shared resource has been acquired. This routine acquires the FCB resource even if the RX_CONTEXT structure associated with this FCB has been canceled. This routine is only available on Windows Server 2003 Service Pack 1 (SP1) and later. |
RxReleaseFcbResourceForThreadInMRx | This routine frees the FCB resource previously acquired using RxAcquireSharedFcbResourceInMRxEx. This routine is only available on Windows Server 2003 Service Pack 1 and later. |
This routine frees the FCB resource previously acquired using RxAcquireExclusiveFcbResourceInMRx or RxAcquireSharedFcbResourceInMRx. |
The following macros are defined in the rxprocs.h header file to determine whether the current thread has access to the FCB regular resource.
Macro | Description |
---|---|
RxFcbAcquiredShared (RXCONTEXT, FCB) |
This macro checks if the current thread has access to the regular resource in shared mode. This macro calls the ExIsResourceAcquiredSharedLite routine. |
RxIsFcbAcquiredShared (FCB) |
This macro checks if the current thread has access to the regular resource in shared mode. This macro calls the ExIsResourceAcquiredSharedLite routine. |
RxIsFcbAcquiredExclusive (FCB) |
This macro checks if the current thread has access to the regular resource in exclusive mode. This macro calls the ExIsResourceAcquiredExclusiveLite routine. |
RxIsFcbAcquired (FCB) |
This macro checks if the current thread has access to the regular resource in either shared or exclusive mode. This macro calls the ExIsResourceAcquiredSharedLite and ExIsResourceAcquiredExclusiveLite routine. |