Sincronización de recursos de FCB
Los recursos de sincronización de interés para los controladores de minidirector se asocian principalmente con el FCB. Hay un recurso de E/S de paginación y un recurso normal. RDBSS administra internamente el recurso de E/S de paginación. El único recurso al que se puede acceder a los controladores de minidirector es el recurso normal, al que se debe tener acceso mediante las siguientes rutinas proporcionadas:
Rutina | Descripción |
---|---|
Esta rutina adquiere el recurso FCB en el modo exclusivo. Esta rutina esperará a que el recurso FCB sea libre si se adquirió anteriormente; esta rutina no devuelve el control hasta que se haya adquirido el recurso exclusivo. Esta rutina adquiere el recurso FCB incluso si se ha cancelado la estructura de RX_CONTEXT asociada a este FCB. |
|
Esta rutina adquiere el recurso FCB en modo compartido. Esta rutina esperará a que el recurso FCB sea libre si se adquirió previamente exclusivamente; esta rutina no devuelve el control hasta que se haya adquirido el recurso compartido. Esta rutina adquiere el recurso FCB incluso si se ha cancelado la estructura de RX_CONTEXT asociada a este FCB. |
|
RxAcquireSharedFcbResourceInMRxEx | Esta rutina adquiere el recurso FCB en modo compartido. Esta rutina esperará a que el recurso FCB sea libre si se adquirió previamente exclusivamente; esta rutina no devuelve el control hasta que se haya adquirido el recurso compartido. Esta rutina adquiere el recurso FCB incluso si se ha cancelado la estructura de RX_CONTEXT asociada a este FCB. Esta rutina solo está disponible en Windows Server 2003 Service Pack 1 (SP1) y versiones posteriores. |
RxReleaseFcbResourceForThreadInMRx | Esta rutina libera el recurso FCB adquirido anteriormente mediante RxAcquireSharedFcbResourceInMRxEx. Esta rutina solo está disponible en Windows Server 2003 Service Pack 1 y versiones posteriores. |
Esta rutina libera el recurso FCB adquirido anteriormente mediante RxAcquireExclusiveFcbResourceInMRx o RxAcquireSharedFcbResourceInMRx. |
Las macros siguientes se definen en el archivo de encabezado rxprocs.h para determinar si el subproceso actual tiene acceso al recurso normal de FCB.
Macro | Descripción |
---|---|
RxFcbAcquiredShared (RXCONTEXT, FCB) |
Esta macro comprueba si el subproceso actual tiene acceso al recurso normal en modo compartido. Esta macro llama a la rutina ExIsResourceAcquiredSharedLite . |
RxIsFcbAcquiredShared (FCB) |
Esta macro comprueba si el subproceso actual tiene acceso al recurso normal en modo compartido. Esta macro llama a la rutina ExIsResourceAcquiredSharedLite . |
RxIsFcbAcquiredExclusive (FCB) |
Esta macro comprueba si el subproceso actual tiene acceso al recurso normal en modo exclusivo. Esta macro llama a la rutina ExIsResourceAcquiredExclusiveLite . |
RxIsFcbAcquired (FCB) |
Esta macro comprueba si el subproceso actual tiene acceso al recurso normal en modo compartido o exclusivo. Esta macro llama a la rutina ExIsResourceAcquiredSharedLite y ExIsResourceAcquiredExclusiveLite . |